diff --git a/research/current-rounded-lambda/ARITHMETIC.json b/research/current-rounded-lambda/ARITHMETIC.json new file mode 100644 index 0000000000..f2cb3b7cbe --- /dev/null +++ b/research/current-rounded-lambda/ARITHMETIC.json @@ -0,0 +1,10 @@ +{ + "accepted": 1708, + "additional_endpoint_cases": 1536, + "exhaustive_width_1_2_cases": 544, + "oracle": "direct four signed integers; no table recurrence imported", + "stage_rows": { + "-1": 5275, + "1": 5275 + } +} diff --git a/research/current-rounded-lambda/COMPOSITION.json b/research/current-rounded-lambda/COMPOSITION.json new file mode 100644 index 0000000000..d987108e32 --- /dev/null +++ b/research/current-rounded-lambda/COMPOSITION.json @@ -0,0 +1,71 @@ +{ + "cases": [ + { + "accepted": true, + "actual_source_nine_axis": false, + "endpoint_sha256": "3953d77479ecd5ff46517c4312203154cc4d59a906b9aa1d5ce32200d323a1f0", + "error": null, + "f": 1, + "materialized_private_cells": 45478, + "ordinary_runtime_calls": 0, + "owned_ports": 1837, + "physical_actions": 5033209, + "q": 1, + "rank": 1, + "records": 16, + "sign": 1, + "width": 3 + }, + { + "accepted": false, + "actual_source_nine_axis": false, + "endpoint_sha256": "bdb5c260c467b45d7ae412fa679baa720d5eea7c1240095322b30edbfb37b358", + "error": "Lambda signed range or canonical format", + "f": 1, + "materialized_private_cells": 45478, + "ordinary_runtime_calls": 0, + "owned_ports": 1837, + "physical_actions": 5027459, + "q": 1, + "rank": 1, + "records": 16, + "sign": 1, + "width": 3 + }, + { + "accepted": true, + "actual_source_nine_axis": false, + "endpoint_sha256": "3953d77479ecd5ff46517c4312203154cc4d59a906b9aa1d5ce32200d323a1f0", + "error": null, + "f": 1, + "materialized_private_cells": 45478, + "ordinary_runtime_calls": 0, + "owned_ports": 1837, + "physical_actions": 5033209, + "q": 1, + "rank": 1, + "records": 16, + "sign": 1, + "width": 3 + }, + { + "accepted": true, + "actual_source_nine_axis": false, + "endpoint_sha256": "933f5416771fd022da257c253f8343a8b88001de28261285435fc19ed60904db", + "error": null, + "f": 1, + "materialized_private_cells": 45478, + "ordinary_runtime_calls": 0, + "owned_ports": 1837, + "physical_actions": 5033209, + "q": 1, + "rank": 1, + "records": 16, + "sign": -1, + "width": 3 + } + ], + "late_failure_public_and_context_restored": true, + "positive_and_negative_signs": true, + "whole_source_nine_axis_executed": false +} diff --git a/research/current-rounded-lambda/CONTROLS.json b/research/current-rounded-lambda/CONTROLS.json new file mode 100644 index 0000000000..0650617b6d --- /dev/null +++ b/research/current-rounded-lambda/CONTROLS.json @@ -0,0 +1,17 @@ +{ + "controls": [ + "global_vs_tensor_Lambda", + "rounding_not_sign_equivariant", + "late_public_write_protection" + ], + "detected_table_mutants": [ + "tie-down", + "omit-range" + ], + "typed_binding_controls": [ + "boolean_table_sign", + "boolean_provider_sign", + "boolean_site", + "boolean_port" + ] +} diff --git a/research/current-rounded-lambda/DEPENDENCIES.json b/research/current-rounded-lambda/DEPENDENCIES.json new file mode 100644 index 0000000000..49897e2cc2 --- /dev/null +++ b/research/current-rounded-lambda/DEPENDENCIES.json @@ -0,0 +1,1094 @@ +{ + "schema_version": 1, + "files": [ + { + "local_path": "vendor/serial/vendor/monomial/phase_binding.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/phase_binding.py", + "bytes": 3332, + "sha256": "7624e2421c4188f7339231263d6d8504bf7eb3acaf91dcfd745952b87a6f1cda", + "git_blob": "7f51953eb91c53fb7b6923d3278638e1857d69ac" + }, + { + "local_path": "vendor/serial/vendor/monomial/phase_adapter.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/phase_adapter.py", + "bytes": 9463, + "sha256": "42687d9cd5f8f4a964e2ddd79aa404432ff26f9ebb55e9c069bbba30f0c3044f", + "git_blob": "02f0fdc3ba178f13c27c97c36260107d2c0bba82" + }, + { + "local_path": "vendor/serial/vendor/monomial/selected_service.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/selected_service.py", + "bytes": 3608, + "sha256": "afd4ba2ae8f833e8a47456a8c2dc502fb3e12158601aba999b0d0994085bf4b0", + "git_blob": "fc3cbdc16be69eeab39e887e1d3a33ea21a80cb7" + }, + { + "local_path": "vendor/serial/vendor/monomial/DEPENDENCIES.json", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/DEPENDENCIES.json", + "bytes": 58515, + "sha256": "40f200759a2f56a13b3cbcd1f6de9e5d6eaf9125270a7fc5dc09b82c4b4c1ed1", + "git_blob": "cbe38bbf8f0b912daddfaf6f1eb69d89343ca8ec" + }, + { + "local_path": "vendor/serial/vendor/monomial/PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/PROOF.md", + "bytes": 24018, + "sha256": "5bd00e9764cb628cbd92a113419c2cd79c77ba81b1e15b04519026c26ff3091f", + "git_blob": "5bd585e03ce948261ef979b748a1c6df8cbc2fb4" + }, + { + "local_path": "vendor/serial/vendor/monomial/README.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/README.md", + "bytes": 9609, + "sha256": "6419eccd7796e78ae25d3c1c42ad60d6e8d0da8f8f4d4c1e3adafdf45a8c4c69", + "git_blob": "28d2611cd3c3cc7555451af1e36f9c4701e5a0ec" + }, + { + "local_path": "vendor/serial/vendor/monomial/SOURCES.json", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/SOURCES.json", + "bytes": 6688, + "sha256": "01b27507feb5ce1ebfd3541c280cff74ceebcc1b705a4632afe14013ab4c4e64", + "git_blob": "43555e2f2717f404b752607da27a86b07c38a40d" + }, + { + "local_path": "vendor/serial/vendor/monomial/TASK.json", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/TASK.json", + "bytes": 6722, + "sha256": "4f27bee7c18e7b777e29afb11cc224fe72640b46b746d9abf1a0f075628a9982", + "git_blob": "4ab3215b61316d565ec6dc99c7db129c937b1e67" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/DEPENDENCIES.json", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/DEPENDENCIES.json", + "bytes": 36466, + "sha256": "8481fde09d925fe143a604a4924f05bb1ade2d1ac8f9068389680c9406f71507", + "git_blob": "9e68f7226669eb4b92330023e16a86739aa859ce" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/PROOF.md", + "bytes": 25520, + "sha256": "acabf664e97b35d5c63998c6f08bbea27369b36db14b203c4ef62180a9535faf", + "git_blob": "859eb593d3b5bb07b3fd8a3b1034b4ac19a8dd6c" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/binding_sources.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/binding_sources.py", + "bytes": 3843, + "sha256": "e3b1cd40a2436381b3688aa3a5a740d402d08d0611dc43a629634bb1a6f7b299", + "git_blob": "15469f097247a4627336b9bb77d03b8696533276" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/codec.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/codec.py", + "bytes": 9914, + "sha256": "60f94c991568981c1ae8633bbc9c4d3c259e2df0654e8720d7f4554737d8e136", + "git_blob": "bf3bd0d5a6fbfa1e7a56c36578c2caaa0130c7c5" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/provider.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/provider.py", + "bytes": 10325, + "sha256": "3b7bb4f7940ffa9fafd34d25bbb1a9225e1b671924ed194ad012cb26251d7460", + "git_blob": "481013b988e5ae8189a0dddfcbb2f521e3142cab" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/DEFERRED-PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/DEFERRED-PROOF.md", + "bytes": 10651, + "sha256": "3a7ac6dae3b76d5f78849f521635da034fe99b1ea6c942175a3652b53f6262c2", + "git_blob": "de725a73e97496836100aa6e0ed9cd70985373da" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/SELECTED-RESULT.json", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/SELECTED-RESULT.json", + "bytes": 6784, + "sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa", + "git_blob": "d59b5035e7b4cbaa9d688a1d32dd0d6eb79c466a" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/TASK-CATALOG.json", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/TASK-CATALOG.json", + "bytes": 82822, + "sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81", + "git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/compact/PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/compact/PROOF.md", + "bytes": 18626, + "sha256": "ec6395822ae500242f3fe5e2cf40caf9a7f9fa259d475d2c14970d951ff4df48", + "git_blob": "f65f38123ca0adb02f6ca69351cbfc933506e5cb" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/compact/compact_control.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/compact/compact_control.py", + "bytes": 10331, + "sha256": "73a9ace4f91aeb383fdbc6f7762498fe707b4e4b45b1c63920bb90cc8795e284", + "git_blob": "13af719b5844f14f5cf05c919e84204cd21caf6a" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/compact/compact_counts.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/compact/compact_counts.py", + "bytes": 5621, + "sha256": "71c19cfc186aaf0c159ec64ea1a5d58e1fc5fc093d50c7360247559261fad00d", + "git_blob": "064b508efd12f7d5a33729b2344b6890f0c75d2f" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/compact/compact_engine.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/compact/compact_engine.py", + "bytes": 6536, + "sha256": "2cacff4d36a6e029add115f47cd8ffbf3c61e7ece0900308b98e6032e652f098", + "git_blob": "5c5ca75567f85b042c156e0ed5a8afe81671b1b8" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/compact/compact_layout.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/compact/compact_layout.py", + "bytes": 4909, + "sha256": "5be2be9c32c15742da18fde438a5559a45a86eb661105027b1b233a7c397e0ce", + "git_blob": "03ca12aed77741f40d824fcb33cc4eedb85abfd9" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/compact/compact_streams.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/compact/compact_streams.py", + "bytes": 9634, + "sha256": "3b5cce3be9763c6bd7803d6223d2784d1975eeac6c7c99f5e00dfc49bb11d249", + "git_blob": "5699cc7f20def3bc873d2da05b13a252246367a1" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/compact/native_sources.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/compact/native_sources.py", + "bytes": 2148, + "sha256": "865c97c4f261fde37e86eb16a910eaa5b2f26daaa7d2648ae0322ba8c0286572", + "git_blob": "3d2834c5fff39481c9a0442a514c10eaf50f98d2" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/dispatch/PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/dispatch/PROOF.md", + "bytes": 35049, + "sha256": "b0ed45deb84fa2ce835246d7de3c85ccdacf24ab68235cf1138fe6ff4c4ce5d9", + "git_blob": "96b032f662397d496c4d827839441b6794881a53" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/dispatch/TASK.json", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/dispatch/TASK.json", + "bytes": 6765, + "sha256": "6b5334d10044644ba646452b0e9e21528061768726d124a4a97af26785aa9ec9", + "git_blob": "70bb2c54a6dbf9f17a55bbae8383d9bfde933e52" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/dispatch/compiler_routes.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/dispatch/compiler_routes.py", + "bytes": 7612, + "sha256": "d375f8c2e666ffd2ebe6de34ccb7756ac9fa4a4cd5f866cb025a781f8538c599", + "git_blob": "5752189b8a838596346df8dde89024621b513e41" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/dispatch/row_programs.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/dispatch/row_programs.py", + "bytes": 23631, + "sha256": "a59510516d1397382de6141edc1eb69cf3ba5e6e330198deb5e335e543300be4", + "git_blob": "30ba41725f7e1ba3dd058abd30c66d19820a008d" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/dispatch/vendor/occurrence_geometry.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/dispatch/vendor/occurrence_geometry.py", + "bytes": 14919, + "sha256": "f3504a73803da120040cc62ee8f5e8b849237daf508a7146272d55624c3f8396", + "git_blob": "9c3c97d86a7bdd7b95944218bf1e6e4a5a1746a1" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/dispatch/vendor/row_padding.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/dispatch/vendor/row_padding.py", + "bytes": 10721, + "sha256": "24270408e87b028791670cd63908adeb03162f0919237e8644065c5898fecf2f", + "git_blob": "1e3533efa92c3bab35916ae6844290586d18ff27" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/lifecycle/PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/lifecycle/PROOF.md", + "bytes": 35612, + "sha256": "9a088fa00f10e59df48090b67c6ef7c3641bc9cc36b223deb917740372d57993", + "git_blob": "605981247e27de68fe78d3a36e2b454efbd6b11e" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/lifecycle/machine.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/lifecycle/machine.py", + "bytes": 14932, + "sha256": "ec597bce13275003ff30e4be481c936401826c1d4af642b55eec0c410774d1df", + "git_blob": "acf475e4fccaff2fb64bd5b0b3f3fc0d246dc592" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/lifecycle/source_ir.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/lifecycle/source_ir.py", + "bytes": 27393, + "sha256": "54dd93bc50bd10e974c70794df1c13da27f0e3d8cdb6cfe6791a63280096f1b1", + "git_blob": "79c95fa79439f3c893de52991173bd3a5eae2729" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/lockstep_executor.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/lockstep_executor.py", + "bytes": 24787, + "sha256": "0bda14a3e5f4da348cd5c89ebe29d717e7a5406ec31b164d5b9e1d25f7f38e0e", + "git_blob": "9469443a3d7cc6310a7369daf77c7756d5bd3f38" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/ordinary/PROOF.md", + "bytes": 13273, + "sha256": "8a1c2145cd8f080026488a571d95813c09679aa323f19aeaef0ea98030136e1c", + "git_blob": "12be1f06062090fcc68e598bae250f185e3d8524" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/binary.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/ordinary/binary.py", + "bytes": 4350, + "sha256": "578fb5bc793fc544dca8111605bf9f6067b8ba7dc7489a3ac243e1df3cd37953", + "git_blob": "651185a9eec51438949580a34e707f6dd1adbd4b" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/encoded.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/ordinary/encoded.py", + "bytes": 7305, + "sha256": "10ad2fa5902a48d49cf2b89a30b3f2711d63a6a43b9512a6427affcdf07335a7", + "git_blob": "2280fa98ff5e4da7c4909814ce4a1c405605ada8" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/ordinary.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/ordinary/ordinary.py", + "bytes": 8660, + "sha256": "7f8338e748bcd42fbef1e7cc47b6c5040dfb3aad216e34759bcb12b8e14f7705", + "git_blob": "81b330a4b886a0f4deab7b0811478bab3fbc107a" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/physical_words.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/ordinary/physical_words.py", + "bytes": 3777, + "sha256": "89ba40442297ec35368e426770f44852b39807ca426710ded2735678651bef61", + "git_blob": "44b464714277786297c8ee7fd04470dc6394896d" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/session.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/ordinary/session.py", + "bytes": 5874, + "sha256": "45ee809b27a69ca5576361922fd2760f568c9a98864d4c55c4fee3003ee3c9ad", + "git_blob": "09f645bbf0c6c3d41d0c03e8031adc4e81744ac1" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/source.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/ordinary/source.py", + "bytes": 2534, + "sha256": "4bd047a1272374880962d3074f1e50de717518a3a181f11607e820afe50dd4e5", + "git_blob": "8594fc62cee8a111958561b75045c8ec16ebfa47" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/record_lift/PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/record_lift/PROOF.md", + "bytes": 6973, + "sha256": "8442243130d4a9932f78eb42419196d2866d4496256e3bb2d6143fd52b44ddb3", + "git_blob": "69e07e58c5468e2045281335a56f4918b474c79d" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/record_lift/lift.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/record_lift/lift.py", + "bytes": 16191, + "sha256": "21c77119c004a86a603cca91ce1366629431db18e9e0554942492f1b5afebe4a", + "git_blob": "167d085a9191e3b3545bcf39d5e6edc94e54d514" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/reference/NOTICE.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/reference/NOTICE.md", + "bytes": 2140, + "sha256": "74a9f03e9ce467c75f5f7cf1b8465d349ea38ef114afad261824c3bcf13da00f", + "git_blob": "e82bfef53054bd753ba0aa8a966f84427faa2293" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/reference/compact.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/reference/compact.py", + "bytes": 9400, + "sha256": "0e1027a60f38c21cfd808c8ce44dcc2423810efdab0e15f02b07f261ad48fc3c", + "git_blob": "60bc206c78150f23563a4775800b0dd32025843d" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/reference/streams.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/reference/streams.py", + "bytes": 4369, + "sha256": "718a582a50aee8f1f04945ed942be1d4162962fe47dbf05c6ff37b7fb8c61257", + "git_blob": "61542ce4c9eb51bfc113475b4f98649cb90a853e" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2808/outer.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2808/outer.py", + "bytes": 8261, + "sha256": "9a26702a853805da7f97da7272d3b610c4d69767ecc6b450efbc4b6722dc3f19", + "git_blob": "1341d394481fb13beb826b944409b11083d8e7f8" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2808/vendor/pr2786/padding.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2808/vendor/pr2786/padding.py", + "bytes": 4971, + "sha256": "9f58bf2d343e13a70dc765d86c590b912d5987669d507ab14bd36deed94a76ee", + "git_blob": "0229304638de6c78ebc519b33a6ce34b1d396ca7" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/consumer.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/consumer.py", + "bytes": 4792, + "sha256": "2f2a8604c23fb2c81f24320c71ed0142118d98dde3be6086adad28e89954a777", + "git_blob": "a66d9276f829ce2c619871866816649d5f3687fd" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/driver.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/driver.py", + "bytes": 9523, + "sha256": "ceaf8f75de9810a05ebf8f65780b6f8bd7599a5768401d5e4386182afe615cdf", + "git_blob": "5b7846a70aada53d87480b337e1c04217118771b" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/evidence/NOTICE.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/evidence/NOTICE.md", + "bytes": 1035, + "sha256": "fd7c42e89878cda6df86dde8720ece34625a337cf5edd795a421e2d3b42919e9", + "git_blob": "d0318d43ed420e21dc52166a19de703aa87fbb3e" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/evidence/pr2688-NOTICE.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/evidence/pr2688-NOTICE.md", + "bytes": 1183, + "sha256": "c899fccf7bd32397f0ddd85e4af35a166cefb3e3ae3407ec40edc3ab2051b617", + "git_blob": "f2b49cdef83a4a685fad32c01fba93e12cfcb5a8" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/layout.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/layout.py", + "bytes": 5938, + "sha256": "3beef6534b02c3b011b741f957a7d9fb05a9ac0bba1fed53b2c71834e4ea6bc1", + "git_blob": "aa554b14fe0f6b308d9fba0a2afc92e5a28e20cb" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/linear_sign.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/linear_sign.py", + "bytes": 3138, + "sha256": "73e895fc701a4145cbe89d60f5775128354e7f08d0a45eacf22f423913f54e67", + "git_blob": "6a6e5c02f299fad8c4f7ab724fc36e14a22ab13c" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/node.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/node.py", + "bytes": 4739, + "sha256": "0bd4f640cafb5c8f070c161d86445910f77578a672bf5886936ed89e7f6bd21b", + "git_blob": "28c98a3573b458f7a055678d70b602b80e6e959e" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/packet_engine.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/packet_engine.py", + "bytes": 5093, + "sha256": "c80fc3aa9092f91cc309b2fb2dbc3618bf96bdb9b8498503993ea161f0ae2134", + "git_blob": "72543f684f38fefeacc2ee66d81661f1a2439cf7" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/peel.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/peel.py", + "bytes": 2104, + "sha256": "8b20888f74b4cd814a97b42ec72528fbfb6d2e936c5022df726f0785d0d01a2e", + "git_blob": "38502515afc928082c849cd2cda8578d33a5050a" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/NOTICE.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/NOTICE.md", + "bytes": 2849, + "sha256": "c446b32b8a621844fb2fbe654810c8122035bdd43fed2132f1137d98cb6f9943", + "git_blob": "ef9f81510db86eaf2f0a7191d85e92a6db30ddc0" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/cardinal_counts.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/cardinal_counts.py", + "bytes": 1861, + "sha256": "59ddeac102a0cc51fa49b15aae6aeb68cd68ed217fa974ce916372a177d2ec8f", + "git_blob": "6a14feac45094ae9156e8c2c982d6727544f180e" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/catalogue.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/catalogue.py", + "bytes": 12593, + "sha256": "83ea88f82d4a83c5f889774bfe3519b7ebaa24b6a0e2a969dafff012107a89bf", + "git_blob": "0efc0575a7623ac41c094d2e8772beda5a9fdc29" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/control.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/control.py", + "bytes": 2559, + "sha256": "d3a93e54bb7d333b73917586407d11674d38b5c3fda4fbdc436fb5293ae7786a", + "git_blob": "4f6ac09bffab43dbccc470bd0bde2ffbe969a8b2" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/fresh_rows.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/fresh_rows.py", + "bytes": 2471, + "sha256": "e4ae08fbd658add630eb7754ebe0cbcb42c6f39cf4128f9cb92e27fcf5213a7d", + "git_blob": "aa3a327604308d3a5c7a27b65f5e631d430ab093" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/topology.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/topology.py", + "bytes": 3652, + "sha256": "384d456ddba76de137a63b50019d5bba2e9f6daa4177c91643e0565d4cf1d44b", + "git_blob": "39a2916c207d04be5efc44750d8606f5da0c2990" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/binding.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/binding.py", + "bytes": 5099, + "sha256": "20169a8af6ed2b34069fd353a2bc1c42335ab686c58de8479baef33dd3fb493b", + "git_blob": "21a5a21220a18ab62a19ac403a9944bc3a8665c8" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/bitstream.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/bitstream.py", + "bytes": 5182, + "sha256": "f78bac9641007dbd8824984edcac057274fe016ce78bd9cb512d0c0913274783", + "git_blob": "4d1fd4abb0f2aabe833e5cbc9efb51039739e7ca" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/cardinality.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/cardinality.py", + "bytes": 3936, + "sha256": "505d5e560c5a507e6184edcc19a87cf1fed243eb34a5cb21fbe1e4fe017e7f22", + "git_blob": "b8ba857e32c5903408e1e61ff916300848b4a208" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/children.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/children.py", + "bytes": 3526, + "sha256": "a78866939631214c1d1659203b2b5fc062e3c6255e9f11f975c310046b010bd6", + "git_blob": "ce4935f838516e2b08d13bec767cb803786fbc6b" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/controller.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/controller.py", + "bytes": 15160, + "sha256": "fa09146991f6c04e6f4b6eb9bf0c8e103e70e90a0e402ff3d69814e6aac8ff8c", + "git_blob": "c631a9e77fbcccf0e8f448adc22978728aed7b60" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/counts.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/counts.py", + "bytes": 1695, + "sha256": "00b476dbda0e8cc99886bf794439e1cb9e775f435f599a3557e99321fe084069", + "git_blob": "81b48940ce222290a40d4fb349ce827f4788469d" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/directory.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/directory.py", + "bytes": 4633, + "sha256": "4270e370b2bfe38ef73aadcd97d1b3496b56bd582115d74331eb9e5ceb90bec7", + "git_blob": "c74cacf5ce809c0561d374f137a52df0992b4226" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/episode.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/episode.py", + "bytes": 5712, + "sha256": "38f79cb2a370548471063952d5f7c74bd795a2a8496fdcf3ce0996d79e3adaff", + "git_blob": "30d11ff4f333813855d36da3eb5a1ab0e154bafe" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/forms.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/forms.py", + "bytes": 6511, + "sha256": "1fdf9d31b7eb107c396e33f94dad61c9d3f2c709cae61178268a44ca80dbc0b4", + "git_blob": "6667c0b772a63f0059c7caffec63e0d919a92398" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/low_codes.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/low_codes.py", + "bytes": 4505, + "sha256": "f657e17f6088c840e3f7783e662257630f6d2c1e71c217721ffbca4d6ac93e87", + "git_blob": "737edfc4a10f4b7b3b97a7cef4b40864efd806e6" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/matrices.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/matrices.py", + "bytes": 9063, + "sha256": "00b687434039b54529ee092e34f9435cfcd66e0816eb3bd2a6688c73f4e01459", + "git_blob": "5d497353efbb9eeaaf4facd96ab40ffb0f3aa20d" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/numeric.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/numeric.py", + "bytes": 8729, + "sha256": "7327b05c4ec3e0f6d9c352cc7de85bfd4ebe940482553e77c59a773a8c09c514", + "git_blob": "6d4ebca8398008375b8f4762d1a9f1514e8c2611" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/oracle.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/oracle.py", + "bytes": 3547, + "sha256": "7bd18089e32ce48085b5e3a75159f6a82cdb2649ec682c53db05e399d97aef67", + "git_blob": "244f131466698a3ace10b657242fe1f65c07fd1f" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/packet.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/packet.py", + "bytes": 4175, + "sha256": "970e7fe0719e3dfe122b248941e6f21cd90d7dd62089fa6acbd0e5412ce083a5", + "git_blob": "ebc9b616514412b80c56d523776e6ba5d6766453" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/plan.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/plan.py", + "bytes": 3907, + "sha256": "d9c8dc93762db4d3a449814aa51e2211460648694469854d89cb48cb04188cf3", + "git_blob": "48255d5454308c07635fae4e7eb4873b0bd2a4f8" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/records.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/records.py", + "bytes": 9888, + "sha256": "0c9c4b23e998597fb877bb1a29da69ac869b68262abe635b162b4dba9c69b372", + "git_blob": "4f00467a0ff580954ad2fd0c7380240c753ddef3" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/routes.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/routes.py", + "bytes": 9031, + "sha256": "ed7dc3679451696ab1dd841146b215c9515a3eec5e4ff3763f33c315f1696ada", + "git_blob": "35531201dc349a811dfabc6f1f6e64697d665194" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/selection.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/selection.py", + "bytes": 2640, + "sha256": "bc8e371fb1fa0b41fb05ef0b34d0f4c317b2396f9833d91f44f95c2b54b4052b", + "git_blob": "2c28f1aaec104a75c4e6c170b3e6a60300ee6700" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/sources.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/sources.py", + "bytes": 6126, + "sha256": "f102edc7816d742bd89db8097254c19b843d0ef5cf6758ad42e93bcc0b214c62", + "git_blob": "16d5e7e6a28018f1e2d76d61efe2d54f6a6941d4" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/stream.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/stream.py", + "bytes": 5523, + "sha256": "c7dc7da5b00f27016982ada4c0416f8328568b00df16d97012f33d4b372d79b5", + "git_blob": "5e5a4bb0f98971447043e25d4dd6991bfc070389" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/recursive_call.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/recursive_call.py", + "bytes": 5323, + "sha256": "157deaa5972557893d43494a81151483bdc46373448ec677cb6a738c9b7e6f1e", + "git_blob": "6d33224145aa04f7fbaf7b6cda7c9c164311a402" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/scheduler.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/scheduler.py", + "bytes": 879, + "sha256": "0d96f7fbd6f90416167c5a52c0e3de942d1a0cae3d2968831932a9576701699f", + "git_blob": "60c2b6d065eba91dd5e0edb7a77fc087971eca3f" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/stream_runner.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/stream_runner.py", + "bytes": 4930, + "sha256": "b255feaf6cc6e40413ae73fe302bf8f290bf4dd89f4128b23a91cc9860601801", + "git_blob": "6ba5df130bb4a0fcb06b6c630830ae3a6922921b" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/trace.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/trace.py", + "bytes": 7774, + "sha256": "3a664224c558244f606b603cad816d75e94a17c9b2620a06a1530e893dfceac2", + "git_blob": "4b002201ce54cdecec9acf4e874b7f71cd75fe71" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2769/NOTICE.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2769/NOTICE.md", + "bytes": 1668, + "sha256": "8640d1b52fd21e5b20e8109ce9c4957ca1e19a95e26a1c80d019a6e6f4d5f178", + "git_blob": "307c2da733f7f3a76e97c77e71072e811f40df02" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2769/codec.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2769/codec.py", + "bytes": 6446, + "sha256": "5b9fda8136f7e60bece54e3fcc74f4ea0bec7145fa60e1ae3a4d252741b81fd3", + "git_blob": "9cd54d9417eb685dcd3f8293f01299ef9046ad31" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2769/vendor/parking_machine.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2769/vendor/parking_machine.py", + "bytes": 4402, + "sha256": "68134779debfb795468a1aaecbc2b9d321d7d4e451313ce7dc8fa7092561df4c", + "git_blob": "cafd614a3b7bc87b019361fcdf890ed976f26d19" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2769/vendor/words.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2769/vendor/words.py", + "bytes": 13794, + "sha256": "5c37f57708ba3131bdcb03139f9dbc29886bee44569c09cbba51b68f75acd7f9", + "git_blob": "8d4ba37e2778acb35b34e0719df2caf138fbeb50" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/macro_binding.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/macro_binding.py", + "bytes": 6359, + "sha256": "9ef31765d03d2c54fad9296f2ff0707a190ce169e44de4f0f45214e3c410c01a", + "git_blob": "c197eb6458be9374cb4684c654bfc99e619dcaf0" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/macro_code.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/macro_code.py", + "bytes": 5245, + "sha256": "f626b018124747a5f17c1603bea36cd74c00a69a0647fd7b10e9c4e2964caea8", + "git_blob": "2f5f8ecfac6457171707b1b5ff02b5071954fcb7" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/macro_machine.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/macro_machine.py", + "bytes": 21501, + "sha256": "7bc6e42072a09a08ac961e05c3da01cde012d740d4b4c605f298d994f2ad7c5a", + "git_blob": "5a032e8923f7f8b22bb98f3e39b804beb9906c16" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/residual_blocks.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/residual_blocks.py", + "bytes": 4708, + "sha256": "ab7f3df8906decd2efecfb138eac1456c106bb520b2598761f699f80680d8331", + "git_blob": "fba75e7649cf77e352a75324495191bbd7853c22" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/role_parking.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/role_parking.py", + "bytes": 4318, + "sha256": "1884a3c260d81d5efbc0c33d86a810d6728e55e5764cfcd423f858cc685470f3", + "git_blob": "fc48c244eefdbaa3e320e86c75a7d187cb5765ef" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/scratch_pool.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/binding/vendor/runtime/pr2809/scratch_pool.py", + "bytes": 5952, + "sha256": "41f1eb93652b7174c3b02f95f70e1a9ce2e2aed0a729e725167c8f226e65d8db", + "git_blob": "0f22807c65d1bca374b905538512bf8c43702070" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/monomial/PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/monomial/PROOF.md", + "bytes": 12856, + "sha256": "20885a8a137fc670121429625912ceae54db95ac5e574b8c64c90f477aebacb7", + "git_blob": "82e9a8b0b50f26844528af9e07632800679805ea" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/monomial/SOURCES.json", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/monomial/SOURCES.json", + "bytes": 6854, + "sha256": "0dd57a4fe4fc97826df0eb215975d013ac0e18f185c73cd93e34c95a9a2b4b16", + "git_blob": "e040a558800e719e2d8b6237bec39e7e10a3641b" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/monomial/monomial_engine.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/monomial/monomial_engine.py", + "bytes": 8584, + "sha256": "fc02c6c5159d6c258063a36ef3dc9313a34d7ba9781b650e451cc0ce971e9667", + "git_blob": "2251fd98ba01a171f5d39b25a93c895245f10e55" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/monomial/pair_dispatch.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/monomial/pair_dispatch.py", + "bytes": 841, + "sha256": "fc0eaa2a9d0855660b15a15d894137eeebc64c6418f52b6af0d0f79d86f2e0d9", + "git_blob": "0e467bdb3727d7f354f98dee54f320f1f072aa2c" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/monomial/phase_recipe.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/monomial/phase_recipe.py", + "bytes": 2265, + "sha256": "8215e5e55daf019694e55b2acfcd42ecf109a2faf767a2181d664ba9b4957e46", + "git_blob": "a2f684fb588257cc182dc88dded59ed70f5c2585" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/monomial/phase_sources.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/monomial/phase_sources.py", + "bytes": 2111, + "sha256": "3944ecbffe91fb561b2b8a810461cd2b8229f1f2611ca6a70e3d86451efb220b", + "git_blob": "aaa5c663a4bb6b0ca4d9119c1ae92064509d79c8" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/monomial/reference.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/monomial/reference.py", + "bytes": 4656, + "sha256": "394f9a465ac9148af0c20844d375e4befbef17d92b2fcc840d83419480dd4740", + "git_blob": "5fa4494167c4ba668993a2b1c902969518728a4c" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/monomial/signed_phase.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/monomial/signed_phase.py", + "bytes": 3787, + "sha256": "e21818674133a2bd7e63fadaf719eb45ce80db4b3806ca8ef99c247be22c2a39", + "git_blob": "bab32b0c5da7f364d6a79171c09b02d123a05bd9" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/selected/RESULT.json", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/selected/RESULT.json", + "bytes": 12798, + "sha256": "84fcbe2a0b64307b5703c363408042bdd91555b0419509aa50daa43b3b1924ad", + "git_blob": "e4a03118d585fb80c9ac932281b528ac394ccc5f" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/selected/WORD.json.gz", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/selected/WORD.json.gz", + "bytes": 119880, + "sha256": "7834725d9e34ee846a9ccc615221ea81e0201613938afa185d2eda0c9a6c232f", + "git_blob": "22f9ab02d1b73ea0aa4b07ce445a14cc2602c760" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/selected/clifford_exact.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/selected/clifford_exact.py", + "bytes": 6824, + "sha256": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "git_blob": "166841a037f069249f6f7f6dedb89248812f59e2" + }, + { + "local_path": "vendor/serial/vendor/monomial/vendor/selected/native_verify.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/vendor/selected/native_verify.py", + "bytes": 12323, + "sha256": "3049471905b47b385c88378a1a3be7a18b8858aadd035b8a6da2f4a03b470f38", + "git_blob": "2c209dfa9cfade3bc20ac5fc9d876b433a147f8c" + }, + { + "local_path": "vendor/serial/vendor/monomial/check_fixture.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/vendor/monomial/check_fixture.py", + "bytes": 8667, + "sha256": "9a7b0e372798586f63c657ba756589541ba7923175783c4a43adcdb5b31d2b41", + "git_blob": "1399f50d7bedab45806cc9e1ffe74c654aa33aab" + }, + { + "local_path": "vendor/serial/column_view.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/column_view.py", + "bytes": 6733, + "sha256": "fb19f59af7c8ef8f502c99cc4837d55a4e35f42b6334a3589cb37795b7627117", + "git_blob": "f547ed7a72d89fdfd23f6c54a9983b522e16076d" + }, + { + "local_path": "vendor/serial/serial_sources.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/serial_sources.py", + "bytes": 2314, + "sha256": "dbed4c5d139f5d4da0b9db9f8f7105d5eb59e44df4dbe4f499272a1e0130dbc4", + "git_blob": "54ab34373b67d61bddd44d1cc8d36491c8a2015c" + }, + { + "local_path": "vendor/serial/DEPENDENCIES.json", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/DEPENDENCIES.json", + "bytes": 51654, + "sha256": "6fadae340babb68b55076127bed4deecd2b4d4a3bcf1963b26f8631c32b61f1a", + "git_blob": "0fb28bde24d05254418ccd2b73e01bcdc697c839" + }, + { + "local_path": "vendor/serial/PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "2ec95e06c2a16e73f9da9a8fe41912710135daaf", + "source_path": "research/current-serial-monomial-leaf/PROOF.md", + "bytes": 9185, + "sha256": "9d9887da91617030174d1c7eb5e76492ac05974c78bb06e77412e5a6e34463a0", + "git_blob": "f6097b18553ede9b6ec3d4168cac79448d82eb4b" + }, + { + "local_path": "vendor/exact_scalar_tables.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "13193a22b1070a74a8580c5d3ea27470443f815a", + "source_path": "research/current-scalar-flat-tables/tables.py", + "bytes": 12650, + "sha256": "654e9734ef80a9394807ca508543b1bc164afb5768d23d0e5a88c790d2f13bac", + "git_blob": "1cc22f75fbe53d48b84be42782e581c04820cd49" + }, + { + "local_path": "vendor/machine.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "ab239cb6ee884e7a900dd9101c34448077fad0b0", + "source_path": "research/compiled-owned-bank-lifecycle/machine.py", + "bytes": 14932, + "sha256": "ec597bce13275003ff30e4be481c936401826c1d4af642b55eec0c410774d1df", + "git_blob": "acf475e4fccaff2fb64bd5b0b3f3fc0d246dc592" + }, + { + "local_path": "vendor/scalar_fixture.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "6476455a1cf7cd29d6a2a81c3b6f02fd3a3bbf57", + "source_path": "research/current-rounded-scalar-tables/physical.py", + "bytes": 6183, + "sha256": "b0eb6f2db2deff9104cdf786a8ae84b0d4864b09a1f9b99178cb08c1666d014e", + "git_blob": "027b563887fd748438d0d0dc7a75f356b29986bd" + }, + { + "local_path": "reference/PRECISION-PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "56bc9383594a3efc303148e00bb746851abd1ed5", + "source_path": "research/query-only-precision-envelope/PROOF.md", + "bytes": 26757, + "sha256": "8ddafd9a4c5b51d4c0e3f9b4a9eba27712335a16de1868ba156557344af86e63", + "git_blob": "465a5dddd83bdea5db09f1030f99dffe698fe600" + }, + { + "local_path": "data/caller.json", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "617903497387a98f7ca929ad0b6928dd32abffec", + "source_path": "research/p104-query-only-interval/QUERY-ONLY-CALLER.json", + "bytes": 73501, + "sha256": "3828d53e80ea97e8b866320f081af20b6b93bfebd58b95b56b85a7afe151af5e", + "git_blob": "cf55f4271009a06ad192a070d330a4466b6d44fa" + }, + { + "local_path": "data/word.json.gz", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "617903497387a98f7ca929ad0b6928dd32abffec", + "source_path": "research/p104-query-only-interval/data/word_6936.json.gz", + "bytes": 349022, + "sha256": "273e81f176f001684b1fa3eb857992bf58b54748004fcfe806b83adb48d2cc00", + "git_blob": "d93e67ca7628bf5531ae6e369da4dd7b7907b88f" + }, + { + "local_path": "reference/physical-review-6936.py", + "repository": "CrocSwap/integer-mult-bounds", + "commit": "03626137d0bd57f09b0bf9597376183ce6fa9683", + "source_path": "research/p104-main-wire-native/retained/physical-review/verify.py", + "bytes": 33361, + "sha256": "c303c2812d530849d174088f0330a4d7ddac2698d92b91848dbce7a512573fc2", + "git_blob": "f41390e0246cd6604a94ef5b418f48a817a4208c" + }, + { + "local_path": "reference/jclib_6936.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "617903497387a98f7ca929ad0b6928dd32abffec", + "source_path": "research/p104-query-only-interval/reference/jclib_6936.py", + "bytes": 14872, + "sha256": "bdbd89da0125a41514ea10330bccd25de5dd626ac8b2d671c88dc2e4b8fb93c4", + "git_blob": "48a55ab03a731315dd27d1dd7dd52be716de0ce8" + } + ] +} diff --git a/research/current-rounded-lambda/DESCRIPTOR.json b/research/current-rounded-lambda/DESCRIPTOR.json new file mode 100644 index 0000000000..e26d7f9606 --- /dev/null +++ b/research/current-rounded-lambda/DESCRIPTOR.json @@ -0,0 +1,82 @@ +{ + "cases": [ + { + "actions": 37639, + "f": 1, + "old_remainder": 0, + "parent_bits": 1115 + }, + { + "actions": 38253, + "f": 1, + "old_remainder": 8, + "parent_bits": 1137 + }, + { + "actions": 47831, + "f": 1, + "old_remainder": 152, + "parent_bits": 1441 + }, + { + "actions": 67656, + "f": 2, + "old_remainder": 0, + "parent_bits": 2045 + }, + { + "actions": 68270, + "f": 2, + "old_remainder": 8, + "parent_bits": 2067 + }, + { + "actions": 77686, + "f": 2, + "old_remainder": 152, + "parent_bits": 2365 + }, + { + "actions": 216919, + "f": 7, + "old_remainder": 0, + "parent_bits": 6699 + }, + { + "actions": 217533, + "f": 7, + "old_remainder": 8, + "parent_bits": 6721 + }, + { + "actions": 226885, + "f": 7, + "old_remainder": 152, + "parent_bits": 7017 + }, + { + "actions": 928271, + "f": 31, + "old_remainder": 0, + "parent_bits": 28911 + }, + { + "actions": 928885, + "f": 31, + "old_remainder": 8, + "parent_bits": 28933 + }, + { + "actions": 938237, + "f": 31, + "old_remainder": 152, + "parent_bits": 29229 + } + ], + "changed_fields": [ + "remainder", + "selected_axes" + ], + "old_source_frame_export_assumed": false, + "private_ports": 39 +} diff --git a/research/current-rounded-lambda/OVERLAP.md b/research/current-rounded-lambda/OVERLAP.md new file mode 100644 index 0000000000..3ff0db2da9 --- /dev/null +++ b/research/current-rounded-lambda/OVERLAP.md @@ -0,0 +1,30 @@ +# Bounded overlap and source boundary + +The precision package at56bc9383594a3efc303148e00bb746851abd1ed5 Sections2/5 +explicitly leaves one-rounded Lambda with exact Q² production open. The +#6936 retained physical audit already establishes the total-Q convention +and source phase equations; this package credits and binds them to a new +literal monomial/header/Gaussian join, rather than claiming new character +algebra. #6937 already discusses total rounded division abstractly. + +The generic monomial7d1ff237... and serial2ec95e06... providers already +supply exact address/phase transport and genuine one-column execution. +This package does not re-prove their internal algorithms or infer membership +in the selected#6030 source catalogue. Its identity9/offset-q/phase0 recipe +and new outer header domain are derived directly from proposed#6936. + +Targeted canonical reads at7c49fe32... included: +* research/reflection-rounding-radius/README.md, blob14123795584429567e395216d493041175b94408: + optimal equivariant rounding radii for nonorthogonal integer reflections; + different map/domain and no physical Lambda join. +* research/d10-reflection-sharing-seeda3def8/README.md, blob658429a7889af7a7e145be353dfe70ab28d217f8: + finite group-algebra paid-call lower bound, not numeric arithmetic. +* research/format-limits-corrected/scripts/c5_lambda.py, blob4eb6c0bd57a58ac4e13d6a7d520a74deef2b70e5: + exact classical phase-frame butterfly/kernel identities. These are prior + algebra, not this current physical provider and lifecycle construction. + +The native worker's contemporaneous whole-MOVE rounding task is separate; +it does not identify the outer source Q² or implement this global Lambda. +The lead's refresh retained canonical7c49fe32, source#6936 head d360b118... +(timeout-only delta), and#6937 head a98df73.... No source-semantic delta is +assumed from a PR title. This is a bounded review, not exhaustive novelty. diff --git a/research/current-rounded-lambda/PR-DESCRIPTION.md b/research/current-rounded-lambda/PR-DESCRIPTION.md new file mode 100644 index 0000000000..eedcb41e63 --- /dev/null +++ b/research/current-rounded-lambda/PR-DESCRIPTION.md @@ -0,0 +1,102 @@ +## Summary + +The source precision proof leaves a completed one-rounded global LAMBDA +primitive open. This package supplies a literal Gaussian table and a +source-specific exact Q² monomial/header join, retaining all routing, +owned-copy, source, head-return and cleanup costs. **No new kappa, complete +caller admission or physical tariff-cap claim.** + +For the actual source direction q and positive column multiplicity f, +Q_f² is simultaneous address translation by q in every central column, +with phase zero. The new fixed recipe is identity9/offset-q/phase0. +It is executed through the unchanged serial monomial provider, with a +physically encoded private view changing exactly remainder to 0 and +selected_axes to 9f. All other descriptor fields and the full row are retained. + +Global Lambda_s(Q_f)=((1+s*i)I+(1-s*i)Q_f²)/2 stays outside tensor powers. +Two odd factor characters explicitly distinguish it from a product of +one-column Lambda kernels. The two Gaussian numerators are formed at W+2 +with cancellation intact, then rounded once per real/imaginary component. +STAGE writes only an owned translated copy; a separate literal COMMIT +writes the public field after every range check passes. + +## Source and exact result + +Canonical base: `7c49fe32c55de02c2c873655c804b16e4c3fef0a`. +Source: DreamingOfClouds' CrocSwap/integer-mult-bounds#6936 at tested head +`03626137d0bd57f09b0bf9597376183ce6fa9683`; current head `d360b118...` +changes only the verification timeout. The QUERY-only caller is public +`617903497387a98f7ca929ad0b6928dd32abffec`, descended from +CrocSwap/integer-mult-bounds#6937 at `a98df73...`. + +The caller has 14,480 expanded LAMBDA occurrences at 104 actual directions. +Each sign table has 5,275 rows. The rank-nine provider has 1,965 fixed owned +roles, including all retained private inventory, one new full-field bank +and two numerator banks. No new recursive paid request or productive helper +credit is introduced. Every unchanged dependency has exact commit/path/ +Git-blob/SHA-256 authentication. + +For valid current geometry, canonical common-grid data and admitted signed +range, the output defect from Lambda applied to the actual input is at most +eta_X=2^((X-1)/2)Delta on each containing complete X-fibre. The fibre includes +all 9f translated axes. Named late range rejection preserves the public value, +retires the partial copy/work and restores public/context heads explicitly. +No arbitrary malformed/native-interruption rollback is claimed. + +## Full cost and remaining interfaces + +The full serial bill remains + + O_9(f*((g+1)*(Vraw+M1*A1^6)+V+(E+1)^4+P)), + +where g=popcount(q). The new Gaussian tape/control bill is bounded by +4096(S+1), with additional positive copy, header, retirement, setup and old- +backing charges. Historical capacities of every role remain allocated. +Only explicit padding absorptions give O_9(fV). This is not converted into +the old 1000-unit LAMBDA tariff or a supplier raw cap. + +The new outer token/header contract is explicit. The old compiler has not +been shown to emit it. The selected #6030 catalogue has 22,803 events/3,453 +MOVEs; proposed #6936 has 71,144/6,323. This package derives its new Q² recipe +from #6936 and does not inherit selected-catalogue membership. Actual caller +width/radius substitution, full recursive stock and the full source invoice +remain open. All five foundational framework assumptions remain global +premises, and the selected certificate is unchanged. + +## Reproduction and verification + +```bash +python3 -I -B research/current-rounded-lambda/verify.py --suite all +python3 -I -O -B research/current-rounded-lambda/verify.py --suite all +``` + +Expected: five PASS_CURRENT_ROUNDED_LAMBDA_* markers. Registered suites have +120-second caps; standard library only, with no runtime Git/network/solver. + +Author checks cover 544 exhaustive four-input cases, 1,536 wider endpoints, +12 literal 23-field views, both-sign complete reduced-rank composition, +late rejection/retry, two arithmetic mutants, four strict typed-source +controls, and 53,248 source-character/compiled-flip equations. Separate lead +AI checks cover 48 wider cases through 129-bit components, a read-only-public +STAGE trap, dirty displaced work/context, retained backing after long-to-short +reuse, an independent rational oracle, and 1,020 global character cases. +Unchanged independent runner/receipt and reviewed hashes are supplied. + +The complete actual nine-axis numerical case is explicitly unexecuted. +Its minimum 4,096 records was screened above the 120-second attempt cap from +the measured 16-record reduced run before extra flips. This is a feasibility +screen, not a formal wall-time lower bound. Reduced physical evidence is +not described as a whole source replay; the universal join uses the retained +provider proof and the source-specific recipe/header proof. + +## Credit + +Prepared for **@CubeJerry**, with substantial **OpenAI assistance**. Credit +DreamingOfClouds' CrocSwap/integer-mult-bounds#6936/#6937 source lineage; +the retained monomial/phase work including CrocSwap/integer-mult-bounds#3087 +and CrocSwap/integer-mult-bounds#4172; CubeJerry's lifecycle, scalar and +serial-provider packages; and the source precision package at +`56bc9383594a3efc303148e00bb746851abd1ed5`. Classical Gaussian/rounding +identities are not claimed new. This contribution is the literal physical +source join, signed/defect proof and complete stated bill. Separate AI review +is not human or proof-kernel acceptance. diff --git a/research/current-rounded-lambda/PROOF.md b/research/current-rounded-lambda/PROOF.md new file mode 100644 index 0000000000..538302771c --- /dev/null +++ b/research/current-rounded-lambda/PROOF.md @@ -0,0 +1,342 @@ +# Literal one-rounded global LAMBDA with paid Q² routing + +Prepared for @CubeJerry with substantial OpenAI assistance. +**Conditional physical interface lemma; no new kappa, full caller, or tariff-cap claim.** + +## 1. Actual source and exact scope + +Canonical base is `7c49fe32c55de02c2c873655c804b16e4c3fef0a`. +The proposed source is #6936 word at +`03626137d0bd57f09b0bf9597376183ce6fa9683`, with the QUERY-only caller +published at `617903497387a98f7ca929ad0b6928dd32abffec` (3,095 events). +The caller has 14,480 LAMBDA occurrences after expanding its actual A/B +port lists. Each gives an exact sign s in {-1,+1} and a central direction +q from the word's 104 nine-bit ports. `construct_source(site,port,factory)` +checks this actual occurrence and constructs its fixed-q, fixed-s provider. +It is a new provider/header contract, not proof that an old compiler already +emits the required descriptor or dispatches these outer tokens. + +The exact primary source `research/p104-main-wire-native/retained/physical-review/verify.py` +at that #6936 head has Git blob +`f41390e0246cd6604a94ef5b418f48a817a4208c`. Its `phase` function uses + + phi(c,omega) = sum_v c_v [v dot omega] mod4. + +Its contact and query equations identify Q_q with the one-column multiplier +i^[q dot omega]. Its `central_normalization` explicitly keeps ordinary +Lambda polynomials outside tensor powers. Thus, with f positive columns, + + Q_f = tensor_j Q_q, + Q_f² = tensor_j X_q, + Lambda_s(Q_f) = ((1+s*i)I+(1-s*i)Q_f²)/2. + +Q_f² is a simultaneous address translation by q in every column, with +**absolute Gaussian phase zero**. The Fourier character is +(-1)^(sum_j [q dot omega_j]), exactly the character of that translation. +This is an all-f identity, not an inference from width-one checks. In +particular Lambda_s(Q_f) is generally not tensor_j Lambda_s(Q_q): two odd +factor characters give Q_total=-1, global Lambda=1, but the product of +factor Lambdas is (s*i)^2=-1. That false implementation is rejected explicitly. + +The unchanged #6936 `jclib.py` semantics are retained as +`reference/jclib_6936.py` from the public QUERY-only capsule: its LAMBDA +branch uses `((1+s*i)+(1-s*i)*q²)/2` on the total character. The new source +events keep that sign convention; no replacement definition is inferred. + +The new literal monomial recipe is identity9, offset=q, zero linear and +quadratic Z4 coefficients, and phase0. This recipe is derived from #6936; +no membership in the selected #6030 native catalogue is used. The selected +catalogue has 22,803 events/3,453 MOVEs, whereas #6936 has 71,144 events/ +6,323 MOVEs. Sharing a generic implementation does not identify those sources. + +The retained implementation is `current-coded-gaussian-monomial` at +`7d1ff23714e6f9182c1d0ff9214f65def2f30e04`, joined through the direct serial +provider at `2ec95e06c2a16e73f9da9a8fe41912710135daaf`. All reused bytes +and their original paths/commits/blobs/SHA-256 values are authenticated in +`DEPENDENCIES.json`; no monomial, Count, Tape, ordinary runtime or executor +source is modified. The existing serial result proves its physical route +for all valid descriptors. It is not a premise that an arbitrary formal +involution is a free physical operation. + +## 2. Exact new header contract and physical Q² join + +At this new outer boundary, a complete field has uniform signed width W>=2, +one common grid Delta=2^-F, canonical coded real/imaginary components and +actual physical blank frontiers. Its caller descriptor has the retained +23-field binary encoding. Let f,K,H,G be positive, 0<=rho=9; that is why simply +passing its old remainder to a rank-nine monomial would be invalid. This +private view is supplied only to the monomial consumer, not to an ordinary +or general global header producer. + +The exact monomial consumer checks selected_axes=rank*f+remainder, +remainder=2. + +The table rewinds the owned copy's head over its two components using the +real numerator as a width guide: skip its two high positions, move left +once per remaining bit, then repeat for the other component. The original +public head stays at its imaginary delimiter. Both complete input components +have already been read, so overwriting this owned pair cannot affect later +original or translated input pairs. + +For each numerator, add1 with a bit carry, discard the first result bit, +and emit W result bits into its original owned-copy component positions. +The one remaining high bit must equal the emitted sign; the final addition +carry must equal old_sign-new_sign. This is exactly the iff signed-width +criterion for floor((N+1)/2), including negative odd N. No assertion that +upward rounding commutes with negation is made: R_up(-1/2)=0 while +-R_up(1/2)=-1. + +A completed pair leaves both numerator heads at their delimiters. Rewind, +clear their current logical digits/delimiters to encoded logical blanks, +and return to marker5 for reuse. Physical retirement later erases all encoded +blanks and any old longer backing. Equal real/imaginary widths and matching +public/owned shapes are checked while scanning; their canonical initial +format remains a theorem premise, not universal corrupt-input validation. + +## 4. Complete staging, failures and ownership + +The STAGE table writes only the owned copy and the two numerator banks. +It never writes the public field. Earlier completed pairs may have changed +the owned copy when a later pair rejects. Those changes are allowed only +because this is explicitly owned disposable storage. + +On successful STAGE completion, the unchanged executor restores heads and +unchanged `Controller.primitive` retires its two work banks. A separate +literal COMMIT table copies the complete staged owned field to the public +field. All signed checks have already passed, so under the canonical format +premises COMMIT cannot fail its extent check. This separation uses the actual +executor's paid origin return; no free rewind guide for the full field is +assumed. The two numerator banks are reused and charged again by COMMIT's +primitive wrapper, even though its table does not need them. + +`LambdaProvider.run` explicitly retires every owned work role before use, +copies the original field, prepares the private header, executes the real +serial translation, executes STAGE and then COMMIT. Its finally boundary +releases the view, physically retires all private roles including a failed +partial copy, and returns public and context heads to their local origins. +Thus a final signed-range rejection leaves the complete public value intact +and returns clean owned bodies and restored public/context heads. This +property is proved for valid numerical geometry and named arithmetic +rejection. No arbitrary malformed/interrupted native execution or process +termination rollback is claimed. + +All physical tapes are distinct and behind protected local LEFT markers. +The initial public/context heads are at their origins. Old private bodies +must be contiguous binary prefixes and their heads within their local bodies +or frontiers. Hidden dirt after a physical blank is excluded. The fixed +inventory is allocated before runtime; pointer identity checks do not prove +physical segment disjointness. No arbitrary borrowed workspace is erased. + +## 5. Actual-input error and all-column precision contract + +For an admitted input, each real and imaginary output differs from the +exact Lambda_s(Q_f) of that actual input by at most Delta/2. Therefore on +any containing complete X-fibre, + + ||output-Lambda_s(Q_f) input||_X <= 2^((X-1)/2) Delta = eta_X. + +The count is 2^X complex entries, or 2^(X+1) real components. This is the +single rounding contract demanded by the published precision package +`56bc9383594a3efc303148e00bb746851abd1ed5` Sections2/5. It is uniform in +positive column multiplicity and in all spectator fibres. Since the pure +translation is a unitary involution, the ideal global Lambda has eigenvalues +1 and s*i and norm1. That algebraic fact is prior; the new contribution is +its source-specific physical producer and one-rounded arithmetic join. + +A simple sufficient closed admission domain is +||input||_X <= (2^(W-1)-1)Delta, with X containing every translated axis. +Unitary Lambda then has each output component within the same symmetric +bound, so rounding fits width W. More general inputs succeed iff every +rounded component fits. The source precision proof's common-width/radius +substitution may also be used once its actual caller/header and inherited +operator premises are installed. This package does not silently identify +its W,f,selected_axes with a complete caller export or prove all upstream +rounded states satisfy that external guard. + +## 6. Full positive cost, source count and historical backing + +Let V be the complete coded public physical length, E the parent descriptor +length, P the fixed total number of owned private roles, and A_old the sum +of their initially dirty contiguous physical body lengths. All constructor, +source access, fixed-table generation and allocation costs are F_template. +They are positive and separate from variable-input traversal. + +For the new Gaussian stages, let S=sum(W_i+1) over all real components. +Counting every physical tape action and every executed flat row, a safe +bound is 4096(S+1), plus entry/final old-body, context-head and fixed-role +charges. One ordinary position performs at most four coded reads, two writes, +four moves and finite carry-state jumps; its reversals and two high positions +are included. Coded reads cost at most10 physical actions, writes9, moves4, +plus their executed rows. Pair rewinds, encoded-blank clearing, executor +origin returns, the separate full-field COMMIT and successful retirement +are all linear in S. Two-component work reaches at most 3(W+4) physical +bits in each numerator role. A previous larger width remains allocated. + +An entry retirement from displacement p<=A costs 2p+3 for origin, 3A+1 to +erase, and 2A+3 to return: at most7A+7. The outer copy, final owned-bank +retirement, context returns and private view contribute O(V+E+P)+7A_old. +The new header construction/release has O_9(E+1) encoded-symbol work, because +rank9 is fixed. It makes no runtime integer conversion. + +Retain the serial monomial's complete bill. Write g=popcount(q), +C=outer*rows, R1=2Wr*2^(a-z), M1=C*2^z, Vraw=M1*R1, and +A1=2+z+ceil(log2(R1+1)). Its contribution is + + O_9(f*((g+1)*(Vraw+M1*A1^6)+V+(E+1)^4+P)). + +Therefore the whole Lambda invocation costs + + F_template + + O_9(f*((g+1)*(Vraw+M1*A1^6)+V+(E+1)^4+P)) + + 4096(S+1) + O_9(V+E+P) + 7A_old. + +There is no subtraction of inherited ordinary work and no conversion of +this bill to the old 1000-unit LAMBDA allowance. Only with the separately +stated padding absorptions R1>=A1^6 and (E+1)^4+P=O(V) does the variable +term simplify to O_9(fV), plus old history. If those premises fail, the larger +bill stays. All f iterations reuse one provider; no history reset or new +per-column allocation is hidden. + +The one extra full-field bank has current backing V. Each of the two +numerator roles retains max(old_capacity,3(W_max+4)). The header roles +retain maxima O(E+1), and every unchanged serial/monomial role retains its +own full historical maximum from the predecessor space theorem. Add public, +context, ancestor and fixed-controller backing. Erasure does not shrink +these maxima. The unused ordinary object and its tapes remain counted. + +At the caller-source level, there are 14,480 such service occurrences. +Each gains one explicit owned-copy lifetime and its positive bill; the two +primitive work roles and provider inventory must be included in active +stock. There are zero new recursive paid jobs and zero productive helper +credits. Whole-caller sequential reuse, unfinished-context stock and the +sum of all source/setup/runtime bills still require compiler integration. +No full raw cap, accepted exponent or unconditional theorem follows here. + +## 7. Evidence and limitations + +The source census pins every occurrence/sign/port/q. Physical descriptor +checks cover all23 fields with old remainders0,8,152 and several positive f, +including cases where passing the old remainder would violate rank9. +The Gaussian arithmetic has an independent direct integer oracle over all +four arbitrary signed inputs at widths1,2, plus wider signed endpoints. +It runs through unchanged primitive tables, including explicit rejection +cleanup, source protection and a positive tape/control bill. + +Complete reduced-rank composition executes the actual monomial provider, +private header, Gaussian staging and commit for both signs, late overflow +and reuse after failure. An ordinary-runtime entry trap rejects any accidental +child invocation. The source-specific nine-axis recipe/header join is proved, +but the minimum4096-record nine-axis numerical run is not claimed executed: +the16-record reduced run took0.91s and more than5 million physical actions; +a simple record-scaling screen already exceeds230s before the larger recipe's +extra flips, beyond the120s attempt cap. This is a feasibility screen, not +a formal wall-time lower bound or a runtime measurement of the source case. +No nine-axis host vector evaluation is relabelled physical execution. + +Credit the source authors DreamingOfClouds/#6936/#6937, the retained phase +and monomial work (#3087/#4172), CubeJerry's serial/provider/lifecycle and +scalar work, and the published source precision package. Horner/carry, +Gaussian identities, permutation tensoring and nearest-up rounding are +classical. Full source/header exporter installation, admitted caller precision, +all remaining native services, recursive owned history, common physical +tariff and analytic recovery remain open. All five framework assumptions +remain globally conditional. Separate AI review is not human or kernel +acceptance; the finite tests do not substitute for this all-size argument. diff --git a/research/current-rounded-lambda/README.md b/research/current-rounded-lambda/README.md new file mode 100644 index 0000000000..6e49ecaa0d --- /dev/null +++ b/research/current-rounded-lambda/README.md @@ -0,0 +1,146 @@ +# Literal one-rounded global LAMBDA + +**Result:** a source-bound physical provider implements +`Lambda_s(Q_f)=((1+s*i)I+(1-s*i)Q_f²)/2`, with one final rounding per +real/imaginary component and actual-input defect at most `eta_X`. It uses +an exact, paid translation for `Q_f²`, the unchanged serial monomial +implementation, a literal Gaussian numerator table, and explicit owned +staging and cleanup. **The new outer header contract remains to be installed +by the full caller; no tariff cap, new kappa or unconditional theorem follows.** + +The source is the 3,095-event QUERY-only caller published at +`617903497387a98f7ca929ad0b6928dd32abffec`, using DreamingOfClouds' +[CrocSwap/integer-mult-bounds#6936](https://github.com/CrocSwap/integer-mult-bounds/pull/6936) +word and the [#6937](https://github.com/CrocSwap/integer-mult-bounds/pull/6937) +lineage. Its 14,480 expanded LAMBDA occurrences have 104 actual directions. +The exact source phase definition identifies `Q_f²` as the simultaneous +phase-free address translation by q in every central column. + +## What is new + +The published [precision package](https://github.com/CubeJerry/integer-mult-bounds/tree/56bc9383594a3efc303148e00bb746851abd1ed5/research/query-only-precision-envelope) +explicitly leaves a completed one-rounded LAMBDA primitive as a contract. +This package supplies its literal arithmetic and its actual source-to-monomial +recipe/header join. It does not treat a formal involution as a free reflection. + +`LambdaProvider` copies the complete public field into one owned bank, +executes the unchanged serial provider with the new identity9/offset-q, +phase-zero recipe, forms both width-`W+2` Gaussian numerators, and stages +one-rounded results back into that owned bank. Only after all components +pass final range checks does a separate literal COMMIT table write the +public field. Two one-component numerator banks are reused throughout. + +`HeaderView` physically changes exactly `remainder=0` and +`selected_axes=9f` in a private 23-field descriptor. It preserves the full +ambient row and every other field. This handles outer remainders that +cannot be passed directly to a rank-nine monomial. The complete geometry +and the meaning of the central axes are explicit in `PROOF.md`. + +The Gaussian STAGE tables have **5,275 rows per sign**. They form +`a-s*b+c+s*d` and `b+s*a+d-s*c` exactly before rounding. Three plus signs +and one minus sign give strict `W+2` headroom, so cancellation is not lost. +Upward rounding is applied once to each complete numerator; no commutation +of rounding with signs is assumed. + +Global LAMBDA stays outside tensor powers. Applying one butterfly per +column would be wrong: two odd factor characters give global Lambda=1, +while their factor Lambda product is -1. The source and controls retain +this distinction. + +## Admission, error and ownership + +The assembled provider requires uniform signed width `W>=2`, a common grid, +canonical complete fields, valid reserved current geometry, disjoint +physical segments, origin public/context heads, and contiguous old private +bodies. It succeeds exactly when the rounded outputs fit the public width. +The sufficient norm domain in the proof gives a total contract without +range rejection. Any X-fibre used for its norm must contain all 9f +translated axes. + +Its per-component residual is at most half a grid unit, so its actual-input +complete-fibre defect is `eta_X=2^((X-1)/2)*Delta`. The current precision +width/radius substitution remains conditional on genuine caller/header +installation and the other retained operator contracts. + +A named late arithmetic rejection preserves the entire public field, +retires the partial owned copy and all private work, and restores public +and context heads. This cleanup is explicit in the wrapper. Arbitrary +malformed/interrupted native execution and process termination are outside +that rollback statement. + +The current rank-nine construction has **1,965 fixed owned roles**, including +all retained monomial/ordinary/descriptor inventory, the new full-field +copy and two numerator banks. All old backing remains allocated after +retirement. No new recursive paid job or productive helper credit is added. + +## Positive cost and limits + +The complete inherited serial bill remains + + O_9(f*((g+1)*(Vraw+M1*A1^6)+V+(E+1)^4+P)), + +with `g=popcount(q)` (3 or 7 at these source ports). The new Gaussian work +has the conservative positive tape-plus-control bound `4096(S+1)`. +Copying, physical head returns, private header work, retirement, fixed +inventory, finite setup and initial dirty backing are additionally paid. +Only under the proof's explicit padding absorptions does this simplify to +`O_9(fV)`, plus setup and old history. No exchange rate to the old +1000-unit LAMBDA allowance or full supplier raw cap is asserted. + +The new recipe is derived from #6936. Reusing a generic implementation does +not mean the selected #6030 catalogue covers #6936: those sources have +22,803/3,453 versus 71,144/6,323 events/MOVEs respectively. Neither full +catalogue membership nor an existing outer-LAMBDA exporter is inferred. + +## Reproduction and executed evidence + +```bash +python3 -I -B research/current-rounded-lambda/verify.py --suite all +python3 -I -O -B research/current-rounded-lambda/verify.py --suite all +``` + +Expected: five `PASS_CURRENT_ROUNDED_LAMBDA_*` lines. Registered runs split +into audit, arithmetic, descriptor and composition suites, each capped at +120 seconds. Standard library only; exported replay needs no Git/network. + +Executed author evidence includes 544 exhaustive width-1/2 four-input cases, +1,536 wider endpoint cases, 12 complete physical header checks, both-sign +full reduced-rank compositions, a late rejection and retry, arithmetic +mutants, strict typed-source controls, and 53,248 source-character/compiled- +flip checks. Separate lead AI review checked 48 wider cases through +129-bit components, with a read-only-public STAGE trap, long-to-short +history, an independent rational oracle, 1,020 global character cases and +the full positive arithmetic bill. Exact receipts and reviewed hashes are +in `REVIEW.md` and its unchanged runner/JSON artifacts. + +**A complete nine-axis source numerical execution is not claimed.** The +minimum case has 4,096 records. The 16-record reduced run used over five +million physical actions in 0.91 seconds; simple record scaling already +screens the source case above the 120-second attempt cap, before extra +flips. This is a feasibility screen, not a wall-time lower-bound theorem. +The source-specific all-size join is proved using the retained provider; +reduced physical tests are clearly labelled. + +## Open next questions + +1. Install the actual outer source-token/header exporter and prove its + central-axis, common-grid and radius substitution for every occurrence. +2. Assemble all 14,480 positive invocation bills, owned lifetimes and + unfinished-context stock into a complete physical supplier invoice. +3. Complete the remaining native, arithmetic, recursive and analytic + recovery interfaces. All five framework assumptions remain globally open. +4. If a larger bounded replay environment is available, run a full actual + nine-axis composition without replacing its runtime with a host oracle. + +## Credit + +Prepared for **@CubeJerry**, with substantial **OpenAI assistance** in proof, +implementation, source analysis and verification. Credit DreamingOfClouds' +#6936/#6937 source and proposal; the native phase/monomial lineage including +[CrocSwap/integer-mult-bounds#3087](https://github.com/CrocSwap/integer-mult-bounds/pull/3087) +and [#4172](https://github.com/CrocSwap/integer-mult-bounds/pull/4172); +CubeJerry's lifecycle, scalar, serial-provider and source-precision work. +Gaussian identities, carries, Fourier characters and rounding are classical. +The contribution is their literal source-bound physical join and complete +stated cost/domain proof. AI review is not human or proof-kernel acceptance. +Canonical base: `7c49fe32c55de02c2c873655c804b16e4c3fef0a`. diff --git a/research/current-rounded-lambda/REVIEW.md b/research/current-rounded-lambda/REVIEW.md new file mode 100644 index 0000000000..d83a4de496 --- /dev/null +++ b/research/current-rounded-lambda/REVIEW.md @@ -0,0 +1,28 @@ +# Separate review and evidence limits + +The author AI supplied the literal tables, wrapper, source/header proof and +positive cost argument. Its direct integer oracle is separate from table +carry recurrences. Normal/optimized replays are regression checks. + +The lead AI independently reviewed the complete proof and actual monomial +consumer guards, then ran 48 wider cases with 224 real components, widths 1..129: +40 succeeded and 8 correctly rejected late overflow. Its public STAGE tape +was read-only, detecting any premature public write. It used a separate +exact-rational Gaussian oracle, dirty displaced work/context, long-to-short +retained backing and combined physical plus table-control accounting. The +largest measured bound ratio was 5807/45494. It independently checked the +14,480 source occurrences and 1,020 global character cases. + +The untouched runner and receipt are in `review/lambda-lead-check.py` and +`review/lambda-lead-review.json`. The latter records exact reviewed hashes +of PROOF.md, gaussian_table.py, lambda_provider.py and source_binding.py; +all match the final package. Strict integer signs/site/port guards were +included, with boolean-alias negative controls. No runtime/proof changes +were made after that review. The complete nine-axis source numerical job +was not executed by either reviewer and is not claimed. + +The runner shares retained checker hardware and supplied literal tables, +not the author arithmetic oracle. It is model-assisted independent reasoning +and code, not human review or proof-kernel certification. Finite cases do +not prove the all-size statement. A full caller/header export, tariff cap, +recursive stock/precision admission and outer recovery remain open. diff --git a/research/current-rounded-lambda/SOURCE.json b/research/current-rounded-lambda/SOURCE.json new file mode 100644 index 0000000000..0497a28a6d --- /dev/null +++ b/research/current-rounded-lambda/SOURCE.json @@ -0,0 +1,41 @@ +{ + "actual_rank9_owned_ports_by_q_weight": { + "3": 1965, + "7": 1965 + }, + "current_selected_catalogue_used": false, + "directions": 104, + "first_site": { + "port": 0, + "q": 11, + "raw": [ + "A", + "LAMBDA", + 0, + -1 + ], + "role": 0, + "sign": -1, + "site": 2, + "type": "A" + }, + "literal_recipe": "identity9, offset=q, phase=0, linear=quadratic=0", + "nine_axis_numeric_run": false, + "occurrences": 14480, + "old_caller_exporter_installed": false, + "one_column_exact_character_checks": 53248, + "q_weight_histogram": { + "3": 70, + "7": 34 + }, + "signs": { + "-1": 8832, + "1": 5648 + }, + "source_events": 3095, + "source_numeric_screen": "16-record reduced composition took0.91s;4096-record source exceeds230s by simple record scaling before extra flips, exceeding120s cap; no source execution claimed", + "type_occurrences": { + "A": 13824, + "B": 656 + } +} diff --git a/research/current-rounded-lambda/SOURCES.json b/research/current-rounded-lambda/SOURCES.json new file mode 100644 index 0000000000..75ea7c3d55 --- /dev/null +++ b/research/current-rounded-lambda/SOURCES.json @@ -0,0 +1,18 @@ +{ + "schema_version": 1, + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "files": [ + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec", + "sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81" + }, + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "d59b5035e7b4cbaa9d688a1d32dd0d6eb79c466a", + "sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa" + } + ] +} diff --git a/research/current-rounded-lambda/TASK.json b/research/current-rounded-lambda/TASK.json new file mode 100644 index 0000000000..f7a46f4785 --- /dev/null +++ b/research/current-rounded-lambda/TASK.json @@ -0,0 +1,93 @@ +{ + "schema_version": 1, + "task_id": "uniform-transfer-audit", + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_card": { + "id": "uniform-transfer-audit", + "question": "Can one of the selected record's five inherited assumptions be proved at its actual caller?", + "starting_points": [ + "docs/research/current-priorities.md", + "docs/research/research-family-status.md", + "certificates/selected-result.json", + "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md" + ], + "methods": [ + "Construct and independently check one source-bound instance of the stated first experiment.", + "Seek an exact counterexample or target-specific complete-budget obstruction to that same proposed change." + ], + "acceptance_gate": "Identify the proposition and what would change downstream; do not equate a finite replay with a universal proof.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_selected_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read revision 8, the selected review and live exact-source handoffs. Then follow this card's bounded first_experiment.", + "scope": "Source-bound orientation only, not a supplier replay or theorem proof." + }, + "first_experiment": "Choose one assumption ID (native_all_columns, owned_erasure, compiler, precision_tape, analytic_recovery), one quantified implication and exact dependency closure. Check current handoffs, including #5625 row reentry and #5707 root-prefix lowering, without treating their partial scope as the whole theorem. Prove or falsify that implication with a caller-bound argument; stop at the chosen obligation. Finite tests or root digits do not discharge an all-size statement.", + "bottleneck_link": "Judge the actual current supplier contract and complete signed target/paid bill; frozen-profile ceilings require an applicability proof.", + "allowed_variations": [ + "One exact source head, helper/cut region or quantified proposition and changed hypothesis; check live handoffs first. Different seeds are not different scopes." + ], + "scope_change_triggers": [ + "Changing source head, helper/cut domain, operation alphabet or caller boundary without recording the new scope.", + "Treating an archived proposal or local numerical pass as complete supplier admission." + ], + "overlap_terms": [ + "native_all_columns", + "owned_erasure", + "compiler", + "precision_tape", + "analytic_recovery" + ], + "existing_checks": [ + { + "scope": "PR #4100: proposed unconditional construction and finite checks, without independent acceptance.", + "evidence": "research/unconditional-batched-crt/README.md", + "remaining": "Independent proof audit of one caller-bound all-size implication; all other premises remain explicit.", + "status": "author-checked", + "source_commit": "337d04939571a637aeab54a0f58f54fde811663a", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "scope": "Selected PR5599: complete helper-subspace construction and independent caller replay; five framework assumptions remain.", + "evidence": "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md", + "remaining": "The next experiment must identify uncovered source-specific work. Successor archive intake does not transfer this admission.", + "status": "reviewed", + "source_commit": "09dd0965711ca7eeb169057a420abab1c9052137", + "selected_record_sha256": "2a0220e866417774606e0f991e41b9c1d26b1f43b97857238cf478dbc7d330b5" + } + ] + }, + "scope_status": "refined", + "scope_change_reason": "Lead wave9 addresses the explicit total global LAMBDA primitive contract left by the published source precision package.", + "actual_scope": "Literal source-bound global LAMBDA via exact phase-zero Q\u00b2 monomial, new private descriptor, one-rounded Gaussian table, signed/eta_X/lifecycle proof and complete unabsorbed cost.", + "bottleneck_link": "Closes a specific physical arithmetic and Q\u00b2 production implication under an explicit new caller/header domain; does not install the whole caller.", + "stop_rule": "Stop at this source-derived primitive and its exact domain. No full caller exporter, native whole-MOVE duplication, tariff exchange or new kappa.", + "evidence": "PROOF.md, unchanged serial provider, literal header/Gaussian tables, five receipts and independent lead review.", + "author": "@CubeJerry", + "ai_assistance": "Substantial OpenAI assistance in proof, implementation, source analysis and testing; separate AI review is not independent human or proof-kernel acceptance.", + "outcome": "completed", + "open_questions": [ + { + "question": "Install the actual outer Lambda token/header export.", + "why_it_matters": "The exact source recipe does not prove the old compiler emits the needed complete geometry and common format.", + "first_step": "Bind each source occurrence to its actual field and complete23-field descriptor, preserving central-axis order.", + "blocked_by": "Uninstalled caller/header exporter and its precision substitution." + }, + { + "question": "Assemble complete physical source costs and unfinished-context stock.", + "why_it_matters": "All14480 owned lifetimes, private histories and serial routes must be paid before a supplier cap can be inferred.", + "first_step": "Sum the unabsorbed physical bounds with all native/arithmetic services and recursive ancestors.", + "blocked_by": "No established exchange rate to the old abstract tariff." + }, + { + "question": "Run a bounded full actual nine-axis numerical composition when resources allow.", + "why_it_matters": "Current executed whole compositions are reduced-rank mechanisms; source-specific nine-axis joining is proved but not numerically replayed.", + "first_step": "Use the retained literal provider with a budget exceeding the screened4096-record requirement.", + "blocked_by": "Current120-second per-attempt budget; not a mathematical impossibility." + } + ] +} diff --git a/research/current-rounded-lambda/VERIFY.json b/research/current-rounded-lambda/VERIFY.json new file mode 100644 index 0000000000..9939ea6729 --- /dev/null +++ b/research/current-rounded-lambda/VERIFY.json @@ -0,0 +1,231 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "research/current-rounded-lambda/vendor/serial/vendor/monomial/phase_binding.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/phase_adapter.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/selected_service.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/DEPENDENCIES.json", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/PROOF.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/README.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/SOURCES.json", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/TASK.json", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/DEPENDENCIES.json", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/PROOF.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/binding_sources.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/codec.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/provider.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/DEFERRED-PROOF.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/SELECTED-RESULT.json", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/TASK-CATALOG.json", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/compact/PROOF.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/compact/compact_control.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/compact/compact_counts.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/compact/compact_engine.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/compact/compact_layout.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/compact/compact_streams.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/compact/native_sources.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/dispatch/PROOF.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/dispatch/TASK.json", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/dispatch/compiler_routes.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/dispatch/row_programs.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/dispatch/vendor/occurrence_geometry.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/dispatch/vendor/row_padding.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/lifecycle/PROOF.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/lifecycle/machine.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/lifecycle/source_ir.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/lockstep_executor.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/PROOF.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/binary.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/encoded.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/ordinary.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/physical_words.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/session.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/ordinary/source.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/record_lift/PROOF.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/record_lift/lift.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/reference/NOTICE.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/reference/compact.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/reference/streams.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2808/outer.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2808/vendor/pr2786/padding.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/consumer.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/driver.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/evidence/NOTICE.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/evidence/pr2688-NOTICE.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/layout.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/linear_sign.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/node.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/packet_engine.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/peel.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/NOTICE.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/cardinal_counts.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/catalogue.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/control.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/fresh_rows.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/topology.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/binding.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/bitstream.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/cardinality.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/children.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/controller.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/counts.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/directory.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/episode.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/forms.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/low_codes.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/matrices.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/numeric.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/oracle.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/packet.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/plan.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/records.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/routes.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/selection.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/sources.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/stream.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/recursive_call.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/scheduler.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/stream_runner.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2753/trace.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2769/NOTICE.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2769/codec.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2769/vendor/parking_machine.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/inputs/pr2769/vendor/words.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/macro_binding.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/macro_code.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/macro_machine.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/residual_blocks.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/role_parking.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/vendor/runtime/pr2809/scratch_pool.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/monomial/PROOF.md", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/monomial/SOURCES.json", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/monomial/monomial_engine.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/monomial/pair_dispatch.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/monomial/phase_recipe.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/monomial/phase_sources.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/monomial/reference.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/monomial/signed_phase.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/selected/RESULT.json", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/selected/WORD.json.gz", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/selected/clifford_exact.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/selected/native_verify.py", + "research/current-rounded-lambda/vendor/serial/vendor/monomial/check_fixture.py", + "research/current-rounded-lambda/vendor/serial/column_view.py", + "research/current-rounded-lambda/vendor/serial/serial_sources.py", + "research/current-rounded-lambda/vendor/serial/DEPENDENCIES.json", + "research/current-rounded-lambda/vendor/serial/PROOF.md", + "research/current-rounded-lambda/vendor/exact_scalar_tables.py", + "research/current-rounded-lambda/vendor/machine.py", + "research/current-rounded-lambda/vendor/scalar_fixture.py", + "research/current-rounded-lambda/reference/PRECISION-PROOF.md", + "research/current-rounded-lambda/data/caller.json", + "research/current-rounded-lambda/data/word.json.gz", + "research/current-rounded-lambda/reference/physical-review-6936.py", + "research/current-rounded-lambda/reference/jclib_6936.py" + ], + "commands": [ + { + "argv": [ + "{python}", + "-I", + "-B", + "research/current-rounded-lambda/verify.py", + "--suite", + "audit" + ], + "timeout_seconds": 120, + "checks": "Normal literal Lambda audit and exact adverse controls." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "research/current-rounded-lambda/verify.py", + "--suite", + "arithmetic" + ], + "timeout_seconds": 120, + "checks": "Normal literal Lambda arithmetic and exact adverse controls." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "research/current-rounded-lambda/verify.py", + "--suite", + "descriptor" + ], + "timeout_seconds": 120, + "checks": "Normal literal Lambda descriptor and exact adverse controls." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "research/current-rounded-lambda/verify.py", + "--suite", + "composition" + ], + "timeout_seconds": 120, + "checks": "Normal literal Lambda composition and exact adverse controls." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-B", + "research/current-rounded-lambda/verify.py", + "--suite", + "audit" + ], + "timeout_seconds": 120, + "checks": "Optimized literal Lambda audit and exact adverse controls." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-B", + "research/current-rounded-lambda/verify.py", + "--suite", + "arithmetic" + ], + "timeout_seconds": 120, + "checks": "Optimized literal Lambda arithmetic and exact adverse controls." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-B", + "research/current-rounded-lambda/verify.py", + "--suite", + "descriptor" + ], + "timeout_seconds": 120, + "checks": "Optimized literal Lambda descriptor and exact adverse controls." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-B", + "research/current-rounded-lambda/verify.py", + "--suite", + "composition" + ], + "timeout_seconds": 120, + "checks": "Optimized literal Lambda composition and exact adverse controls." + } + ] +} diff --git a/research/current-rounded-lambda/check_numeric.py b/research/current-rounded-lambda/check_numeric.py new file mode 100644 index 0000000000..5fb9656cef --- /dev/null +++ b/research/current-rounded-lambda/check_numeric.py @@ -0,0 +1,64 @@ +"""Bounded complete composition, direct address/Gaussian integer oracle.""" +from pathlib import Path +import json,sys,time,hashlib +ROOT=Path(__file__).resolve().parent;sys.path.insert(0,str(ROOT)) +from lambda_provider import LambdaProvider,S,M +from source_binding import need +from check_fixture import factory,header_bits,encode,endpoint +from ordinary import Ordinary + +def load(t,body):t.cells[t.origin:]=bytearray(body);t.head=t.origin;t.high=max(t.high,t.origin+len(body)) +def body(t): + out=[] + for x in t.cells[t.origin:]: + if x==6:break + out.append(x) + return out + +def run_case(rank=1,q=1,sign=1,f=1,h=3,late=False,*,reuse=None): + recipe=dict(matrix_rows=tuple(1<1 else 'small' + if mode=='source':r,_=run_case(9,11,1,1,2) + elif mode=='late':r,_=run_case(late=True) + elif mode=='inverse-sign':r,_=run_case(sign=-1) + else:r,_=run_case() + print(json.dumps(r,sort_keys=True),flush=True) diff --git a/research/current-rounded-lambda/data/caller.json b/research/current-rounded-lambda/data/caller.json new file mode 100644 index 0000000000..cf55f42710 --- /dev/null +++ b/research/current-rounded-lambda/data/caller.json @@ -0,0 +1 @@ +{"schema":"mixed-root-caller/1","stages":18,"ambient_rank":153,"roles":76,"types":{"A":{"form":"two-chain-HOST2","roles":38,"offset":0,"ports":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,36,37,38,39,40,41,43,44,45,46,48,49,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],"alpha2":"-1","beta2":"0","diagonal":[[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1]]},"B":{"form":"hosted-HOST","roles":38,"offset":38,"ports":[15,17,27,34,35,42,47,55],"diagonal":[[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1]],"pairs":[[0,1,"-1","1/2","-1/2"],[2,3,"-1","1/2","-1/2"],[4,5,"-1","1/2","-1/2"],[6,7,"-1","1/2","-1/2"],[8,9,"-1","1/2","-1/2"],[10,11,"-1","1/2","-1/2"],[12,13,"-1","1/2","-1/2"],[14,15,"-1","1/2","-1/2"],[16,17,"-1","1/2","-1/2"],[22,23,"-1","1/2","-1/2"],[24,25,"-1","1/2","-1/2"],[26,27,"-1","1/2","-1/2"],[28,29,"-1","1/2","-1/2"],[30,31,"-1","1/2","-1/2"],[32,33,"-1","1/2","-1/2"],[34,35,"-1","1/2","-1/2"],[36,37,"-1","1/2","-1/2"],[38,39,"-1","1/2","-1/2"]]}},"events":[["A","ADD",0,1,"-1"],["A","SWAP",0,1],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","SWAP",19,20],["A","SCALE",20,"-1"],["A","LAMBDA",19,1],["B","ADD",40,41,"-2"],["B","ADD",39,41,"1"],["B","ADD",38,41,"2"],["B","ADD",39,40,"1"],["B","ADD",38,40,"1"],["B","ADD",38,39,"-2"],["B","SCALE",39,"256"],["B","ADD",41,39,"-1/128"],["B","ADD",40,39,"1/128"],["B","SCALE",38,"128"],["B","ADD",41,38,"-1/128"],["B","ADD",40,38,"1/64"],["B","ADD",39,38,"1"],["B","LAMBDA",38,-1],["J",1,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",1,2,"1"],["A","ADD",0,2,"-1"],["A","SCALE",1,"-1"],["A","SWAP",1,2],["A","ADD",2,0,"-1"],["A","SWAP",0,1],["A","LAMBDA",0,-1],["A","ADD",20,21,"1"],["A","ADD",19,21,"-1"],["A","SCALE",20,"-1"],["A","SWAP",20,21],["A","SCALE",19,"-1"],["A","ADD",21,19,"1"],["A","SWAP",19,20],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",40,[1]],["B","IDLE_ONE",41,[1]],["B","ADD",42,43,"-2"],["B","ADD",40,43,"-2"],["B","ADD",39,43,"-256"],["B","ADD",38,43,"-128"],["B","ADD",41,42,"1"],["B","ADD",40,42,"-2"],["B","ADD",39,42,"-256"],["B","ADD",39,41,"256"],["B","ADD",38,41,"-128"],["B","ADD",38,40,"-128"],["B","ADD",41,40,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",43,39,"-1/128"],["B","ADD",42,39,"1/128"],["B","ADD",41,39,"1/128"],["B","ADD",40,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",43,38,"1/128"],["B","ADD",41,38,"-1/128"],["B","ADD",40,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",2,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",2,[2,3,4,5,6,7,8,9]],["A","ADD",1,3,"1"],["A","ADD",0,3,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,3],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",21,[2,3,4,5,6,7,8,9]],["A","ADD",20,22,"1"],["A","ADD",19,22,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,22],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",40,[2,3,4,5,6,7,8,9]],["B","IDLE_ONE",41,[2,3,4,5,6,7,8,9]],["B","IDLE_ONE",42,[2]],["B","IDLE_ONE",43,[2]],["B","ADD",44,45,"-2"],["B","ADD",42,45,"-2"],["B","ADD",39,45,"-256"],["B","ADD",38,45,"-128"],["B","ADD",43,44,"1"],["B","ADD",42,44,"-2"],["B","ADD",39,44,"-256"],["B","ADD",39,43,"256"],["B","ADD",38,43,"-128"],["B","ADD",38,42,"-128"],["B","ADD",43,42,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",45,39,"-1/128"],["B","ADD",44,39,"1/128"],["B","ADD",43,39,"1/128"],["B","ADD",42,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",45,38,"1/128"],["B","ADD",43,38,"-1/128"],["B","ADD",42,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",3,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",3,[3,4,5,6,7,8,9]],["A","ADD",1,4,"1"],["A","ADD",0,4,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,4],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",22,[3,4,5,6,7,8,9]],["A","ADD",20,23,"1"],["A","ADD",19,23,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,23],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",42,[3,4,5,6,7,8,9]],["B","IDLE_ONE",43,[3,4,5,6,7,8,9]],["B","IDLE_ONE",44,[3]],["B","IDLE_ONE",45,[3]],["B","ADD",46,47,"-2"],["B","ADD",44,47,"-2"],["B","ADD",39,47,"-256"],["B","ADD",38,47,"-128"],["B","ADD",45,46,"1"],["B","ADD",44,46,"-2"],["B","ADD",39,46,"-256"],["B","ADD",39,45,"256"],["B","ADD",38,45,"-128"],["B","ADD",38,44,"-128"],["B","ADD",45,44,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",47,39,"-1/128"],["B","ADD",46,39,"1/128"],["B","ADD",45,39,"1/128"],["B","ADD",44,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",47,38,"1/128"],["B","ADD",45,38,"-1/128"],["B","ADD",44,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",4,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",4,[4,5,6,7,8,9]],["A","ADD",1,5,"1"],["A","ADD",0,5,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,5],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",23,[4,5,6,7,8,9]],["A","ADD",20,24,"1"],["A","ADD",19,24,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,24],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",44,[4,5,6,7,8,9]],["B","IDLE_ONE",45,[4,5,6,7,8,9]],["B","IDLE_ONE",46,[4]],["B","IDLE_ONE",47,[4]],["B","ADD",48,49,"-2"],["B","ADD",46,49,"-2"],["B","ADD",39,49,"-256"],["B","ADD",38,49,"-128"],["B","ADD",47,48,"1"],["B","ADD",46,48,"-2"],["B","ADD",39,48,"-256"],["B","ADD",39,47,"256"],["B","ADD",38,47,"-128"],["B","ADD",38,46,"-128"],["B","ADD",47,46,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",49,39,"-1/128"],["B","ADD",48,39,"1/128"],["B","ADD",47,39,"1/128"],["B","ADD",46,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",49,38,"1/128"],["B","ADD",47,38,"-1/128"],["B","ADD",46,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",5,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",5,[5,6,7,8,9]],["A","ADD",1,6,"1"],["A","ADD",0,6,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,6],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",24,[5,6,7,8,9]],["A","ADD",20,25,"1"],["A","ADD",19,25,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,25],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",46,[5,6,7,8,9]],["B","IDLE_ONE",47,[5,6,7,8,9]],["B","IDLE_ONE",48,[5]],["B","IDLE_ONE",49,[5]],["B","ADD",50,51,"-2"],["B","ADD",48,51,"-2"],["B","ADD",39,51,"-256"],["B","ADD",38,51,"-128"],["B","ADD",49,50,"1"],["B","ADD",48,50,"-2"],["B","ADD",39,50,"-256"],["B","ADD",39,49,"256"],["B","ADD",38,49,"-128"],["B","ADD",38,48,"-128"],["B","ADD",49,48,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",51,39,"-1/128"],["B","ADD",50,39,"1/128"],["B","ADD",49,39,"1/128"],["B","ADD",48,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",51,38,"1/128"],["B","ADD",49,38,"-1/128"],["B","ADD",48,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",6,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",6,[6,7,8,9]],["A","ADD",1,7,"1"],["A","ADD",0,7,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,7],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",25,[6,7,8,9]],["A","ADD",20,26,"1"],["A","ADD",19,26,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,26],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",48,[6,7,8,9]],["B","IDLE_ONE",49,[6,7,8,9]],["B","IDLE_ONE",50,[6]],["B","IDLE_ONE",51,[6]],["B","ADD",52,53,"-2"],["B","ADD",50,53,"-2"],["B","ADD",39,53,"-256"],["B","ADD",38,53,"-128"],["B","ADD",51,52,"1"],["B","ADD",50,52,"-2"],["B","ADD",39,52,"-256"],["B","ADD",39,51,"256"],["B","ADD",38,51,"-128"],["B","ADD",38,50,"-128"],["B","ADD",51,50,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",53,39,"-1/128"],["B","ADD",52,39,"1/128"],["B","ADD",51,39,"1/128"],["B","ADD",50,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",53,38,"1/128"],["B","ADD",51,38,"-1/128"],["B","ADD",50,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",7,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",7,[7,8,9]],["A","ADD",1,8,"1"],["A","ADD",0,8,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,8],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",26,[7,8,9]],["A","ADD",20,27,"1"],["A","ADD",19,27,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,27],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",50,[7,8,9]],["B","IDLE_ONE",51,[7,8,9]],["B","IDLE_ONE",52,[7]],["B","IDLE_ONE",53,[7]],["B","ADD",54,55,"-2"],["B","ADD",52,55,"-2"],["B","ADD",39,55,"-256"],["B","ADD",38,55,"-128"],["B","ADD",53,54,"1"],["B","ADD",52,54,"-2"],["B","ADD",39,54,"-256"],["B","ADD",39,53,"256"],["B","ADD",38,53,"-128"],["B","ADD",38,52,"-128"],["B","ADD",53,52,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",55,39,"-1/128"],["B","ADD",54,39,"1/128"],["B","ADD",53,39,"1/128"],["B","ADD",52,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",55,38,"1/128"],["B","ADD",53,38,"-1/128"],["B","ADD",52,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",8,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",8,[8,9]],["A","ADD",1,9,"1"],["A","ADD",0,9,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,9],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",27,[8,9]],["A","ADD",20,28,"1"],["A","ADD",19,28,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,28],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",52,[8,9]],["B","IDLE_ONE",53,[8,9]],["B","IDLE_ONE",54,[8]],["B","IDLE_ONE",55,[8]],["B","ADD",56,57,"-2"],["B","ADD",54,57,"-2"],["B","ADD",39,57,"-256"],["B","ADD",38,57,"-128"],["B","ADD",55,56,"1"],["B","ADD",54,56,"-2"],["B","ADD",39,56,"-256"],["B","ADD",39,55,"256"],["B","ADD",38,55,"-128"],["B","ADD",38,54,"-128"],["B","ADD",55,54,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",57,39,"-1/128"],["B","ADD",56,39,"1/128"],["B","ADD",55,39,"1/128"],["B","ADD",54,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",57,38,"1/128"],["B","ADD",55,38,"-1/128"],["B","ADD",54,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",9,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",9,[9]],["A","SWAP",9,8],["A","SWAP",9,7],["A","SWAP",9,6],["A","SWAP",9,5],["A","SWAP",9,4],["A","SWAP",9,3],["A","SWAP",9,2],["A","ADD",0,1,"1"],["A","SCALE",1,"-1"],["A","SWAP",9,1],["A","ADD",18,0,"1"],["A","ADD",17,0,"1"],["A","ADD",16,0,"1"],["A","ADD",15,0,"1"],["A","ADD",14,0,"1"],["A","ADD",13,0,"1"],["A","ADD",12,0,"1"],["A","ADD",11,0,"1"],["A","ADD",10,0,"1"],["A","ADD",8,0,"1"],["A","ADD",7,0,"1"],["A","ADD",6,0,"1"],["A","ADD",5,0,"1"],["A","ADD",4,0,"1"],["A","ADD",3,0,"1"],["A","ADD",2,0,"1"],["A","ADD",1,0,"1"],["A","LAMBDA",0,1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",28,[9]],["A","SWAP",28,27],["A","SWAP",28,26],["A","SWAP",28,25],["A","SWAP",28,24],["A","SWAP",28,23],["A","SWAP",28,22],["A","SWAP",28,21],["A","ADD",19,20,"1"],["A","SCALE",20,"-1"],["A","SWAP",28,20],["A","ADD",37,19,"1"],["A","ADD",36,19,"1"],["A","ADD",35,19,"1"],["A","ADD",34,19,"1"],["A","ADD",33,19,"1"],["A","ADD",32,19,"1"],["A","ADD",31,19,"1"],["A","ADD",30,19,"1"],["A","ADD",29,19,"1"],["A","ADD",27,19,"1"],["A","ADD",26,19,"1"],["A","ADD",25,19,"1"],["A","ADD",24,19,"1"],["A","ADD",23,19,"1"],["A","ADD",22,19,"1"],["A","ADD",21,19,"1"],["A","ADD",20,19,"1"],["A","LAMBDA",19,1],["A","ADD",2,1,"-1"],["A","ADD",3,1,"-1"],["A","ADD",4,1,"-1"],["A","ADD",5,1,"-1"],["A","ADD",6,1,"-1"],["A","ADD",7,1,"-1"],["A","ADD",8,1,"-1"],["A","ADD",9,1,"-1"],["A","ADD",10,1,"-1"],["A","ADD",11,1,"-1"],["A","ADD",12,1,"-1"],["A","ADD",13,1,"-1"],["A","ADD",14,1,"-1"],["A","ADD",15,1,"-1"],["A","ADD",16,1,"-1"],["A","ADD",17,1,"-1"],["A","ADD",18,1,"-1"],["A","ADD",2,3,"-1"],["A","ADD",2,4,"1"],["A","ADD",2,5,"-1"],["A","ADD",2,6,"1"],["A","ADD",2,7,"-1"],["A","ADD",2,8,"1"],["A","ADD",2,9,"-1"],["A","ADD",2,10,"1"],["A","ADD",2,11,"-1"],["A","ADD",2,12,"1"],["A","ADD",2,13,"-1"],["A","ADD",2,14,"1"],["A","ADD",2,15,"-1"],["A","ADD",2,16,"1"],["A","ADD",2,17,"-1"],["A","ADD",2,18,"1"],["A","LAMBDA",2,1],["A","ADD",0,2,"-1"],["A","SWAP",0,1],["A","SWAP",19,1],["A","ADD",19,2,"1"],["A","LAMBDA",2,1],["A","LAMBDA",2,1],["A","LAMBDA",0,1],["A","LAMBDA",0,1],["A","ADD",1,0,"1"],["A","LAMBDA",0,-1],["A","LAMBDA",0,-1],["A","QUERY",0,19,-1],["A","LAMBDA",0,1],["A","LAMBDA",0,1],["A","ADD",1,0,"-1"],["A","LAMBDA",0,-1],["A","LAMBDA",0,-1],["A","QUERY",19,1,-1],["A","LAMBDA",0,1],["A","LAMBDA",0,1],["A","ADD",1,0,"1"],["A","LAMBDA",0,-1],["A","LAMBDA",0,-1],["A","LAMBDA",19,1],["A","LAMBDA",19,1],["A","ADD",2,19,"-1"],["A","LAMBDA",19,-1],["A","LAMBDA",19,-1],["A","QUERY",1,2,-1],["A","LAMBDA",19,1],["A","LAMBDA",19,1],["A","ADD",2,19,"1"],["A","LAMBDA",19,-1],["A","LAMBDA",19,-1],["A","LAMBDA",1,1],["A","LAMBDA",1,1],["A","ADD",0,1,"-1"],["A","LAMBDA",2,1],["A","LAMBDA",2,1],["A","LAMBDA",2,-1],["A","ADD",2,3,"1"],["A","ADD",2,4,"-1"],["A","ADD",2,5,"1"],["A","ADD",2,6,"-1"],["A","ADD",2,7,"1"],["A","ADD",2,8,"-1"],["A","ADD",2,9,"1"],["A","ADD",2,10,"-1"],["A","ADD",2,11,"1"],["A","ADD",2,12,"-1"],["A","ADD",2,13,"1"],["A","ADD",2,14,"-1"],["A","ADD",2,15,"1"],["A","ADD",2,16,"-1"],["A","ADD",2,17,"1"],["A","ADD",2,18,"-1"],["A","ADD",2,1,"1"],["A","ADD",3,1,"1"],["A","ADD",4,1,"1"],["A","ADD",5,1,"1"],["A","ADD",6,1,"1"],["A","ADD",7,1,"1"],["A","ADD",8,1,"1"],["A","ADD",9,1,"1"],["A","ADD",10,1,"1"],["A","ADD",11,1,"1"],["A","ADD",12,1,"1"],["A","ADD",13,1,"1"],["A","ADD",14,1,"1"],["A","ADD",15,1,"1"],["A","ADD",16,1,"1"],["A","ADD",17,1,"1"],["A","ADD",18,1,"1"],["A","ADD",1,18,"-1"],["A","ADD",1,17,"1"],["A","ADD",1,16,"-1"],["A","ADD",1,15,"1"],["A","ADD",1,14,"-1"],["A","ADD",1,13,"1"],["A","ADD",1,12,"-1"],["A","ADD",1,11,"1"],["A","ADD",1,10,"-1"],["A","ADD",1,9,"1"],["A","ADD",1,8,"-1"],["A","ADD",1,7,"1"],["A","ADD",1,6,"-1"],["A","ADD",1,5,"1"],["A","ADD",1,4,"-1"],["A","ADD",1,3,"1"],["A","ADD",1,2,"-1"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",18,0,"-1"],["A","ADD",17,0,"-1"],["A","ADD",16,0,"-1"],["A","ADD",15,0,"-1"],["A","ADD",14,0,"-1"],["A","ADD",13,0,"-1"],["A","ADD",12,0,"-1"],["A","ADD",11,0,"-1"],["A","ADD",10,0,"-1"],["A","ADD",9,0,"-1"],["A","ADD",8,0,"-1"],["A","ADD",7,0,"-1"],["A","ADD",6,0,"-1"],["A","ADD",5,0,"-1"],["A","ADD",4,0,"-1"],["A","ADD",3,0,"-1"],["A","ADD",2,0,"-1"],["A","LAMBDA",0,-1],["A","LAMBDA",0,1],["A","ADD",1,18,"-1"],["A","ADD",0,18,"-1"],["A","ADD",1,17,"1"],["A","ADD",0,17,"1"],["A","ADD",1,16,"-1"],["A","ADD",0,16,"-1"],["A","ADD",1,15,"1"],["A","ADD",0,15,"1"],["A","ADD",1,14,"-1"],["A","ADD",0,14,"-1"],["A","ADD",1,13,"1"],["A","ADD",0,13,"1"],["A","ADD",1,12,"-1"],["A","ADD",0,12,"-1"],["A","ADD",1,11,"1"],["A","ADD",0,11,"1"],["A","ADD",1,10,"-1"],["A","SCALE",10,"-1"],["A","ADD",1,9,"1"],["A","ADD",0,9,"1"],["A","SWAP",18,9],["A","ADD",1,8,"-1"],["A","ADD",0,8,"-1"],["A","SWAP",17,8],["A","ADD",1,7,"1"],["A","ADD",0,7,"1"],["A","SWAP",16,7],["A","ADD",1,6,"-1"],["A","ADD",0,6,"-1"],["A","SWAP",15,6],["A","ADD",1,5,"1"],["A","ADD",0,5,"1"],["A","SWAP",14,5],["A","ADD",1,4,"-1"],["A","ADD",0,4,"-1"],["A","SWAP",13,4],["A","ADD",1,3,"1"],["A","ADD",0,3,"1"],["A","SWAP",12,3],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SWAP",11,2],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","SWAP",10,1],["A","SWAP",1,0],["A","ADD",0,1,"2"],["A","LAMBDA",0,-1],["A","ADD",20,37,"-1"],["A","ADD",20,36,"1"],["A","ADD",20,35,"-1"],["A","ADD",20,34,"1"],["A","ADD",20,33,"-1"],["A","ADD",20,32,"1"],["A","ADD",20,31,"-1"],["A","ADD",20,30,"1"],["A","ADD",20,29,"-1"],["A","ADD",20,28,"1"],["A","ADD",20,27,"-1"],["A","ADD",20,26,"1"],["A","ADD",20,25,"-1"],["A","ADD",20,24,"1"],["A","ADD",20,23,"-1"],["A","ADD",20,22,"1"],["A","ADD",20,21,"-1"],["A","SCALE",20,"-1"],["A","SCALE",19,"-1"],["A","ADD",37,19,"-1"],["A","ADD",36,19,"-1"],["A","ADD",35,19,"-1"],["A","ADD",34,19,"-1"],["A","ADD",33,19,"-1"],["A","ADD",32,19,"-1"],["A","ADD",31,19,"-1"],["A","ADD",30,19,"-1"],["A","ADD",29,19,"-1"],["A","ADD",28,19,"-1"],["A","ADD",27,19,"-1"],["A","ADD",26,19,"-1"],["A","ADD",25,19,"-1"],["A","ADD",24,19,"-1"],["A","ADD",23,19,"-1"],["A","ADD",22,19,"-1"],["A","ADD",21,19,"-1"],["A","LAMBDA",19,-1],["A","QUERY",19,20,-1],["A","LAMBDA",19,1],["A","ADD",20,37,"-1"],["A","ADD",19,37,"-1"],["A","ADD",20,36,"1"],["A","ADD",19,36,"1"],["A","ADD",20,35,"-1"],["A","ADD",19,35,"-1"],["A","ADD",20,34,"1"],["A","ADD",19,34,"1"],["A","ADD",20,33,"-1"],["A","ADD",19,33,"-1"],["A","ADD",20,32,"1"],["A","ADD",19,32,"1"],["A","ADD",20,31,"-1"],["A","ADD",19,31,"-1"],["A","ADD",20,30,"1"],["A","ADD",19,30,"1"],["A","ADD",20,29,"-1"],["A","SCALE",29,"-1"],["A","ADD",20,28,"1"],["A","ADD",19,28,"1"],["A","SWAP",37,28],["A","ADD",20,27,"-1"],["A","ADD",19,27,"-1"],["A","SWAP",36,27],["A","ADD",20,26,"1"],["A","ADD",19,26,"1"],["A","SWAP",35,26],["A","ADD",20,25,"-1"],["A","ADD",19,25,"-1"],["A","SWAP",34,25],["A","ADD",20,24,"1"],["A","ADD",19,24,"1"],["A","SWAP",33,24],["A","ADD",20,23,"-1"],["A","ADD",19,23,"-1"],["A","SWAP",32,23],["A","ADD",20,22,"1"],["A","ADD",19,22,"1"],["A","SWAP",31,22],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SWAP",30,21],["A","ADD",19,20,"-1"],["A","SCALE",20,"-1"],["A","SWAP",29,20],["A","SCALE",19,"-1"],["A","SWAP",20,19],["A","ADD",19,20,"-2"],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",54,[9]],["B","IDLE_ONE",55,[9]],["B","IDLE_ONE",56,[9]],["B","IDLE_ONE",57,[9]],["B","ADD",56,75,"1"],["B","ADD",55,75,"1"],["B","ADD",53,75,"1"],["B","ADD",51,75,"1"],["B","ADD",49,75,"1"],["B","ADD",47,75,"1"],["B","ADD",45,75,"1"],["B","ADD",43,75,"1"],["B","ADD",41,75,"1"],["B","ADD",39,75,"-128"],["B","ADD",38,75,"64"],["B","ADD",56,73,"-1"],["B","ADD",55,73,"-1"],["B","ADD",53,73,"-1"],["B","ADD",51,73,"-1"],["B","ADD",49,73,"-1"],["B","ADD",47,73,"-1"],["B","ADD",45,73,"-1"],["B","ADD",43,73,"-1"],["B","ADD",41,73,"-1"],["B","ADD",39,73,"128"],["B","ADD",38,73,"-64"],["B","ADD",56,72,"2"],["B","ADD",55,72,"2"],["B","ADD",53,72,"2"],["B","ADD",51,72,"2"],["B","ADD",49,72,"2"],["B","ADD",47,72,"2"],["B","ADD",45,72,"2"],["B","ADD",43,72,"2"],["B","ADD",41,72,"2"],["B","ADD",39,72,"-256"],["B","ADD",38,72,"128"],["B","ADD",56,71,"-1"],["B","ADD",55,71,"-1"],["B","ADD",53,71,"-1"],["B","ADD",51,71,"-1"],["B","ADD",49,71,"-1"],["B","ADD",47,71,"-1"],["B","ADD",45,71,"-1"],["B","ADD",43,71,"-1"],["B","ADD",41,71,"-1"],["B","ADD",39,71,"128"],["B","ADD",38,71,"-64"],["B","ADD",56,69,"1"],["B","ADD",55,69,"1"],["B","ADD",53,69,"1"],["B","ADD",51,69,"1"],["B","ADD",49,69,"1"],["B","ADD",47,69,"1"],["B","ADD",45,69,"1"],["B","ADD",43,69,"1"],["B","ADD",41,69,"1"],["B","ADD",39,69,"-128"],["B","ADD",38,69,"64"],["B","ADD",56,68,"-2"],["B","ADD",55,68,"-2"],["B","ADD",53,68,"-2"],["B","ADD",51,68,"-2"],["B","ADD",49,68,"-2"],["B","ADD",47,68,"-2"],["B","ADD",45,68,"-2"],["B","ADD",43,68,"-2"],["B","ADD",41,68,"-2"],["B","ADD",39,68,"256"],["B","ADD",38,68,"-128"],["B","ADD",56,67,"1"],["B","ADD",55,67,"1"],["B","ADD",53,67,"1"],["B","ADD",51,67,"1"],["B","ADD",49,67,"1"],["B","ADD",47,67,"1"],["B","ADD",45,67,"1"],["B","ADD",43,67,"1"],["B","ADD",41,67,"1"],["B","ADD",39,67,"-128"],["B","ADD",38,67,"64"],["B","ADD",56,65,"-1"],["B","ADD",55,65,"-1"],["B","ADD",53,65,"-1"],["B","ADD",51,65,"-1"],["B","ADD",49,65,"-1"],["B","ADD",47,65,"-1"],["B","ADD",45,65,"-1"],["B","ADD",43,65,"-1"],["B","ADD",41,65,"-1"],["B","ADD",39,65,"128"],["B","ADD",38,65,"-64"],["B","ADD",56,64,"2"],["B","ADD",55,64,"2"],["B","ADD",53,64,"2"],["B","ADD",51,64,"2"],["B","ADD",49,64,"2"],["B","ADD",47,64,"2"],["B","ADD",45,64,"2"],["B","ADD",43,64,"2"],["B","ADD",41,64,"2"],["B","ADD",39,64,"-256"],["B","ADD",38,64,"128"],["B","ADD",56,63,"-1"],["B","ADD",55,63,"-1"],["B","ADD",53,63,"-1"],["B","ADD",51,63,"-1"],["B","ADD",49,63,"-1"],["B","ADD",47,63,"-1"],["B","ADD",45,63,"-1"],["B","ADD",43,63,"-1"],["B","ADD",41,63,"-1"],["B","ADD",39,63,"128"],["B","ADD",38,63,"-64"],["B","ADD",56,61,"1"],["B","ADD",55,61,"1"],["B","ADD",53,61,"1"],["B","ADD",51,61,"1"],["B","ADD",49,61,"1"],["B","ADD",47,61,"1"],["B","ADD",45,61,"1"],["B","ADD",43,61,"1"],["B","ADD",41,61,"1"],["B","ADD",39,61,"-128"],["B","ADD",38,61,"64"],["B","ADD",56,60,"-2"],["B","ADD",55,60,"-2"],["B","ADD",53,60,"-2"],["B","ADD",51,60,"-2"],["B","ADD",49,60,"-2"],["B","ADD",47,60,"-2"],["B","ADD",45,60,"-2"],["B","ADD",43,60,"-2"],["B","ADD",41,60,"-2"],["B","ADD",39,60,"256"],["B","ADD",38,60,"-128"],["B","ADD",56,59,"1"],["B","ADD",55,59,"1"],["B","ADD",53,59,"1"],["B","ADD",51,59,"1"],["B","ADD",49,59,"1"],["B","ADD",47,59,"1"],["B","ADD",45,59,"1"],["B","ADD",43,59,"1"],["B","ADD",41,59,"1"],["B","ADD",39,59,"-128"],["B","ADD",38,59,"64"],["B","ADD",39,57,"256"],["B","ADD",38,57,"-128"],["B","ADD",55,56,"-3/2"],["B","ADD",53,56,"-1"],["B","ADD",51,56,"-1"],["B","ADD",49,56,"-1"],["B","ADD",47,56,"-1"],["B","ADD",45,56,"-1"],["B","ADD",43,56,"-1"],["B","ADD",41,56,"-1"],["B","ADD",39,56,"128"],["B","ADD",38,56,"-64"],["B","SCALE",56,"1/2"],["B","ADD",53,55,"-1"],["B","ADD",51,55,"-1"],["B","ADD",49,55,"-1"],["B","ADD",47,55,"-1"],["B","ADD",45,55,"-1"],["B","ADD",43,55,"-1"],["B","ADD",41,55,"-1"],["B","ADD",39,55,"128"],["B","ADD",38,55,"64"],["B","SCALE",55,"-1"],["B","ADD",57,55,"1"],["B","SWAP",55,56],["B","ADD",53,54,"1/2"],["B","ADD",51,54,"1/2"],["B","ADD",49,54,"1/2"],["B","ADD",47,54,"1/2"],["B","ADD",45,54,"1/2"],["B","ADD",43,54,"1/2"],["B","ADD",41,54,"1/2"],["B","ADD",39,54,"-64"],["B","ADD",38,54,"-32"],["B","ADD",57,54,"1/2"],["B","ADD",56,54,"1/2"],["B","ADD",55,54,"1/2"],["B","ADD",51,52,"-1/2"],["B","ADD",49,52,"-1/2"],["B","ADD",47,52,"-1/2"],["B","ADD",45,52,"-1/2"],["B","ADD",43,52,"-1/2"],["B","ADD",41,52,"-1/2"],["B","ADD",39,52,"64"],["B","ADD",38,52,"32"],["B","ADD",57,52,"-1/2"],["B","ADD",56,52,"-1/2"],["B","ADD",55,52,"-1/2"],["B","ADD",53,52,"-1/2"],["B","ADD",49,51,"-1"],["B","ADD",47,51,"-2"],["B","ADD",45,51,"-1"],["B","ADD",43,51,"-1"],["B","ADD",41,51,"-1"],["B","ADD",39,51,"128"],["B","ADD",38,51,"64"],["B","ADD",57,51,"-1"],["B","ADD",56,51,"-1"],["B","ADD",55,51,"-1"],["B","ADD",53,51,"-1"],["B","ADD",47,50,"1/2"],["B","ADD",51,50,"-1/2"],["B","ADD",47,49,"-1"],["B","ADD",45,49,"-1"],["B","ADD",43,49,"-1"],["B","ADD",41,49,"-1"],["B","ADD",39,49,"128"],["B","ADD",38,49,"64"],["B","SCALE",49,"-1"],["B","ADD",57,49,"1"],["B","ADD",56,49,"1"],["B","ADD",55,49,"1"],["B","ADD",53,49,"1"],["B","SWAP",49,51],["B","ADD",47,48,"-1/2"],["B","ADD",49,48,"1/2"],["B","ADD",45,47,"-1"],["B","ADD",43,47,"-1"],["B","ADD",41,47,"-1"],["B","ADD",39,47,"128"],["B","ADD",38,47,"64"],["B","SCALE",47,"-1"],["B","ADD",57,47,"1"],["B","ADD",56,47,"1"],["B","ADD",55,47,"1"],["B","ADD",53,47,"1"],["B","ADD",51,47,"1"],["B","SWAP",47,49],["B","ADD",45,46,"1/2"],["B","ADD",43,46,"1/2"],["B","ADD",41,46,"1/2"],["B","ADD",39,46,"-64"],["B","ADD",38,46,"-32"],["B","ADD",57,46,"1/2"],["B","ADD",56,46,"1/2"],["B","ADD",55,46,"1/2"],["B","ADD",53,46,"1/2"],["B","ADD",51,46,"1/2"],["B","ADD",49,46,"1/2"],["B","ADD",47,46,"1/2"],["B","ADD",43,44,"-1/2"],["B","ADD",41,44,"-1/2"],["B","ADD",39,44,"64"],["B","ADD",38,44,"32"],["B","ADD",57,44,"-1/2"],["B","ADD",56,44,"-1/2"],["B","ADD",55,44,"-1/2"],["B","ADD",53,44,"-1/2"],["B","ADD",51,44,"-1/2"],["B","ADD",49,44,"-1/2"],["B","ADD",47,44,"-1/2"],["B","ADD",45,44,"-1/2"],["B","ADD",41,43,"-1"],["B","ADD",39,43,"128"],["B","ADD",38,43,"64"],["B","SCALE",43,"2"],["B","ADD",57,43,"-1/2"],["B","ADD",56,43,"-1/2"],["B","ADD",55,43,"-1/2"],["B","ADD",53,43,"-1/2"],["B","ADD",51,43,"-1/2"],["B","ADD",49,43,"-1/2"],["B","ADD",47,43,"-1/2"],["B","ADD",45,43,"-1/2"],["B","ADD",43,42,"-1"],["B","ADD",39,41,"128"],["B","ADD",38,41,"64"],["B","SCALE",41,"-1"],["B","ADD",57,41,"1"],["B","ADD",56,41,"1"],["B","ADD",55,41,"1"],["B","ADD",53,41,"1"],["B","ADD",51,41,"1"],["B","ADD",49,41,"1"],["B","ADD",47,41,"1"],["B","ADD",45,41,"1"],["B","SWAP",41,43],["B","ADD",41,40,"1"],["B","ADD",38,39,"-1/2"],["B","SCALE",39,"1/128"],["B","ADD",57,39,"1"],["B","ADD",56,39,"1"],["B","ADD",55,39,"1"],["B","ADD",53,39,"1"],["B","ADD",51,39,"1"],["B","ADD",49,39,"1"],["B","ADD",47,39,"1"],["B","ADD",45,39,"1"],["B","ADD",43,39,"1"],["B","SWAP",39,41],["B","SCALE",38,"1/128"],["B","ADD",57,38,"2"],["B","ADD",56,38,"2"],["B","ADD",55,38,"1"],["B","ADD",53,38,"1"],["B","ADD",51,38,"1"],["B","ADD",49,38,"1"],["B","ADD",47,38,"1"],["B","ADD",45,38,"1"],["B","ADD",43,38,"1"],["B","ADD",41,38,"1"],["B","ADD",39,38,"1"],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","ADD",39,75,"-1"],["B","ADD",39,73,"1"],["B","ADD",39,72,"-2"],["B","ADD",39,71,"1"],["B","ADD",39,69,"-1"],["B","ADD",39,68,"2"],["B","ADD",39,67,"-1"],["B","ADD",39,65,"1"],["B","ADD",39,64,"-2"],["B","ADD",39,63,"1"],["B","ADD",39,61,"-1"],["B","ADD",39,60,"2"],["B","ADD",39,59,"-1"],["B","ADD",39,56,"-1"],["B","ADD",39,55,"2"],["B","ADD",39,54,"-1"],["B","ADD",39,52,"1"],["B","ADD",39,51,"-2"],["B","ADD",39,50,"1"],["B","ADD",39,48,"-1"],["B","ADD",39,47,"2"],["B","ADD",39,46,"-1"],["B","ADD",39,44,"1"],["B","ADD",39,43,"-2"],["B","ADD",39,42,"1"],["B","ADD",39,40,"-1"],["B","ADD",38,39,"-1"],["B","ADD",57,39,"-1"],["B","ADD",56,39,"-2"],["B","ADD",55,39,"-1"],["B","ADD",54,39,"-2"],["B","ADD",53,39,"-1"],["B","ADD",52,39,"-2"],["B","ADD",51,39,"-1"],["B","ADD",50,39,"-2"],["B","ADD",49,39,"-1"],["B","ADD",48,39,"-2"],["B","ADD",47,39,"-1"],["B","ADD",46,39,"-2"],["B","ADD",45,39,"-1"],["B","ADD",44,39,"-2"],["B","ADD",43,39,"-1"],["B","ADD",42,39,"-2"],["B","ADD",41,39,"-1"],["B","ADD",40,39,"-2"],["B","SCALE",38,"1/2"],["B","ADD",74,38,"-1"],["B","ADD",72,38,"-1"],["B","ADD",70,38,"-1"],["B","ADD",68,38,"-1"],["B","ADD",66,38,"-1"],["B","ADD",64,38,"-1"],["B","ADD",62,38,"-1"],["B","ADD",60,38,"-1"],["B","ADD",58,38,"-1"],["B","ADD",57,38,"-1"],["B","ADD",56,38,"-2"],["B","ADD",55,38,"-1"],["B","ADD",54,38,"-2"],["B","ADD",53,38,"-1"],["B","ADD",52,38,"-2"],["B","ADD",51,38,"-1"],["B","ADD",50,38,"-2"],["B","ADD",49,38,"-1"],["B","ADD",48,38,"-2"],["B","ADD",47,38,"-1"],["B","ADD",46,38,"-2"],["B","ADD",45,38,"-1"],["B","ADD",44,38,"-2"],["B","ADD",43,38,"-1"],["B","ADD",42,38,"-2"],["B","ADD",41,38,"-1"],["B","ADD",40,38,"-2"],["B","ADD",39,38,"1"],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","SCALE",38,"2"],["B","ADD",75,38,"-1"],["B","ADD",74,38,"-1/2"],["B","ADD",73,38,"-1"],["B","ADD",72,38,"-1/2"],["B","ADD",71,38,"-1"],["B","ADD",70,38,"-1/2"],["B","ADD",69,38,"-1"],["B","ADD",68,38,"-1/2"],["B","ADD",67,38,"-1"],["B","ADD",66,38,"-1/2"],["B","ADD",65,38,"-1"],["B","ADD",64,38,"-1/2"],["B","ADD",63,38,"-1"],["B","ADD",62,38,"-1/2"],["B","ADD",61,38,"-1"],["B","ADD",60,38,"-1/2"],["B","ADD",59,38,"-1"],["B","ADD",58,38,"-1/2"],["B","ADD",57,38,"-1/2"],["B","ADD",55,38,"-1/2"],["B","ADD",53,38,"-1/2"],["B","ADD",51,38,"-1/2"],["B","ADD",49,38,"-1/2"],["B","ADD",47,38,"-1/2"],["B","ADD",45,38,"-1/2"],["B","ADD",43,38,"-1/2"],["B","ADD",41,38,"-1/2"],["B","ADD",39,38,"1/2"],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","ADD",74,75,"-1/2"],["B","ADD",73,75,"-1"],["B","ADD",72,75,"-1"],["B","ADD",71,75,"-1"],["B","ADD",70,75,"-1"],["B","ADD",69,75,"-1"],["B","ADD",68,75,"-1"],["B","ADD",67,75,"-1"],["B","ADD",66,75,"-1"],["B","ADD",65,75,"-1"],["B","ADD",64,75,"-1"],["B","ADD",63,75,"-1"],["B","ADD",62,75,"-1"],["B","ADD",61,75,"-1"],["B","ADD",60,75,"-1"],["B","ADD",59,75,"-1"],["B","ADD",58,75,"-1"],["B","ADD",56,75,"1"],["B","ADD",54,75,"1"],["B","ADD",52,75,"1"],["B","ADD",50,75,"1"],["B","ADD",48,75,"1"],["B","ADD",46,75,"1"],["B","ADD",44,75,"1"],["B","ADD",42,75,"1"],["B","ADD",40,75,"1"],["B","ADD",38,75,"1"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"2"],["B","ADD",72,74,"2"],["B","ADD",71,74,"2"],["B","ADD",70,74,"2"],["B","ADD",69,74,"2"],["B","ADD",68,74,"2"],["B","ADD",67,74,"2"],["B","ADD",66,74,"2"],["B","ADD",65,74,"2"],["B","ADD",64,74,"2"],["B","ADD",63,74,"2"],["B","ADD",62,74,"2"],["B","ADD",61,74,"2"],["B","ADD",60,74,"2"],["B","ADD",59,74,"2"],["B","ADD",58,74,"2"],["B","ADD",56,74,"-2"],["B","ADD",54,74,"-2"],["B","ADD",52,74,"-2"],["B","ADD",50,74,"-2"],["B","ADD",48,74,"-2"],["B","ADD",46,74,"-2"],["B","ADD",44,74,"-2"],["B","ADD",42,74,"-2"],["B","ADD",40,74,"-2"],["B","ADD",38,74,"-2"],["B","SCALE",74,"2"],["B","ADD",75,74,"3/2"],["B","SWAP",74,75],["B","ADD",71,72,"-1/2"],["B","ADD",70,72,"-1"],["B","ADD",69,72,"-1"],["B","ADD",68,72,"-1"],["B","ADD",67,72,"-1"],["B","ADD",66,72,"-1"],["B","ADD",65,72,"-1"],["B","ADD",64,72,"-1"],["B","ADD",63,72,"-1"],["B","ADD",62,72,"-1"],["B","ADD",61,72,"-1"],["B","ADD",60,72,"-1"],["B","ADD",59,72,"-1"],["B","ADD",58,72,"-1"],["B","ADD",56,72,"1"],["B","ADD",54,72,"1"],["B","ADD",52,72,"1"],["B","ADD",50,72,"1"],["B","ADD",48,72,"1"],["B","ADD",46,72,"1"],["B","ADD",44,72,"1"],["B","ADD",42,72,"1"],["B","ADD",40,72,"1"],["B","ADD",38,72,"1"],["B","SCALE",72,"-1/2"],["B","ADD",75,72,"2"],["B","ADD",74,72,"2"],["B","ADD",73,72,"2"],["B","ADD",70,71,"2"],["B","ADD",69,71,"2"],["B","ADD",68,71,"2"],["B","ADD",67,71,"2"],["B","ADD",66,71,"2"],["B","ADD",65,71,"2"],["B","ADD",64,71,"2"],["B","ADD",63,71,"2"],["B","ADD",62,71,"2"],["B","ADD",61,71,"2"],["B","ADD",60,71,"2"],["B","ADD",59,71,"2"],["B","ADD",58,71,"2"],["B","ADD",56,71,"-2"],["B","ADD",54,71,"-2"],["B","ADD",52,71,"-2"],["B","ADD",50,71,"-2"],["B","ADD",48,71,"-2"],["B","ADD",46,71,"-2"],["B","ADD",44,71,"-2"],["B","ADD",42,71,"-2"],["B","ADD",40,71,"-2"],["B","ADD",38,71,"-2"],["B","SCALE",71,"2"],["B","ADD",75,71,"1"],["B","ADD",74,71,"1"],["B","ADD",73,71,"1"],["B","ADD",72,71,"3/2"],["B","SWAP",71,72],["B","ADD",69,70,"-1"],["B","ADD",68,70,"-1/2"],["B","ADD",67,70,"-1"],["B","ADD",66,70,"-1"],["B","ADD",65,70,"-1"],["B","ADD",64,70,"-1"],["B","ADD",63,70,"-1"],["B","ADD",62,70,"-1"],["B","ADD",61,70,"-1"],["B","ADD",60,70,"-1"],["B","ADD",59,70,"-1"],["B","ADD",58,70,"-1"],["B","ADD",56,70,"1"],["B","ADD",54,70,"1"],["B","ADD",52,70,"1"],["B","ADD",50,70,"1"],["B","ADD",48,70,"1"],["B","ADD",46,70,"1"],["B","ADD",44,70,"1"],["B","ADD",42,70,"1"],["B","ADD",40,70,"1"],["B","ADD",38,70,"1"],["B","SCALE",70,"-1/2"],["B","ADD",75,70,"2"],["B","ADD",74,70,"2"],["B","ADD",73,70,"2"],["B","ADD",72,70,"2"],["B","ADD",71,70,"2"],["B","ADD",68,69,"1/2"],["B","ADD",67,69,"-1"],["B","ADD",66,69,"-1"],["B","ADD",65,69,"-1"],["B","ADD",64,69,"-1"],["B","ADD",63,69,"-1"],["B","ADD",62,69,"-1"],["B","ADD",61,69,"-1"],["B","ADD",60,69,"-1"],["B","ADD",59,69,"-1"],["B","ADD",58,69,"-1"],["B","ADD",56,69,"1"],["B","ADD",54,69,"1"],["B","ADD",52,69,"1"],["B","ADD",50,69,"1"],["B","ADD",48,69,"1"],["B","ADD",46,69,"1"],["B","ADD",44,69,"1"],["B","ADD",42,69,"1"],["B","ADD",40,69,"1"],["B","ADD",38,69,"1"],["B","SCALE",69,"-1"],["B","ADD",75,69,"1"],["B","ADD",74,69,"1"],["B","ADD",73,69,"1"],["B","ADD",72,69,"1"],["B","ADD",71,69,"1"],["B","ADD",70,69,"3/2"],["B","SWAP",69,70],["B","ADD",67,68,"2"],["B","ADD",66,68,"2"],["B","ADD",65,68,"2"],["B","ADD",64,68,"2"],["B","ADD",63,68,"2"],["B","ADD",62,68,"2"],["B","ADD",61,68,"2"],["B","ADD",60,68,"2"],["B","ADD",59,68,"2"],["B","ADD",58,68,"2"],["B","ADD",56,68,"-2"],["B","ADD",54,68,"-2"],["B","ADD",52,68,"-2"],["B","ADD",50,68,"-2"],["B","ADD",48,68,"-2"],["B","ADD",46,68,"-2"],["B","ADD",44,68,"-2"],["B","ADD",42,68,"-2"],["B","ADD",40,68,"-2"],["B","ADD",38,68,"-2"],["B","SCALE",68,"2"],["B","ADD",75,68,"1"],["B","ADD",74,68,"1"],["B","ADD",73,68,"1"],["B","ADD",72,68,"1"],["B","ADD",71,68,"1"],["B","ADD",70,68,"1"],["B","ADD",69,68,"3/2"],["B","SWAP",68,69],["B","ADD",66,67,"-1/2"],["B","ADD",65,67,"-1"],["B","ADD",64,67,"-1"],["B","ADD",63,67,"-1"],["B","ADD",62,67,"-1"],["B","ADD",61,67,"-1"],["B","ADD",60,67,"-1"],["B","ADD",59,67,"-1"],["B","ADD",58,67,"-1"],["B","ADD",56,67,"1"],["B","ADD",54,67,"1"],["B","ADD",52,67,"1"],["B","ADD",50,67,"1"],["B","ADD",48,67,"1"],["B","ADD",46,67,"1"],["B","ADD",44,67,"1"],["B","ADD",42,67,"1"],["B","ADD",40,67,"1"],["B","ADD",38,67,"1"],["B","SCALE",67,"-1/2"],["B","ADD",75,67,"2"],["B","ADD",74,67,"2"],["B","ADD",73,67,"2"],["B","ADD",72,67,"2"],["B","ADD",71,67,"2"],["B","ADD",70,67,"2"],["B","ADD",69,67,"2"],["B","ADD",68,67,"2"],["B","ADD",65,66,"2"],["B","ADD",64,66,"2"],["B","ADD",63,66,"2"],["B","ADD",62,66,"2"],["B","ADD",61,66,"2"],["B","ADD",60,66,"2"],["B","ADD",59,66,"2"],["B","ADD",58,66,"2"],["B","ADD",56,66,"-2"],["B","ADD",54,66,"-2"],["B","ADD",52,66,"-2"],["B","ADD",50,66,"-2"],["B","ADD",48,66,"-2"],["B","ADD",46,66,"-2"],["B","ADD",44,66,"-2"],["B","ADD",42,66,"-2"],["B","ADD",40,66,"-2"],["B","ADD",38,66,"-2"],["B","SCALE",66,"2"],["B","ADD",75,66,"1"],["B","ADD",74,66,"1"],["B","ADD",73,66,"1"],["B","ADD",72,66,"1"],["B","ADD",71,66,"1"],["B","ADD",70,66,"1"],["B","ADD",69,66,"1"],["B","ADD",68,66,"1"],["B","ADD",67,66,"3/2"],["B","SWAP",66,67],["B","ADD",63,64,"-1/2"],["B","ADD",62,64,"-1"],["B","ADD",61,64,"-1"],["B","ADD",60,64,"-1"],["B","ADD",59,64,"-1"],["B","ADD",58,64,"-1"],["B","ADD",56,64,"1"],["B","ADD",54,64,"1"],["B","ADD",52,64,"1"],["B","ADD",50,64,"1"],["B","ADD",48,64,"1"],["B","ADD",46,64,"1"],["B","ADD",44,64,"1"],["B","ADD",42,64,"1"],["B","ADD",40,64,"1"],["B","ADD",38,64,"1"],["B","SCALE",64,"-1/2"],["B","ADD",75,64,"2"],["B","ADD",74,64,"2"],["B","ADD",73,64,"2"],["B","ADD",72,64,"2"],["B","ADD",71,64,"2"],["B","ADD",70,64,"2"],["B","ADD",69,64,"2"],["B","ADD",68,64,"2"],["B","ADD",67,64,"2"],["B","ADD",66,64,"2"],["B","ADD",65,64,"2"],["B","ADD",62,63,"2"],["B","ADD",61,63,"2"],["B","ADD",60,63,"2"],["B","ADD",59,63,"2"],["B","ADD",58,63,"2"],["B","ADD",56,63,"-2"],["B","ADD",54,63,"-2"],["B","ADD",52,63,"-2"],["B","ADD",50,63,"-2"],["B","ADD",48,63,"-2"],["B","ADD",46,63,"-2"],["B","ADD",44,63,"-2"],["B","ADD",42,63,"-2"],["B","ADD",40,63,"-2"],["B","ADD",38,63,"-2"],["B","SCALE",63,"2"],["B","ADD",75,63,"1"],["B","ADD",74,63,"1"],["B","ADD",73,63,"1"],["B","ADD",72,63,"1"],["B","ADD",71,63,"1"],["B","ADD",70,63,"1"],["B","ADD",69,63,"1"],["B","ADD",68,63,"1"],["B","ADD",67,63,"1"],["B","ADD",66,63,"1"],["B","ADD",65,63,"1"],["B","ADD",64,63,"3/2"],["B","SWAP",63,64],["B","ADD",61,62,"-1"],["B","ADD",60,62,"-1/2"],["B","ADD",59,62,"-1"],["B","ADD",58,62,"-1"],["B","ADD",56,62,"1"],["B","ADD",54,62,"1"],["B","ADD",52,62,"1"],["B","ADD",50,62,"1"],["B","ADD",48,62,"1"],["B","ADD",46,62,"1"],["B","ADD",44,62,"1"],["B","ADD",42,62,"1"],["B","ADD",40,62,"1"],["B","ADD",38,62,"1"],["B","SCALE",62,"-1/2"],["B","ADD",75,62,"2"],["B","ADD",74,62,"2"],["B","ADD",73,62,"2"],["B","ADD",72,62,"2"],["B","ADD",71,62,"2"],["B","ADD",70,62,"2"],["B","ADD",69,62,"2"],["B","ADD",68,62,"2"],["B","ADD",67,62,"2"],["B","ADD",66,62,"2"],["B","ADD",65,62,"2"],["B","ADD",64,62,"2"],["B","ADD",63,62,"2"],["B","ADD",60,61,"1/2"],["B","ADD",59,61,"-1"],["B","ADD",58,61,"-1"],["B","ADD",56,61,"1"],["B","ADD",54,61,"1"],["B","ADD",52,61,"1"],["B","ADD",50,61,"1"],["B","ADD",48,61,"1"],["B","ADD",46,61,"1"],["B","ADD",44,61,"1"],["B","ADD",42,61,"1"],["B","ADD",40,61,"1"],["B","ADD",38,61,"1"],["B","SCALE",61,"-1"],["B","ADD",75,61,"1"],["B","ADD",74,61,"1"],["B","ADD",73,61,"1"],["B","ADD",72,61,"1"],["B","ADD",71,61,"1"],["B","ADD",70,61,"1"],["B","ADD",69,61,"1"],["B","ADD",68,61,"1"],["B","ADD",67,61,"1"],["B","ADD",66,61,"1"],["B","ADD",65,61,"1"],["B","ADD",64,61,"1"],["B","ADD",63,61,"1"],["B","ADD",62,61,"3/2"],["B","SWAP",61,62],["B","ADD",59,60,"2"],["B","ADD",58,60,"2"],["B","ADD",56,60,"-2"],["B","ADD",54,60,"-2"],["B","ADD",52,60,"-2"],["B","ADD",50,60,"-2"],["B","ADD",48,60,"-2"],["B","ADD",46,60,"-2"],["B","ADD",44,60,"-2"],["B","ADD",42,60,"-2"],["B","ADD",40,60,"-2"],["B","ADD",38,60,"-2"],["B","SCALE",60,"2"],["B","ADD",75,60,"1"],["B","ADD",74,60,"1"],["B","ADD",73,60,"1"],["B","ADD",72,60,"1"],["B","ADD",71,60,"1"],["B","ADD",70,60,"1"],["B","ADD",69,60,"1"],["B","ADD",68,60,"1"],["B","ADD",67,60,"1"],["B","ADD",66,60,"1"],["B","ADD",65,60,"1"],["B","ADD",64,60,"1"],["B","ADD",63,60,"1"],["B","ADD",62,60,"1"],["B","ADD",61,60,"3/2"],["B","SWAP",60,61],["B","ADD",58,59,"-1/2"],["B","ADD",56,59,"1"],["B","ADD",54,59,"1"],["B","ADD",52,59,"1"],["B","ADD",50,59,"1"],["B","ADD",48,59,"1"],["B","ADD",46,59,"1"],["B","ADD",44,59,"1"],["B","ADD",42,59,"1"],["B","ADD",40,59,"1"],["B","ADD",38,59,"1"],["B","SCALE",59,"-1/2"],["B","ADD",75,59,"2"],["B","ADD",74,59,"2"],["B","ADD",73,59,"2"],["B","ADD",72,59,"2"],["B","ADD",71,59,"2"],["B","ADD",70,59,"2"],["B","ADD",69,59,"2"],["B","ADD",68,59,"2"],["B","ADD",67,59,"2"],["B","ADD",66,59,"2"],["B","ADD",65,59,"2"],["B","ADD",64,59,"2"],["B","ADD",63,59,"2"],["B","ADD",62,59,"2"],["B","ADD",61,59,"2"],["B","ADD",60,59,"2"],["B","ADD",56,58,"-2"],["B","ADD",54,58,"-2"],["B","ADD",52,58,"-2"],["B","ADD",50,58,"-2"],["B","ADD",48,58,"-2"],["B","ADD",46,58,"-2"],["B","ADD",44,58,"-2"],["B","ADD",42,58,"-2"],["B","ADD",40,58,"-2"],["B","ADD",38,58,"-2"],["B","SCALE",58,"2"],["B","ADD",75,58,"1"],["B","ADD",74,58,"1"],["B","ADD",73,58,"1"],["B","ADD",72,58,"1"],["B","ADD",71,58,"1"],["B","ADD",70,58,"1"],["B","ADD",69,58,"1"],["B","ADD",68,58,"1"],["B","ADD",67,58,"1"],["B","ADD",66,58,"1"],["B","ADD",65,58,"1"],["B","ADD",64,58,"1"],["B","ADD",63,58,"1"],["B","ADD",62,58,"1"],["B","ADD",61,58,"1"],["B","ADD",60,58,"1"],["B","ADD",59,58,"3/2"],["B","SWAP",58,59],["B","ADD",56,57,"-2"],["B","ADD",54,57,"-2"],["B","ADD",52,57,"-2"],["B","ADD",50,57,"-2"],["B","ADD",48,57,"-2"],["B","ADD",46,57,"-2"],["B","ADD",44,57,"-2"],["B","ADD",42,57,"-2"],["B","ADD",40,57,"-2"],["B","ADD",38,57,"-2"],["B","ADD",75,57,"2"],["B","ADD",74,57,"2"],["B","ADD",73,57,"2"],["B","ADD",72,57,"2"],["B","ADD",71,57,"2"],["B","ADD",70,57,"2"],["B","ADD",69,57,"2"],["B","ADD",68,57,"2"],["B","ADD",67,57,"2"],["B","ADD",66,57,"2"],["B","ADD",65,57,"2"],["B","ADD",64,57,"2"],["B","ADD",63,57,"2"],["B","ADD",62,57,"2"],["B","ADD",61,57,"2"],["B","ADD",60,57,"2"],["B","ADD",59,57,"2"],["B","ADD",58,57,"2"],["B","ADD",54,56,"-2"],["B","ADD",52,56,"-2"],["B","ADD",50,56,"-2"],["B","ADD",48,56,"-2"],["B","ADD",46,56,"-2"],["B","ADD",44,56,"-2"],["B","ADD",42,56,"-2"],["B","ADD",40,56,"-2"],["B","ADD",38,56,"-2"],["B","SCALE",56,"-1"],["B","ADD",75,56,"-2"],["B","ADD",74,56,"-2"],["B","ADD",73,56,"-2"],["B","ADD",72,56,"-2"],["B","ADD",71,56,"-2"],["B","ADD",70,56,"-2"],["B","ADD",69,56,"-2"],["B","ADD",68,56,"-2"],["B","ADD",67,56,"-2"],["B","ADD",66,56,"-2"],["B","ADD",65,56,"-2"],["B","ADD",64,56,"-2"],["B","ADD",63,56,"-2"],["B","ADD",62,56,"-2"],["B","ADD",61,56,"-2"],["B","ADD",60,56,"-2"],["B","ADD",59,56,"-2"],["B","ADD",58,56,"-2"],["B","ADD",54,55,"2"],["B","ADD",52,55,"2"],["B","ADD",50,55,"2"],["B","ADD",48,55,"2"],["B","ADD",46,55,"2"],["B","ADD",44,55,"2"],["B","ADD",42,55,"2"],["B","ADD",40,55,"2"],["B","ADD",38,55,"2"],["B","ADD",75,55,"-2"],["B","ADD",74,55,"-2"],["B","ADD",73,55,"-2"],["B","ADD",72,55,"-2"],["B","ADD",71,55,"-2"],["B","ADD",70,55,"-2"],["B","ADD",69,55,"-2"],["B","ADD",68,55,"-2"],["B","ADD",67,55,"-2"],["B","ADD",66,55,"-2"],["B","ADD",65,55,"-2"],["B","ADD",64,55,"-2"],["B","ADD",63,55,"-2"],["B","ADD",62,55,"-2"],["B","ADD",61,55,"-2"],["B","ADD",60,55,"-2"],["B","ADD",59,55,"-2"],["B","ADD",58,55,"-2"],["B","ADD",56,55,"2"],["B","ADD",52,53,"-2"],["B","ADD",50,53,"-2"],["B","ADD",48,53,"-2"],["B","ADD",46,53,"-2"],["B","ADD",44,53,"-2"],["B","ADD",42,53,"-2"],["B","ADD",40,53,"-2"],["B","ADD",38,53,"-2"],["B","ADD",75,53,"2"],["B","ADD",74,53,"2"],["B","ADD",73,53,"2"],["B","ADD",72,53,"2"],["B","ADD",71,53,"2"],["B","ADD",70,53,"2"],["B","ADD",69,53,"2"],["B","ADD",68,53,"2"],["B","ADD",67,53,"2"],["B","ADD",66,53,"2"],["B","ADD",65,53,"2"],["B","ADD",64,53,"2"],["B","ADD",63,53,"2"],["B","ADD",62,53,"2"],["B","ADD",61,53,"2"],["B","ADD",60,53,"2"],["B","ADD",59,53,"2"],["B","ADD",58,53,"2"],["B","ADD",56,53,"-2"],["B","ADD",54,53,"-2"],["B","ADD",50,52,"-2"],["B","ADD",48,52,"-2"],["B","ADD",46,52,"-2"],["B","ADD",44,52,"-2"],["B","ADD",42,52,"-2"],["B","ADD",40,52,"-2"],["B","ADD",38,52,"-2"],["B","SCALE",52,"-1"],["B","ADD",75,52,"-2"],["B","ADD",74,52,"-2"],["B","ADD",73,52,"-2"],["B","ADD",72,52,"-2"],["B","ADD",71,52,"-2"],["B","ADD",70,52,"-2"],["B","ADD",69,52,"-2"],["B","ADD",68,52,"-2"],["B","ADD",67,52,"-2"],["B","ADD",66,52,"-2"],["B","ADD",65,52,"-2"],["B","ADD",64,52,"-2"],["B","ADD",63,52,"-2"],["B","ADD",62,52,"-2"],["B","ADD",61,52,"-2"],["B","ADD",60,52,"-2"],["B","ADD",59,52,"-2"],["B","ADD",58,52,"-2"],["B","ADD",56,52,"2"],["B","ADD",54,52,"2"],["B","ADD",50,51,"2"],["B","ADD",48,51,"2"],["B","ADD",46,51,"2"],["B","ADD",44,51,"2"],["B","ADD",42,51,"2"],["B","ADD",40,51,"2"],["B","ADD",38,51,"2"],["B","ADD",75,51,"-2"],["B","ADD",74,51,"-2"],["B","ADD",73,51,"-2"],["B","ADD",72,51,"-2"],["B","ADD",71,51,"-2"],["B","ADD",70,51,"-2"],["B","ADD",69,51,"-2"],["B","ADD",68,51,"-2"],["B","ADD",67,51,"-2"],["B","ADD",66,51,"-2"],["B","ADD",65,51,"-2"],["B","ADD",64,51,"-2"],["B","ADD",63,51,"-2"],["B","ADD",62,51,"-2"],["B","ADD",61,51,"-2"],["B","ADD",60,51,"-2"],["B","ADD",59,51,"-2"],["B","ADD",58,51,"-2"],["B","ADD",56,51,"2"],["B","ADD",54,51,"2"],["B","ADD",52,51,"2"],["B","ADD",48,49,"-2"],["B","ADD",46,49,"-2"],["B","ADD",44,49,"-2"],["B","ADD",42,49,"-2"],["B","ADD",40,49,"-2"],["B","ADD",38,49,"-2"],["B","ADD",75,49,"2"],["B","ADD",74,49,"2"],["B","ADD",73,49,"2"],["B","ADD",72,49,"2"],["B","ADD",71,49,"2"],["B","ADD",70,49,"2"],["B","ADD",69,49,"2"],["B","ADD",68,49,"2"],["B","ADD",67,49,"2"],["B","ADD",66,49,"2"],["B","ADD",65,49,"2"],["B","ADD",64,49,"2"],["B","ADD",63,49,"2"],["B","ADD",62,49,"2"],["B","ADD",61,49,"2"],["B","ADD",60,49,"2"],["B","ADD",59,49,"2"],["B","ADD",58,49,"2"],["B","ADD",56,49,"-2"],["B","ADD",54,49,"-2"],["B","ADD",52,49,"-2"],["B","ADD",50,49,"-2"],["B","ADD",46,48,"-2"],["B","ADD",44,48,"-2"],["B","ADD",42,48,"-2"],["B","ADD",40,48,"-2"],["B","ADD",38,48,"-2"],["B","SCALE",48,"-1"],["B","ADD",75,48,"-2"],["B","ADD",74,48,"-2"],["B","ADD",73,48,"-2"],["B","ADD",72,48,"-2"],["B","ADD",71,48,"-2"],["B","ADD",70,48,"-2"],["B","ADD",69,48,"-2"],["B","ADD",68,48,"-2"],["B","ADD",67,48,"-2"],["B","ADD",66,48,"-2"],["B","ADD",65,48,"-2"],["B","ADD",64,48,"-2"],["B","ADD",63,48,"-2"],["B","ADD",62,48,"-2"],["B","ADD",61,48,"-2"],["B","ADD",60,48,"-2"],["B","ADD",59,48,"-2"],["B","ADD",58,48,"-2"],["B","ADD",56,48,"2"],["B","ADD",54,48,"2"],["B","ADD",52,48,"2"],["B","ADD",50,48,"2"],["B","ADD",46,47,"2"],["B","ADD",44,47,"2"],["B","ADD",42,47,"2"],["B","ADD",40,47,"2"],["B","ADD",38,47,"2"],["B","ADD",75,47,"-2"],["B","ADD",74,47,"-2"],["B","ADD",73,47,"-2"],["B","ADD",72,47,"-2"],["B","ADD",71,47,"-2"],["B","ADD",70,47,"-2"],["B","ADD",69,47,"-2"],["B","ADD",68,47,"-2"],["B","ADD",67,47,"-2"],["B","ADD",66,47,"-2"],["B","ADD",65,47,"-2"],["B","ADD",64,47,"-2"],["B","ADD",63,47,"-2"],["B","ADD",62,47,"-2"],["B","ADD",61,47,"-2"],["B","ADD",60,47,"-2"],["B","ADD",59,47,"-2"],["B","ADD",58,47,"-2"],["B","ADD",56,47,"2"],["B","ADD",54,47,"2"],["B","ADD",52,47,"2"],["B","ADD",50,47,"2"],["B","ADD",48,47,"2"],["B","ADD",44,45,"-2"],["B","ADD",42,45,"-2"],["B","ADD",40,45,"-2"],["B","ADD",38,45,"-2"],["B","ADD",75,45,"2"],["B","ADD",74,45,"2"],["B","ADD",73,45,"2"],["B","ADD",72,45,"2"],["B","ADD",71,45,"2"],["B","ADD",70,45,"2"],["B","ADD",69,45,"2"],["B","ADD",68,45,"2"],["B","ADD",67,45,"2"],["B","ADD",66,45,"2"],["B","ADD",65,45,"2"],["B","ADD",64,45,"2"],["B","ADD",63,45,"2"],["B","ADD",62,45,"2"],["B","ADD",61,45,"2"],["B","ADD",60,45,"2"],["B","ADD",59,45,"2"],["B","ADD",58,45,"2"],["B","ADD",56,45,"-2"],["B","ADD",54,45,"-2"],["B","ADD",52,45,"-2"],["B","ADD",50,45,"-2"],["B","ADD",48,45,"-2"],["B","ADD",46,45,"-2"],["B","ADD",42,44,"-2"],["B","ADD",40,44,"-2"],["B","ADD",38,44,"-2"],["B","SCALE",44,"-1"],["B","ADD",75,44,"-2"],["B","ADD",74,44,"-2"],["B","ADD",73,44,"-2"],["B","ADD",72,44,"-2"],["B","ADD",71,44,"-2"],["B","ADD",70,44,"-2"],["B","ADD",69,44,"-2"],["B","ADD",68,44,"-2"],["B","ADD",67,44,"-2"],["B","ADD",66,44,"-2"],["B","ADD",65,44,"-2"],["B","ADD",64,44,"-2"],["B","ADD",63,44,"-2"],["B","ADD",62,44,"-2"],["B","ADD",61,44,"-2"],["B","ADD",60,44,"-2"],["B","ADD",59,44,"-2"],["B","ADD",58,44,"-2"],["B","ADD",56,44,"2"],["B","ADD",54,44,"2"],["B","ADD",52,44,"2"],["B","ADD",50,44,"2"],["B","ADD",48,44,"2"],["B","ADD",46,44,"2"],["B","ADD",42,43,"2"],["B","ADD",40,43,"2"],["B","ADD",38,43,"2"],["B","ADD",75,43,"-2"],["B","ADD",74,43,"-2"],["B","ADD",73,43,"-2"],["B","ADD",72,43,"-2"],["B","ADD",71,43,"-2"],["B","ADD",70,43,"-2"],["B","ADD",69,43,"-2"],["B","ADD",68,43,"-2"],["B","ADD",67,43,"-2"],["B","ADD",66,43,"-2"],["B","ADD",65,43,"-2"],["B","ADD",64,43,"-2"],["B","ADD",63,43,"-2"],["B","ADD",62,43,"-2"],["B","ADD",61,43,"-2"],["B","ADD",60,43,"-2"],["B","ADD",59,43,"-2"],["B","ADD",58,43,"-2"],["B","ADD",56,43,"2"],["B","ADD",54,43,"2"],["B","ADD",52,43,"2"],["B","ADD",50,43,"2"],["B","ADD",48,43,"2"],["B","ADD",46,43,"2"],["B","ADD",44,43,"2"],["B","ADD",40,41,"-2"],["B","ADD",38,41,"-2"],["B","ADD",75,41,"2"],["B","ADD",74,41,"2"],["B","ADD",73,41,"2"],["B","ADD",72,41,"2"],["B","ADD",71,41,"2"],["B","ADD",70,41,"2"],["B","ADD",69,41,"2"],["B","ADD",68,41,"2"],["B","ADD",67,41,"2"],["B","ADD",66,41,"2"],["B","ADD",65,41,"2"],["B","ADD",64,41,"2"],["B","ADD",63,41,"2"],["B","ADD",62,41,"2"],["B","ADD",61,41,"2"],["B","ADD",60,41,"2"],["B","ADD",59,41,"2"],["B","ADD",58,41,"2"],["B","ADD",56,41,"-2"],["B","ADD",54,41,"-2"],["B","ADD",52,41,"-2"],["B","ADD",50,41,"-2"],["B","ADD",48,41,"-2"],["B","ADD",46,41,"-2"],["B","ADD",44,41,"-2"],["B","ADD",42,41,"-2"],["B","ADD",38,40,"-2"],["B","SCALE",40,"-1"],["B","ADD",75,40,"-2"],["B","ADD",74,40,"-2"],["B","ADD",73,40,"-2"],["B","ADD",72,40,"-2"],["B","ADD",71,40,"-2"],["B","ADD",70,40,"-2"],["B","ADD",69,40,"-2"],["B","ADD",68,40,"-2"],["B","ADD",67,40,"-2"],["B","ADD",66,40,"-2"],["B","ADD",65,40,"-2"],["B","ADD",64,40,"-2"],["B","ADD",63,40,"-2"],["B","ADD",62,40,"-2"],["B","ADD",61,40,"-2"],["B","ADD",60,40,"-2"],["B","ADD",59,40,"-2"],["B","ADD",58,40,"-2"],["B","ADD",56,40,"2"],["B","ADD",54,40,"2"],["B","ADD",52,40,"2"],["B","ADD",50,40,"2"],["B","ADD",48,40,"2"],["B","ADD",46,40,"2"],["B","ADD",44,40,"2"],["B","ADD",42,40,"2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"-2"],["B","ADD",74,39,"-2"],["B","ADD",73,39,"-2"],["B","ADD",72,39,"-2"],["B","ADD",71,39,"-2"],["B","ADD",70,39,"-2"],["B","ADD",69,39,"-2"],["B","ADD",68,39,"-2"],["B","ADD",67,39,"-2"],["B","ADD",66,39,"-2"],["B","ADD",65,39,"-2"],["B","ADD",64,39,"-2"],["B","ADD",63,39,"-2"],["B","ADD",62,39,"-2"],["B","ADD",61,39,"-2"],["B","ADD",60,39,"-2"],["B","ADD",59,39,"-2"],["B","ADD",58,39,"-2"],["B","SCALE",38,"1/2"],["B","ADD",75,38,"2"],["B","ADD",74,38,"2"],["B","ADD",73,38,"2"],["B","ADD",72,38,"2"],["B","ADD",71,38,"2"],["B","ADD",70,38,"2"],["B","ADD",69,38,"2"],["B","ADD",68,38,"2"],["B","ADD",67,38,"2"],["B","ADD",66,38,"2"],["B","ADD",65,38,"2"],["B","ADD",64,38,"2"],["B","ADD",63,38,"2"],["B","ADD",62,38,"2"],["B","ADD",61,38,"2"],["B","ADD",60,38,"2"],["B","ADD",59,38,"2"],["B","ADD",58,38,"2"],["B","ADD",56,38,"-2"],["B","ADD",54,38,"-2"],["B","ADD",52,38,"-2"],["B","ADD",50,38,"-2"],["B","ADD",48,38,"-2"],["B","ADD",46,38,"-2"],["B","ADD",44,38,"-2"],["B","ADD",42,38,"-2"],["B","ADD",40,38,"-2"],["B","SWAP",38,39],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","ADD",39,75,"1"],["B","ADD",72,74,"-1"],["B","ADD",70,74,"-1"],["B","ADD",68,74,"-1"],["B","ADD",66,74,"-1"],["B","ADD",64,74,"-1"],["B","ADD",62,74,"-1"],["B","ADD",58,74,"-1/2"],["B","ADD",39,74,"1"],["B","SWAP",73,75],["B","ADD",39,72,"1"],["B","SWAP",72,74],["B","ADD",39,71,"-1"],["B","ADD",39,70,"1"],["B","ADD",39,68,"-1"],["B","ADD",39,67,"1"],["B","ADD",39,66,"-1"],["B","SWAP",65,69],["B","ADD",39,64,"1"],["B","SWAP",64,68],["B","ADD",39,63,"-1"],["B","SWAP",63,71],["B","ADD",39,62,"1"],["B","SWAP",62,70],["B","SWAP",61,75],["B","ADD",39,60,"-1"],["B","SWAP",60,74],["B","ADD",58,59,"-1"],["B","ADD",38,59,"1"],["B","SCALE",59,"-2"],["B","ADD",75,59,"1"],["B","ADD",74,59,"1"],["B","SWAP",59,73],["B","SCALE",58,"-2"],["B","ADD",72,58,"-1"],["B","ADD",70,58,"1"],["B","ADD",68,58,"1"],["B","ADD",66,58,"1"],["B","ADD",64,58,"1"],["B","ADD",62,58,"1"],["B","ADD",60,58,"1"],["B","ADD",39,57,"-1"],["B","ADD",39,56,"1"],["B","ADD",39,55,"-1"],["B","ADD",39,53,"1"],["B","ADD",39,52,"-1"],["B","ADD",39,51,"1"],["B","ADD",39,49,"-1"],["B","ADD",39,48,"1"],["B","ADD",39,47,"-1"],["B","ADD",39,45,"1"],["B","ADD",39,44,"-1"],["B","ADD",39,43,"1"],["B","ADD",39,41,"-1"],["B","ADD",39,40,"1"],["B","ADD",38,39,"1"],["B","SCALE",39,"-128"],["B","ADD",72,39,"1/64"],["B","ADD",70,39,"-1/64"],["B","ADD",68,39,"-1/64"],["B","ADD",66,39,"-1/64"],["B","ADD",64,39,"-1/64"],["B","ADD",62,39,"-1/64"],["B","ADD",60,39,"-1/64"],["B","ADD",58,39,"-1/64"],["B","SCALE",38,"128"],["B","ADD",75,38,"1/32"],["B","ADD",74,38,"1/64"],["B","ADD",73,38,"1/32"],["B","ADD",72,38,"-1/64"],["B","SWAP",38,39],["B","LAMBDA",38,-1],["J",10,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",2,[10]],["A","IDLE_ONE",3,[10,11]],["A","IDLE_ONE",4,[10,11,12]],["A","IDLE_ONE",5,[10,11,12,13]],["A","IDLE_ONE",6,[10,11,12,13,14]],["A","IDLE_ONE",7,[10,11,12,13,14,15]],["A","IDLE_ONE",8,[10,11,12,13,14,15,16]],["A","IDLE_ONE",9,[10,11,12,13,14,15,16,17]],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",21,[10]],["A","IDLE_ONE",22,[10,11]],["A","IDLE_ONE",23,[10,11,12]],["A","IDLE_ONE",24,[10,11,12,13]],["A","IDLE_ONE",25,[10,11,12,13,14]],["A","IDLE_ONE",26,[10,11,12,13,14,15]],["A","IDLE_ONE",27,[10,11,12,13,14,15,16]],["A","IDLE_ONE",28,[10,11,12,13,14,15,16,17]],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",58,[10,11,12,13,14,15,16,17]],["B","IDLE_ONE",59,[10,11,12,13,14,15,16,17]],["B","IDLE_ONE",60,[10,11,12,13,14,15,16]],["B","IDLE_ONE",61,[10,11,12,13,14,15,16]],["B","IDLE_ONE",62,[10,11,12,13,14,15]],["B","IDLE_ONE",63,[10,11,12,13,14,15]],["B","IDLE_ONE",64,[10,11,12,13,14]],["B","IDLE_ONE",65,[10,11,12,13,14]],["B","IDLE_ONE",66,[10,11,12,13]],["B","IDLE_ONE",67,[10,11,12,13]],["B","IDLE_ONE",68,[10,11,12]],["B","IDLE_ONE",69,[10,11,12]],["B","IDLE_ONE",70,[10,11]],["B","IDLE_ONE",71,[10,11]],["B","IDLE_ONE",72,[10]],["B","IDLE_ONE",73,[10]],["B","IDLE_ONE",74,[10]],["B","IDLE_ONE",75,[10]],["B","ADD",74,75,"-1/2"],["B","ADD",73,75,"-1"],["B","ADD",72,75,"1/2"],["B","ADD",39,75,"-64"],["B","SCALE",75,"1/4"],["B","ADD",72,74,"-2"],["B","SCALE",74,"2"],["B","ADD",75,74,"1/2"],["B","ADD",72,73,"3/2"],["B","ADD",39,73,"64"],["B","ADD",38,73,"64"],["B","SCALE",73,"2"],["B","ADD",75,73,"-5/8"],["B","ADD",74,73,"-3/2"],["B","SWAP",73,75],["B","ADD",38,72,"-64"],["B","ADD",74,72,"2"],["B","ADD",73,72,"3/2"],["B","SWAP",72,73],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","SWAP",61,63],["B","SWAP",60,62],["B","SWAP",59,61],["B","SWAP",58,60],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",59,39,"1/64"],["B","ADD",58,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",59,38,"-1/64"],["B","ADD",58,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",11,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[11]],["B","IDLE_ONE",75,[11]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","SWAP",61,63],["B","SWAP",60,62],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",61,39,"1/64"],["B","ADD",60,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",61,38,"-1/64"],["B","ADD",60,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",12,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[12]],["B","IDLE_ONE",75,[12]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",63,39,"1/64"],["B","ADD",62,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",63,38,"-1/64"],["B","ADD",62,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",13,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[13]],["B","IDLE_ONE",75,[13]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",65,39,"1/64"],["B","ADD",64,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",65,38,"-1/64"],["B","ADD",64,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",14,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[14]],["B","IDLE_ONE",75,[14]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",67,39,"1/64"],["B","ADD",66,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",67,38,"-1/64"],["B","ADD",66,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",15,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[15]],["B","IDLE_ONE",75,[15]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",69,39,"1/64"],["B","ADD",68,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",69,38,"-1/64"],["B","ADD",68,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",16,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[16]],["B","IDLE_ONE",75,[16]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",71,39,"1/64"],["B","ADD",70,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",71,38,"-1/64"],["B","ADD",70,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",17,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[17]],["B","IDLE_ONE",75,[17]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/4"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SCALE",74,"1/2"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"1"],["B","ADD",74,73,"-1/2"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1/2"],["B","ADD",73,72,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/64"],["B","ADD",74,39,"-1/128"],["B","ADD",73,39,"1/64"],["B","ADD",72,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/64"],["B","ADD",73,38,"-1/64"],["B","ADD",72,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",18,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","SWAP",2,18],["A","ADD",0,1,"-2"],["A","SWAP",1,18],["A","SCALE",0,"-1"],["A","ADD",18,0,"-1"],["A","LAMBDA",0,-1],["A","LAMBDA",1,-1],["A","LAMBDA",2,-1],["A","LAMBDA",3,-1],["A","LAMBDA",4,-1],["A","LAMBDA",5,-1],["A","LAMBDA",6,-1],["A","LAMBDA",7,-1],["A","LAMBDA",8,-1],["A","LAMBDA",9,-1],["A","LAMBDA",10,-1],["A","LAMBDA",11,-1],["A","LAMBDA",12,-1],["A","LAMBDA",13,-1],["A","LAMBDA",14,-1],["A","LAMBDA",15,-1],["A","LAMBDA",16,-1],["A","LAMBDA",17,-1],["A","LAMBDA",18,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","SWAP",21,37],["A","ADD",19,20,"-2"],["A","SWAP",20,37],["A","SCALE",19,"-1"],["A","ADD",37,19,"-1"],["A","LAMBDA",19,-1],["A","LAMBDA",20,-1],["A","LAMBDA",21,-1],["A","LAMBDA",22,-1],["A","LAMBDA",23,-1],["A","LAMBDA",24,-1],["A","LAMBDA",25,-1],["A","LAMBDA",26,-1],["A","LAMBDA",27,-1],["A","LAMBDA",28,-1],["A","LAMBDA",29,-1],["A","LAMBDA",30,-1],["A","LAMBDA",31,-1],["A","LAMBDA",32,-1],["A","LAMBDA",33,-1],["A","LAMBDA",34,-1],["A","LAMBDA",35,-1],["A","LAMBDA",36,-1],["A","LAMBDA",37,-1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[18]],["B","IDLE_ONE",75,[18]],["B","ADD",39,75,"-128"],["B","ADD",38,75,"64"],["B","SCALE",75,"-1"],["B","ADD",38,74,"128"],["B","SCALE",74,"-1"],["B","ADD",75,74,"2"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"1/128"],["B","ADD",75,39,"-2"],["B","ADD",74,39,"-1"],["B","SCALE",38,"1/128"],["B","ADD",75,38,"2"],["B","ADD",74,38,"2"],["B","SWAP",38,39],["B","LAMBDA",38,-1],["B","LAMBDA",39,-1],["B","LAMBDA",40,-1],["B","LAMBDA",41,-1],["B","LAMBDA",42,-1],["B","LAMBDA",43,-1],["B","LAMBDA",44,-1],["B","LAMBDA",45,-1],["B","LAMBDA",46,-1],["B","LAMBDA",47,-1],["B","LAMBDA",48,-1],["B","LAMBDA",49,-1],["B","LAMBDA",50,-1],["B","LAMBDA",51,-1],["B","LAMBDA",52,-1],["B","LAMBDA",53,-1],["B","LAMBDA",54,-1],["B","LAMBDA",55,-1],["B","LAMBDA",56,-1],["B","LAMBDA",57,-1],["B","LAMBDA",58,-1],["B","LAMBDA",59,-1],["B","LAMBDA",60,-1],["B","LAMBDA",61,-1],["B","LAMBDA",62,-1],["B","LAMBDA",63,-1],["B","LAMBDA",64,-1],["B","LAMBDA",65,-1],["B","LAMBDA",66,-1],["B","LAMBDA",67,-1],["B","LAMBDA",68,-1],["B","LAMBDA",69,-1],["B","LAMBDA",70,-1],["B","LAMBDA",71,-1],["B","LAMBDA",72,-1],["B","LAMBDA",73,-1],["B","LAMBDA",74,-1],["B","LAMBDA",75,-1]],"ops_note":"QSELF(x, k): R[x] *= q^k, one paid rank-1 job on one register (new op; not in the retained alphabet).; source interval457..575 replaced by a three-QUERY even-basis factorization; no QSELF"} diff --git a/research/current-rounded-lambda/data/word.json.gz b/research/current-rounded-lambda/data/word.json.gz new file mode 100644 index 0000000000..d93e67ca76 Binary files /dev/null and b/research/current-rounded-lambda/data/word.json.gz differ diff --git a/research/current-rounded-lambda/gaussian_table.py b/research/current-rounded-lambda/gaussian_table.py new file mode 100644 index 0000000000..327b6b45f7 --- /dev/null +++ b/research/current-rounded-lambda/gaussian_table.py @@ -0,0 +1,130 @@ +"""One final rounding of the global Lambda numerator, literal flat ABI. + +Ports: original public field, owned translated/staged field, real work, +imaginary work. No public write occurs in STAGE. COMMIT is separate. +""" +from source_binding import need,vendor +B=vendor('lambda_flat_builder','vendor/exact_scalar_tables.py') + +def compile_stage(sign,mutant=None): + need(type(sign)is int and sign in (-1,1),'fixed Lambda orientation') + b=B.Builder();b.request(('entry',));bad=('reject',) + def go(k):b.goto(k) + def br(p,c):b.branch(p,c,bad) + def mv(p,n=1): + for _ in range(abs(n)):b.emit('move',p,1 if n>0 else -1) + def nums(n=1):mv(2,n);mv(3,n) + def pubs():mv(0);mv(1) + def pairwrite(zr,zi):b.emit('write',2,zr);b.emit('write',3,zi);nums() + def realstep(kr,ki,x,y,left,seen): + vr=x+y+kr;vi=sign*(x-y)+ki;zr,zi=vr&1,vi&1;rr,ii=vr//2,vi//2 + need(abs(rr)<=2 and abs(ii)<=2,'bounded real carries');pairwrite(zr,zi) + if left is None:pubs();go(('real',rr,ii,x,y,seen)) + elif left>1:go(('real-high',left-1,rr,ii,x,y,seen)) + elif rr==x+y-zr and ii==sign*(x-y)-zi:go(('real-done',seen)) + else:go(bad) + def imagstep(kr,ki,x,y,nr,ni,left,seen): + vr=nr+sign*(y-x)+kr;vi=ni+x+y+ki;zr,zi=vr&1,vi&1;rr,ii=vr//2,vi//2 + need(abs(rr)<=3 and abs(ii)<=3,'bounded imaginary carries');pairwrite(zr,zi) + if left is None:pubs();go(('imag',rr,ii,x,y,seen)) + elif left>1:go(('imag-high',left-1,rr,ii,x,y,seen)) + elif rr==nr+sign*(y-x)-zr and ii==ni+x+y-zi:go(('imag-done',seen)) + else:go(bad) + while b.pending: + key=b.pending.popleft();b.mark(key);tag=key[0] + if tag=='reject':b.emit('reject','Lambda signed range or canonical format') + elif tag=='entry':br(2,{4:('entry-i',)}) + elif tag=='entry-i':br(3,{4:('markers',)}) + elif tag=='markers': + b.emit('write',2,5);b.emit('write',3,5);nums();go(('start',False)) + elif tag=='start': + _,seen=key;c={x:('real',0,0,2,2,seen) for x in (0,1)} + if seen:c[4]=('end-y',) + br(0,c) + elif tag=='end-y':br(1,{4:('halt',)}) + elif tag=='real': + _,kr,ki,sx,sy,seen=key;c={x:('real-y',kr,ki,x,seen) for x in (0,1)} + if sx in (0,1):c[2]=('real-end-y',kr,ki,sx,sy,seen) + br(0,c) + elif tag=='real-y': + _,kr,ki,x,seen=key;br(1,{y:('real-bit',kr,ki,x,y,seen) for y in (0,1)}) + elif tag=='real-bit':_,kr,ki,x,y,seen=key;realstep(kr,ki,x,y,None,seen) + elif tag=='real-end-y': + _,kr,ki,sx,sy,seen=key;br(1,{2:('real-high',2,kr,ki,sx,sy,seen)}) + elif tag=='real-high':_,left,kr,ki,x,y,seen=key;realstep(kr,ki,x,y,left,seen) + elif tag=='real-done': + _,seen=key;b.emit('write',2,2);b.emit('write',3,2);pubs();go(('rewind-both',('imag',0,0,2,2,seen))) + elif tag=='rewind-both': + _,nxt=key;nums(-1);br(2,{0:key,1:key,5:('both-ready',nxt)}) + elif tag=='both-ready':_,nxt=key;nums();go(nxt) + elif tag=='imag': + _,kr,ki,sx,sy,seen=key;c={x:('imag-y',kr,ki,x,seen) for x in (0,1)} + if sx in (0,1):c[2]=('imag-end-y',kr,ki,sx,sy,seen) + br(0,c) + elif tag=='imag-y': + _,kr,ki,x,seen=key;br(1,{y:('imag-r',kr,ki,x,y,None,seen) for y in (0,1)}) + elif tag=='imag-end-y': + _,kr,ki,x,y,seen=key;br(1,{2:('imag-high',2,kr,ki,x,y,seen)}) + elif tag=='imag-high':_,left,kr,ki,x,y,seen=key;go(('imag-r',kr,ki,x,y,left,seen)) + elif tag=='imag-r': + _,kr,ki,x,y,left,seen=key;br(2,{nr:('imag-i',kr,ki,x,y,nr,left,seen) for nr in (0,1)}) + elif tag=='imag-i': + _,kr,ki,x,y,nr,left,seen=key;br(3,{ni:('imag-bit',kr,ki,x,y,nr,ni,left,seen) for ni in (0,1)}) + elif tag=='imag-bit':_,kr,ki,x,y,nr,ni,left,seen=key;imagstep(kr,ki,x,y,nr,ni,left,seen) + elif tag=='imag-done': + _,seen=key;br(2,{2:('imag-done-i',seen)}) + elif tag=='imag-done-i':_,seen=key;br(3,{2:('back-y',0)}) + elif tag=='back-y': + _,phase=key;mv(2,-2);go(('back-y-bit',phase)) + elif tag=='back-y-bit': + _,phase=key;mv(2,-1);br(2,{0:('back-y-move',phase),1:('back-y-move',phase),5:('back-y-stop',phase)}) + elif tag=='back-y-move':_,phase=key;mv(1,-1);go(('back-y-bit',phase)) + elif tag=='back-y-stop': + _,phase=key;mv(2) + if phase==0:mv(1,-1);go(('seek-r-end',)) + else:go(('rewind-i',)) + elif tag=='seek-r-end':br(2,{0:('seek-r-step',),1:('seek-r-step',),2:('back-y',1)}) + elif tag=='seek-r-step':mv(2);go(('seek-r-end',)) + elif tag=='rewind-i':mv(3,-1);br(3,{0:key,1:key,5:('i-ready',)}) + elif tag=='i-ready':mv(3);go(('round-first',2,1 if mutant!='tie-down' else 0)) + elif tag=='round-first': + _,p,k=key;br(p,{n:('round-drop',p,k,n) for n in (0,1)}) + elif tag=='round-drop': + _,p,k,n=key;mv(p);go(('round-emit',p,(n+k)//2,2)) + elif tag=='round-emit': + _,p,k,sz=key;c={x:('round-n',p,k) for x in (0,1)} + if sz in (0,1):c[2]=('round-high',p,k,sz) + br(1,c) + elif tag=='round-n':_,p,k=key;br(p,{n:('round-bit',p,k,n) for n in (0,1)}) + elif tag=='round-bit': + _,p,k,n=key;v=n+k;z=v&1;b.emit('write',1,z);mv(1);mv(p);go(('round-emit',p,v//2,z)) + elif tag=='round-high':_,p,k,sz=key;br(p,{n:('round-high-bit',p,k,n,sz) for n in (0,1)}) + elif tag=='round-high-bit': + _,p,k,n,sz=key;v=n+k;z=v&1;kk=v//2 + if (z==sz and kk==n-sz) or mutant=='omit-range':mv(p);go(('round-end',p)) + else:go(bad) + elif tag=='round-end':_,p=key;br(p,{2:('round-next',p)}) + elif tag=='round-next': + _,p=key;b.emit('write',1,2);mv(1) + if p==2:go(('round-first',3,1 if mutant!='tie-down' else 0)) + else:mv(0);go(('rewind-both',('clear',))) + elif tag=='clear':br(2,{0:('clear-one',),1:('clear-one',),2:('clear-one',),4:('clear-back',)}) + elif tag=='clear-one':b.emit('write',2,4);b.emit('write',3,4);nums();go(('clear',)) + elif tag=='clear-back':nums(-1);br(2,{4:key,5:('clear-ready',)}) + elif tag=='clear-ready':nums();go(('start',True)) + elif tag=='halt':b.emit('halt') + else:raise ValueError(key) + return b.finish() + + +def compile_commit(): + b=B.Builder();b.request(('copy',));bad=('reject',) + while b.pending: + key=b.pending.popleft();b.mark(key) + if key[0]=='copy':b.branch(1,{s:('put',s) for s in (0,1,2)}|{4:('end',)},bad) + elif key[0]=='put':b.emit('write',0,key[1]);b.emit('move',0,1);b.emit('move',1,1);b.goto(('copy',)) + elif key[0]=='end':b.branch(0,{4:('halt',)},bad) + elif key[0]=='halt':b.emit('halt') + else:b.emit('reject','Lambda commit requires exact staged extent') + return b.finish() +COMMIT=compile_commit() diff --git a/research/current-rounded-lambda/lambda_provider.py b/research/current-rounded-lambda/lambda_provider.py new file mode 100644 index 0000000000..7d1933b182 --- /dev/null +++ b/research/current-rounded-lambda/lambda_provider.py @@ -0,0 +1,91 @@ +"""Actual Q² monomial, private descriptor and one-rounded Gaussian join.""" +from pathlib import Path +from types import SimpleNamespace +import sys +from source_binding import ROOT,authenticate,need,vendor,lambda_sites +from gaussian_table import compile_stage,COMMIT +M=vendor('lambda_retained_machine','vendor/machine.py') +authenticate();sys.path.insert(0,str(ROOT/'vendor/serial')) +from column_view import SerialProvider,S,literal +R=S.rows;ROLES=dict(R.SCHEMA);HEADER=R.HEADER;VIEW=R.CHILD_HEADER +PRIVATE=tuple(i for i in range(40) if i!=HEADER);FIELDS=tuple(p for _,p in R.SCHEMA) + +def compile_view(rank): + b=R.Builder() + for p in (HEADER,*PRIVATE):b.boundary(p) + for p in PRIVATE:b.empty(p) + b.decode(HEADER,FIELDS);b.canonical(ROLES['f'],positive=True) + b.clear(ROLES['remainder']);literal(b,ROLES['remainder'],0) + b.clear(ROLES['selected_axes']);b.copy(ROLES['f'],ROLES['selected_axes']) + for _ in range(rank-1): + b.add(ROLES['selected_axes'],ROLES['f'],R.CONSTANT) + b.clear(ROLES['selected_axes']);b.copy(R.CONSTANT,ROLES['selected_axes']);b.clear(R.CONSTANT) + b.encode(FIELDS,VIEW);return b.close() + +def release_view(): + b=R.Builder() + for p in PRIVATE:b.clear(p) + b.rewind(HEADER);return b.close() +RELEASE=release_view() + +class HeaderView: + port_count=len(PRIVATE) + def __init__(self,rank):self.table=compile_view(rank);self.active=False;self.ports=None + def bind(self,work,context): + need(len(work)==self.port_count,'private descriptor inventory') + self.ports={HEADER:R.PhysicalPort(context.tape)} + self.ports.update({r:R.PhysicalPort(t) for r,t in zip(PRIVATE,work)}) + @property + def context(self):return S.abi.BinaryContextPort(self.ports[VIEW].tape) + def prepare(self):self.active=True;R.run(self.table,self.ports) + def release(self): + try:R.run(RELEASE,self.ports) + finally:self.active=False + +def translation_recipe(q,rank=9): + need(type(rank)is int and 1<=rank<=9 and type(q)is int and 0=1`, `p,h>=0` be integers, with one common component grid +`Delta=2^-F`. Every real and imaginary component of every arbitrary public +input is on this grid and has absolute value less than `2^h` at the stated +raw/root boundary. Owned INIT produces exact zero. Public inputs include +every helper, independently; no correlation or cancellation is assumed. +For the outer-wrapper extension below, D is the total selected factor +`D=q+R`: the q preprocessed coordinates and the remaining reference factor +R. Establishing the input p,h domain at the chosen external boundary is +separately paid. The q kernels must precede the later R-fibre computation, +as stipulated by the retained wrapper contract; the proof converts once +from the D-fibre norm to the R-fibre norm in the safe direction. + +For a selected set of `X` binary coordinates use the supremum, over complete +`X`-fibres, of the Euclidean norm on that fibre's `2^X` complex entries. +Write this as `||z||_X`. For complete nested factors, `||z||_R<=||z||_D` when +`R` is contained in `D`. If every component has error at most `Delta/2`, +then the error in this norm is at most + + eta_X = 2^((X-1)/2) Delta. + +An input with the component bound above has fibre norm less than + + B_root = 2^(h+(D+1)/2). + +The norm contracts are explicit: + +* Each completed native frame change, Q query and D-mask job is the intended + complete-fibre unitary, with the absolute phases and column multiplicities + required by the inherited source. This is a semantic premise, not a + consequence of the finite frame-span check. +* Q and the D_j commute where the frozen exact endpoint uses that identity, + and `Q^4=I`. Therefore + + Lambda_s = ((1+s i) I + (1-s i) Q^2)/2, s in {-1,+1}, + + is unitary: the unitary involution Q^2 has eigenvalues ±1, and Lambda_s + has eigenvalues 1 and s i. In particular it is not `(I+Q^2)/2`. +* A completed primitive with ideal map T has a **total** contract on every + input in its declared grid/radius domain: it returns a grid value differing + from T of that actual input by at most its declared epsilon. The contract + may be nonlinear and its residual may depend adversarially on the input. + It must cover actual inputs to each recursive child, not just ideal ones. +* Scalar rounding, when invoked, is the total function + + RDiv_(a/b)(m) = floor((a m + floor(b/2))/b), gcd(a,b)=1, b>0. + + Its scalar residual has absolute value at most 1/2. Integer coefficients + are exact. For ADD, round the product and then add the old target exactly; + equivalently add the integer `b*old_target` inside the numerator. Negative + values use mathematical floor. Upward ties mean RDiv is not an odd map. +* Lambda needs its own completed primitive with residual at most eta_X, + for example exact formation of its common denominator-two numerator + followed by one rounding per component, with an exact Q^2 monomial + service. This is an explicit contract; no such physical table is installed + here. An implementation which rounds twice must supply the resulting + larger residual instead. + +For the local estimates take `epsilon>=eta_X`, and bound each completed +child, QUERY, IDLE and Lambda residual by epsilon. Arithmetic and native +operations must run to their completed source cut before another field +reads them. No assertion that partially constructed Clifford outputs are +Clifford vectors is used. Scalar numerator temporaries are handled separately +in section 6; arbitrary internals of a native provider are inherited +obligations, not unnamed source cuts certified by this package. + +**Why this is uniform in column multiplicity.** Tensor products of unitary +complete-fibre maps have norm one. Rational scalar coefficients are applied +once and are not raised to a tensor power. The only dimension factor is the +single conversion `eta_X` at a componentwise rounding site. These facts hold +for every positive column multiplicity under the complete-fibre premise. +Coordinate supremum norms do not have this property: the exact Gaussian row +`((1+i)/2,(1-i)/2)` sends `(1,i)` to `1+i`, of modulus sqrt(2). A phase error +may preserve norm one, so a norm certificate cannot certify native phase +correctness. + +## 3. Native prefix and suffix certificate + +For each live native register r carry two nonnegative rational numbers +`m_r,e_r`. Initially m=1 on every public input and m=0 on owned labels; +e=0 everywhere. At each source event use: + +| Source event | Mass update | Defect update | +|---|---|---| +| MOVE r | m_r unchanged | e_r <- e_r+1 | +| ADD/COPY r,s,q | m_r <- m_r+abs(q)m_s | e_r <- e_r+abs(q)e_s+1_(q noninteger) | +| SCALE r,q | m_r <- abs(q)m_r | e_r <- abs(q)e_r+1_(q noninteger) | +| INIT/CLEAR r | m_r <- 0 | e_r <- 0 | + +COPY in this source is additive COPY into freshly initialized zero. The +checker proves that source precondition. It does not erase an arbitrary +target's earlier residual by fiat. Register frames agree at scalar contacts; +each MOVE starts at its declared current frame and uses the declared public +or owned direction. A separate exact span/lifetime scan checks all of these +syntactic premises and the final public frame list. + +By chronological induction, at every source cut the exact ideal value has +norm at most `m_r B`, and the realized-minus-ideal value has norm at most +`e_r epsilon`, for input norms at most B. MOVE preserves norms by the stated +unitary contract. ADD and SCALE use the triangle inequality. INIT/CLEAR kill +all earlier error channels. Also track the product `abs(q)m_s` and its defect +bound before every ADD/COPY; rounded product residuals are bounded by the +corresponding final target bound, whose other summands are nonnegative. + +This positive propagation deliberately forgets all cancellations. It is a +valid, loose bound rather than a claim that these extrema are attained by a +choice of actual unitary inputs. In particular the large constants below do +not contradict the smaller cancellation-aware exact-grid row estimates. + +The exact rational scan of all 71,144 events gives: + +| Bound | Meaning | Strict bound | +|---|---|---:| +| M_W | all stored fields and pre-ADD products | 2^237 | +| Sigma_W | all-cut propagated unit residual mass | 2^235 | +| Gamma_W | returned public residual mass | 2^235 | + +The maximum prefix is register 1443 after event 71119; the returned defect +maximum is the same register after the whole word. `ENVELOPES.json` records +the exact rational values and witnesses, not floating logarithms. There are +6,323 MOVE sites and 25,923 noninteger scalar sites, including 4,143 odd +scalar divisions. There is no multiplication by the number of public fields +because the contract takes a maximum over fields. + +**Separate critical check.** `native_adjoint` starts a covector at each +reported maximum and runs the transpose recurrence backwards. Reverse ADD +adds `abs(q)*lambda_target` to the source covector; reverse SCALE multiplies +its covector; reverse INIT/CLEAR zeros it. A residual site contributes the +current target covector. The sum on initial public inputs reproduces M_W, +and the sum on residual sites reproduces Sigma_W/Gamma_W. There are 24,507 +nonzero residual-site contributions at the worst witness. This is a +separately coded reverse calculation, not an independent physical execution +or formal proof-kernel check. The forward induction is the mathematical +reason a finite exact source scan proves a statement about all inputs. + +## 4. Full caller and every expanded native cut + +Caller scalar operations use the same positive recurrence. SWAP permutes the +two pairs of bounds. LAMBDA and IDLE leave mass unchanged and add one unit +of residual. QUERY adds the source mass/error to the target and adds one +residual. This uses the complete query contract, including restoration; +it does not treat the query copy/erase lifecycle as free. + +For a J contact, the frozen exact local endpoint on the six symbolic main +roles is, with unitary factors suppressed in the positive bound, + + A: (u,v,x,y) -> (u, v+Q^-1 u, x-Q y, y), then D_j; + B: (s,t) -> (s-Q t, (Q^-1 s+t)/2), then D_j. + +Use the positive endpoint matrix + + (u,v,x,y,s,t) -> (u, v+u, x+y, y, s+t, (s+t)/2) + +on old mass/error values simultaneously, then add Gamma_W to each returned +main's defect coefficient. Helpers return their own unitary-transformed +input plus at most Gamma_W epsilon. Each helper family belongs to exactly +one joint stage, so it starts with mass bound 1 and no prior raw-caller +defect. This does not identify distinct helpers or suppose they vanish. + +At that J entrance let `m_in=max(1, the six main mass bounds)` and +`e_in=max(the six main defect bounds)`. Every internal native cut obeys + + ideal norm <= M_W m_in B; + defect norm <= (M_W e_in + Sigma_W) epsilon. + +These inequalities include prior caller errors arriving at a native call; +restarting the native word with zero error on its mains would be invalid. +They also include all fresh arbitrary helper inputs. The source scan checks +J stages 1 through 18 in order, type-local six-role bindings and 400 actual +main fields/1,061 helper fields at each contact. + +For the actual 3,095-event caller, the results are: + +| Bound | Strict bound | +|---|---:| +| Caller-only mass | 2^121 | +| Caller-only all-cut defect coefficient | 2^342 | +| Largest J entrance mass | 2^119 | +| Largest J entrance defect coefficient | 2^340 | +| **M_ctx**, including native interior products | **2^355** | +| **Sigma_ctx**, including native interior products | **2^576** | +| **Gamma_ctx**, all returned public fields | **2^337** | + +The worst J entrance is stage 18, caller event 2958. The caller-only peak is +role 38 at event 3049; the final defect maximum is role 75. Full exact +fractions, cuts and separate caller-adjoint identities are in the receipt. +The reverse J rule adds `sum(lambda_r)*Gamma_W` and transposes the six-role +positive endpoint matrix. It independently reproduces the caller peak, +entrance and final coefficients, separating J residuals from primitive +residuals. No old 67,079-event or previous-caller constant is reused. + +Thus this concrete expanded raw context has the all-input contract + + output defect <= Gamma_ctx epsilon; + every certified source cut <= M_ctx B + Sigma_ctx epsilon. + +The statement is uniform for all positive columns under section 2's operator +and completion premises. It is not a physical tape execution of the caller. + +## 5. Retained recursive precision guard, explicitly conditional + +This section proves a replacement-constant implication for the structural +organization S1--S5 of the pinned rounded note. It does **not** independently +establish those compiler, whole-job, ownership or normalization premises. +In particular retain the following: at most K_star unfinished raw contexts +per ordinary level; at most ell ordinary levels; at most K_star/v flow +classes; at most m(H+1) two-job frames; complete sequential splitting and +completion on disjoint axes with norm-one suffixes; a rank-e sequential base +with e=1, using `ell<=D/N`. + +The inherited split/completion sizes have `R<=153^v`, `J=11^v`, `L=12^v`. +Exactly, + + (R/J+1)(L/J+2) < 2^(6v). + +For example `(153/11)^v+1<2*16^v` and +`(12/11)^v+2<3*2^v`, and `6*32^v<64^v` for v>=3. The verifier also checks +the integer inequality without logarithms. Since Gamma_ctx<2^337, the +per-context equivalent gain after this charge has logarithm less than 343. +The positive noncontext overhead + + m(H+1)+H+log2(m) <= K_star + +follows from the checked stronger bound with `log2(m)<8v`. Since +`log2(M_ctx+1)<356`, the retained path accounting yields + + X(D) = 2 log2(D+3) + 344 t, + L(D) = 1 + 357 t, + E_root <= 2^((D-1)/2 - F + X(D)), + admitted input radius <= B_root * 2^L(D). + +These are convenient strict upper envelopes, not optimal constants. + +**Admission is not circular.** Keep raw contexts as individual nodes in +the defect tree; do not collapse their all-cut coefficients into a silently +larger unreported Sigma. A split/completion node has unitary prefixes and +at most `m+2` sequential child residuals. A frame has two; a base has fewer +than m; a remainder fewer than N. The wrapper, if grouped, has at most D+3. +Therefore for D>=N a valid coarse bound is + + max Sigma_node <= N (D+3). + +This deliberately retains the wrapper's D dependence. A wrapper cannot in +general be bounded by N merely because the local remainder is below N. +For every node the chronological argument is: if earlier child contracts +held, its local error term is at most `Sigma_node E_root`; if this is at +most 1<=B_root, the next child lies in the advertised enlarged radius. +Its total contract applies, allowing the induction to continue. + +Take g=0 for D>=19 and g=5 for 1<=D<19, and set + + F=p+D+g, J=h+D+2, W=F+J+1=p+h+2D+3+g. + +For D>=N, `344t=16, its left side is less +than `4k+7<=2^(k-3)<=D/8`; the elementary integer induction is recorded. +Hence + + X(D)+H+log2(D+3) < D/4 <= (D-1)/2. + +It follows that `E_root*N*(D+3)<=2^(-p-1)<=1`, closing the admission guard, +and in particular `E_root<=2^(-p-1)`. The radius exponent satisfies + + h+(D+1)/2+L(D) < h+D+2 = J, + +so every certified signed component lies strictly inside the W-bit range +on grid 2^-F. + +If ell=0, the retained structure has no raw contexts or upper ordinary +frames; only the sequential base/wrapper estimate remains. The guard is +equivalent to + + (D+3)^4 <= 2^(D+2g-1). + +The verifier checks D=1,...,19 exactly. It continues for D>=19 because +`((D+4)/(D+3))^4<2` there and decreases. The control g=4 at D=3 fails. +Moreover `(D+3)/2<=2^((D+1)/2)`, so the direct sequential stored bound is +at most `2 B_root`, again strictly inside 2^J. This concludes the conditional +common-grid, error and signed-admission implication for all D>=1. + +The output error is a complex-modulus bound because the fibre norm bounds +each coordinate modulus. It does not preserve a strict unit-disk boundary: +the outer shrink/quantizer and analytic recovery changes discussed in the +rounded note still need their own full source and cost admission. + +## 6. Integer temporaries and complete cost boundary + +The actual native source has maximum numerator 14,729,531, at event 252, +and maximum denominator 393,216, at event 2798. It has 864 coefficients +whose numerators exceed 40,864. Thus the old rounded note's 16-bit numerator +premise is false for this source. The new safe bound is + + abs(a)<2^24, b<2^19, temporary signed width W+26. + +Indeed a signed W-bit input has absolute value at most 2^(W-1), so +`abs(a*m)<2^(W+23)`. The rounding offset is below 2^18. Even forming an +ADD numerator `b*target+a*source+floor(b/2)` has absolute value below +`2^(W+25)`, the signed magnitude limit of W+26 bits, with room for sign +extension/carry. Lambda's denominator-two numerator uses fewer such bits. +An output width check is justified by section 5's source-cut bound, not by +merely enlarging its temporary. Variable power-of-two normalization divisors +can be implemented by a bit drop and carry, but their actual service and +schedule remain inherited contracts. + +This width calculation is not a construction of total RDiv on the retained +machine. The existing exact table has different rejection semantics. +The rounded note outlines multiply/offset, a most-significant-first signed +division pass and possible reversals; a literal table must still account +for all those passes, head resets, full source and target access, staging, +restoration, owned allocation/return and erasure of initially dirty and +historically longer backing. Old parked ancestors and simultaneous children +remain live. None of them is removed by a source norm proof. + +An optimistic positive tariff screen is nevertheless useful. Starting from +the published QUERY-only conditional total 826,265,904, keep its 2,734,992 +exact 1125-conversion charge conservatively even though the unscaled rounded +mode does not use it. Declare the additional arithmetic model + + per noninteger a/b: + 4 (bit_length(b)+1) [1 + 3*1_(oddpart(b)>1)]. + +This prices one offset scan at every noninteger scalar and three extra +scans at an odd divisor, in the prior raw tariff's scan unit. It is a +declared model, not a measured physical guarantee. Use it also for outer +caller scalars and once for each denominator-two Lambda offset. The exact +current census is: + +| Positive item | Charge in this declared model | +|---|---:| +| Native surcharge per call | 941,128 | +| All 18 native calls | 16,940,304 | +| Outer scalar offsets at all actual ports | 51,520 | +| Outer Lambda offsets at all actual ports | 173,760 | +| Total extra | 17,165,584 | +| Baseline plus extra | 843,431,488 | +| Remaining below inherited 10^9 cap | 156,568,512 | + +There is no omitted field-replication factor in this **model census**. QUERY +and IDLE completed-child charges are already in the baseline, and the +18 native words, 416 outer QUERY lifetimes, 54 local owned lifetimes per +call and peak 43 local owned banks remain. Their complete positive costs +must remain in an actual implementation invoice. A finite table/code +construction, authenticated source decoding and any denominator setup are +additional fixed-template work, with positive finite constants; they are +not charged as zero by this package. The complete physical runtime has the +form of those fixed setup costs plus the actual full scans and historical +backing terms, each on width W+26. We do not have their certified coefficient +and therefore do **not** infer the cap, recurrence or a new kappa for the +rounded implementation from this optimistic table. + +## 7. An actual source cut where the exact service cannot implement the contract + +The five consecutive zero-based native events are authenticated literally: + + 37476 MOVE 697 1042 -> 591 public + 37477 MOVE 1334 1042 -> 1046 public + 37478 MOVE 901 565 -> 591 public + 37479 SCALE 1334 1/2 frame1046 + 37480 SCALE 697 -2/3 frame591 + +Start all arbitrary public inputs at zero and every earlier primitive +residual at zero. The ideal execution is zero. At the completed MOVE37476, +allow the child to return one quantum Delta in one real component of field +697; all other components and all subsequent child residuals are zero. +This is an allowed format output under a total child contract with +epsilon>=Delta and adequate radius. Such a contract is allowed by the +eta_X model for X>=1. The three intervening events do not access field697. + +At SCALE37480 its numerator is 1. The exact result would have numerator +`-2/3`, which is not an integer. Therefore **for every common grid precision +F**, the retained checked exact SCALE rejects this permitted input. Making +Delta smaller reduces the absolute defect but never removes the +divisibility obstruction. This is a countermodel to an implication from +the abstract rounded-child contract to exact-service admission. It is +**not evidence that a retained MOVE implementation actually produces this +one-quantum defect**. + +The total RDiv alternative returns numerator -1, whose residual is -1/3 +quantum; that is within its half-quantum contract. An exact child, by +contrast, returns zero here and the checked exact scalar succeeds. Thus +the countermodel does not refute the ideal exact-grid theorem or the +S=1125 prefix proof; it locates the extra interface premise needed to move +between exact and rounded modes. + +`boundary.py` compiles the frozen generic `SCALE(-2/3)` finite table and +executes it through the unchanged lifecycle `execute_table`. On widths +3 through 9 it checks zero, ±3, 1, and a late-component `(3,1)` failure: +35 cases, 21 accepts and 14 rejects, with a separate integer +divisibility/range oracle. Rejections leave every public component +unchanged; success restores all heads and erases initially dirty private +work. Rejected work/head positions may be dirty/unrestored: no rollback or +successful caller continuation is claimed. This bounded physical check +tests the existing generic kernel's semantics, not all current native +MOVEs or an installed #6936 occurrence-token binder. + +## 8. Verification, limits and next obligations + +Run `python3 -I -B research/query-only-precision-envelope/verify.py --suite all`. +Expected output is four `PASS_QUERY_ONLY_PRECISION_*` lines followed by +`AUTHENTICATED_SOURCE_FILES 11`. Registered normal and `-O` suites compare +all deterministic receipts. Source guards reject wrong MOVE source/owner, +a dependent frame basis, a public CLEAR, a changed J order and QSELF +reintroduction. Exact norm controls reject coordinate-sup contraction, +the false projector Lambda and omission of the Q^4 premise. A unitary Q +of `(3+4i)/5` gives Lambda squared norm 49/25, so unitarity of Q alone +does not justify the Lambda step. RDiv tie and residual-erasure controls +test other critical distinctions. + +The independent methods here are induction plus exact positive source +propagation, reverse covector checks, exact integer guard inequalities and +a direct integer oracle against an unchanged physical scalar executor. +All were prepared with AI assistance. They are not independent human review +or kernel-checked proofs. A separately supplied lead review, when present, +is recorded with its actual scope and file hashes in `REVIEW.md`. + +Open next questions: + +* Construct and install a total signed RDiv service with the actual source + token/header binding, W+26 temporaries, full lifecycle and historical + backing costs. Checked exact division is not that service. +* Bind all complete-fibre norm/error contracts, including Lambda's chosen + one-rounding semantics and native absolute phases, to literal all-column + providers. A phase error can escape every norm check here. +* Independently discharge the retained compiler S1--S5 and ownership + interfaces, or replace them with verified source-to-physical composition. +* Complete the actual physical tariff and outer shrink/analytic recovery + changes before using a rounded implementation in a complete bound. + +This package closes a source-specific numerical-envelope calculation and +reduces the precision seam to explicit total-service and inherited compiler +premises. It does not claim those premises are established. diff --git a/research/current-rounded-lambda/reference/jclib_6936.py b/research/current-rounded-lambda/reference/jclib_6936.py new file mode 100644 index 0000000000..48a55ab03a --- /dev/null +++ b/research/current-rounded-lambda/reference/jclib_6936.py @@ -0,0 +1,331 @@ +"""Library of check_caller_blocks.py: constant-block rewrite of the joint caller (idea and method: CubeJerry #6912; the code is this package's). + +Mathematics. A constant block is a maximal run of ADD / SCALE(-1) / SWAP events of one port type between two +nonconstant events of that type (LAMBDA, IDLE_ONE, QUERY) or a joint contact J. Applied to the role vector it is +left-multiplication by one integer matrix M in GL_n(Z) (n = 40 for type A, 38 for type B). Replace the block by any other +constant block with the same matrix M: then, by induction over the anchors, the whole caller is the same operator for every +substitution of the anchor operators (the anchors are not touched and each block is a left factor between them). +Type A rows (0..39) and type B rows (40..77) are disjoint, so an A block commutes with every B event: its position inside the +window between the same two A-anchors is immaterial. Nothing but the constant-gate count changes.""" +import json, random +from fractions import Fraction as Q + +CONST = ('ADD', 'SCALE', 'SWAP') +OFF = {'A': 0, 'B': 40} +NR = {'A': 40, 'B': 38} + + +def need(ok, msg): + if not ok: + raise ValueError(msg) + + +def ev_roles(e): + """role indices an event reads or writes (joint indexing); J returns both types' roles""" + if e[0] == 'J': + return list(e[2]) + list(e[3][:2]) + op = e[1] + if op in ('ADD', 'SWAP', 'QUERY'): + return [e[2], e[3]] + return [e[2]] + + +def check_disjoint(C): + """every A event touches only roles 0..39, every B event only 40..77 (J is the only coupling)""" + for e in C['events']: + if e[0] == 'A': + need(all(0 <= r < 40 for r in ev_roles(e)), 'A event leaves its roles: %r' % (e,)) + elif e[0] == 'B': + need(all(40 <= r < 78 for r in ev_roles(e)), 'B event leaves its roles: %r' % (e,)) + else: + need(e[0] == 'J', 'unknown tag') + return True + + +def is_const(e, ty): + return e[0] == ty and e[1] in CONST + + +def is_anchor(e, ty): + """nonconstant event of the type's own stream: its nonconstant events and every joint contact""" + return (e[0] == ty and e[1] not in CONST) or e[0] == 'J' + + +def slots(events, ty): + """list of (indices of the constant events of slot k); slot k lies between anchors k-1 and k. Also returns the + global index of the anchor that closes each slot (len(events) for the last).""" + out, closes, cur = [], [], [] + for i, e in enumerate(events): + if is_const(e, ty): + cur.append(i) + elif is_anchor(e, ty): + out.append(cur); closes.append(i); cur = [] + out.append(cur); closes.append(len(events)) + return out, closes + + +def apply_const(rows, e): + """act on the matrix of accumulated rows exactly as the caller replay does: rows[i] += c*rows[j] etc (joint indices)""" + op = e[1] + if op == 'ADD': + c = Q(e[4]); need(c.denominator == 1, 'integer ADD'); c = int(c) + rows[e[2]] = [a + c * b for a, b in zip(rows[e[2]], rows[e[3]])] + elif op == 'SCALE': + c = Q(e[3]); need(c == -1, 'SCALE -1'); rows[e[2]] = [-a for a in rows[e[2]]] + elif op == 'SWAP': + rows[e[2]], rows[e[3]] = rows[e[3]], rows[e[2]] + else: + raise ValueError('nonconstant') + + +def block_matrix(block, ty): + """exact integer matrix of a constant block (list of full joint events), n x n in type-local indices""" + n, off = NR[ty], OFF[ty] + rows = {off + i: [int(i == j) for j in range(n)] for i in range(n)} + for e in block: + need(e[0] == ty and e[1] in CONST, 'block holds a nonconstant or foreign event') + for r in ([e[2], e[3]] if e[1] != 'SCALE' else [e[2]]): + need(off <= r < off + n, 'role outside type') + apply_const(rows, e) + return [rows[off + i] for i in range(n)] + + +def alphabet_ok(block, limit=2): + for e in block: + if e[1] == 'ADD': + c = Q(e[4]); need(c.denominator == 1 and 0 < abs(c) <= limit, 'ADD coefficient outside alphabet %r' % (e,)) + need(e[2] != e[3], 'self ADD') + elif e[1] == 'SCALE': + need(Q(e[3]) == -1, 'SCALE not -1') + elif e[1] == 'SWAP': + need(e[2] != e[3], 'self SWAP') + return True + + +def splice(C, ty, new_blocks): + """new_blocks[k] = list of full joint events for slot k of type ty. New block is written at the position of the first + old event of its slot (or just before the closing anchor if the old slot was empty). Everything else keeps its order.""" + sl, closes = slots(C['events'], ty) + need(len(new_blocks) == len(sl), 'slot count %d != %d' % (len(new_blocks), len(sl))) + first, drop, ins = {}, set(), {} + for k, idxs in enumerate(sl): + if idxs: + first[idxs[0]] = k; drop.update(idxs[1:]) + elif new_blocks[k]: + ins.setdefault(closes[k], []).append(k) + ev = [] + for i, e in enumerate(C['events']): + for k in ins.get(i, []): + ev.extend(json.loads(json.dumps(x)) for x in new_blocks[k]) + if i in drop: + continue + if i in first: + ev.extend(json.loads(json.dumps(x)) for x in new_blocks[first[i]]) + elif not is_const(e, ty): + ev.append(e) + # a first-index const event is replaced above; other const events of this type are in drop + for k in ins.get(len(C['events']), []): + ev.extend(new_blocks[k]) + out = {k: v for k, v in C.items() if k != 'events'} + out['events'] = ev + return out + + +def old_blocks(C, ty): + sl, _ = slots(C['events'], ty) + return [[C['events'][i] for i in idxs] for idxs in sl] + + +def from_6912(after, ty='A'): + """read #6912's caller-after.json (plain A-stream events, no tag) as data: list of per-slot blocks, tagged joint events. + slots are delimited by its nonconstant events (everything that is not ADD/SCALE/SWAP).""" + blocks, cur, anchors = [], [], [] + for e in after['events']: + if e[0] in CONST: + cur.append([ty] + list(e)) + else: + blocks.append(cur); cur = []; anchors.append(e) + blocks.append(cur) + return blocks, anchors + + +# ---------------------------------------------------------------- exact replay of the joint caller mod p +PM = 2147483629 +IM = next(pow(g, (PM - 1) // 4, PM) for g in range(2, 99) if pow(g, (PM - 1) // 2, PM) == PM - 1) +HALF = (PM + 1) // 2 + + +def fm(x): + f = Q(x); return f.numerator % PM * pow(f.denominator, PM - 2, PM) % PM + + +def replay_matrix(C, qv, Dv): + """the full 78 x 78 matrix of the joint caller at the point (q, D_1..D_18) over F_PM; semantics as in the package + (J = HOST2 on the A roles and HOST on the B roles at one stage).""" + n = C['roles']; R = [[int(i == j) for j in range(n)] for i in range(n)]; qi = pow(qv, PM - 2, PM) + a2 = fm(C['types']['A']['alpha2']) + for e in C['events']: + if e[0] == 'J': + d = Dv[e[1]]; src, dst, x2, y2 = e[2] + R[dst] = [(a + qi * b) % PM for a, b in zip(R[dst], R[src])] + R[x2] = [(a + a2 * qv % PM * b) % PM for a, b in zip(R[x2], R[y2])] + for r in (src, dst, x2, y2): + R[r] = [a * d % PM for a in R[r]] + s, t = e[3][0], e[3][1]; al, be = fm(e[3][2]), fm(e[3][3]); tt = al * be % PM + ns = [(x + al * qv % PM * y) % PM * d % PM for x, y in zip(R[s], R[t])] + nd = [(be * qi % PM * x + (1 + tt) * y) % PM * d % PM for x, y in zip(R[s], R[t])] + R[s], R[t] = ns, nd + continue + op = e[1] + if op == 'ADD': + R[e[2]] = [(a + fm(e[4]) * b) % PM for a, b in zip(R[e[2]], R[e[3]])] + elif op == 'SCALE': + c = fm(e[3]); R[e[2]] = [a * c % PM for a in R[e[2]]] + elif op == 'SWAP': + R[e[2]], R[e[3]] = R[e[3]], R[e[2]] + elif op == 'QUERY': + c = pow(qv, e[4] % 4, PM); R[e[2]] = [(a + c * b) % PM for a, b in zip(R[e[2]], R[e[3]])] + elif op == 'LAMBDA': + s = e[3]; c = ((1 + s * IM) * HALF + (1 - s * IM) * HALF * qv * qv) % PM; R[e[2]] = [a * c % PM for a in R[e[2]]] + elif op == 'IDLE_ONE': + c = 1 + for k in e[3]: + c = c * Dv[k] % PM + R[e[2]] = [a * c % PM for a in R[e[2]]] + else: + raise ValueError('unknown op ' + str(op)) + return R + + +def target_bad(C, R, qv, Dv): + n = C['roles']; bad = 0 + for role in range(n): + t, off = (C['types']['A'], 0) if role < 40 else (C['types']['B'], 40) + dg = t['diagonal'][role - off]; c = pow(qv, dg[0] % 4, PM) + for k, bit in enumerate(dg[2:]): + if bit: + c = c * Dv[k + 1] % PM + bad += sum(R[role][j] != (c if j == role else 0) for j in range(n)) + return bad + + +def random_points(seed=5, k=4): + r = random.Random(seed); pts = [] + for qv in (1, IM, PM - 1, PM - IM): + pts.append((qv, {s: r.randrange(2, PM) for s in range(1, 19)})) + for _ in range(k): + pts.append((r.randrange(2, PM), {s: r.randrange(2, PM) for s in range(1, 19)})) + return pts + + +# ---------------------------------------------------------------- own resynthesis of a constant block (Euclid elimination) +def synth(M, ty): + """own synthesis: reduce M to I by row operations with a Euclidean algorithm per column, ADD coefficients split into + +-1,+-2; the op list that rebuilds M is the reversed list of inverses. Local indices; returns full joint events.""" + n, off = NR[ty], OFF[ty]; M = [r[:] for r in M]; ops = [] + + def add(i, j, c): # row_i += c * row_j (c in {+-1,+-2} after splitting) + while c: + s = 1 if c > 0 else -1; step = s * min(2, abs(c)) + M[i] = [a + step * b for a, b in zip(M[i], M[j])]; ops.append(('ADD', i, j, step)); c -= step + for col in range(n): + while True: + nz = [r for r in range(col, n) if M[r][col]] + need(nz, 'singular block') + if len(nz) == 1 and abs(M[nz[0]][col]) == 1: + break + p = min(nz, key=lambda r: (abs(M[r][col]), r)) + for r in nz: + if r != p: + qq = round(Q(M[r][col], M[p][col])) + if qq: + add(r, p, -qq) + p = nz[0] + if p != col: + M[p], M[col] = M[col], M[p]; ops.append(('SWAP', p, col)) + if M[col][col] == -1: + M[col] = [-a for a in M[col]]; ops.append(('SCALE', col)) + for r in range(n): + if r != col and M[r][col]: + add(r, col, -M[r][col]) + need(all(M[i][j] == int(i == j) for i in range(n) for j in range(n)), 'did not reach identity') + out = [] + for o in reversed(ops): + if o[0] == 'ADD': + out.append([ty, 'ADD', o[1] + off, o[2] + off, str(-o[3])]) + elif o[0] == 'SWAP': + out.append([ty, 'SWAP', o[1] + off, o[2] + off]) + else: + out.append([ty, 'SCALE', o[1] + off, '-1']) + return out + + +# ---------------------------------------------------------------- raw bound (formulas of the package's check.py / ordinary.py) +def swaps(sel): + wanted = set(range(len(sel))); return len(list(zip(sorted(set(sel) - wanted), sorted(wanted - set(sel))))) + + +def shim(J, ty): + t = J['types'][ty]; off = t['offset']; ev = [] + for e in J['events']: + if e[0] == 'J': + ev.append(['HOST', e[1]]) + elif e[0] == ty: + e = list(e[1:]) + if e[0] in ('ADD', 'SWAP', 'QUERY'): + e[1] -= off; e[2] -= off + else: + e[1] -= off + ev.append(e) + return dict(events=ev, roles=t['roles'], ambient_rank=J['ambient_rank'], diagonal=t['diagonal']) + + +def rest_of(C, ports): + ev = C['events']; roles = C['roles']; amb = C['ambient_rank']; mx = mn = mp = 0 + for role, (qp, zero, *sel) in enumerate(C['diagonal']): + axes = ([0] if qp else []) + [a for st, y in enumerate(sel, 1) if y for a in range(9 + 8 * (st - 1), 9 + 8 * st)] + k = swaps(axes); mx += 2 * k * ports; mn += 2 * bool(qp) * ports; mp += int(qp == -1) * ports + ie = 0; qn = qph = 0 + for e in ev: + if e[0] == 'IDLE_ONE': + ie += 2 * swaps([a for st in e[2] for a in range(9 + 8 * (st - 1), 9 + 8 * st)]) * ports + elif e[0] == 'QUERY': + qn += 2 * ports; qph += int(e[3] == -1) * ports + return (32 * roles * ports * len(ev) + sum(e[0] == 'QUERY' for e in ev) * 16 * ports + roles * ports * 26 + + (mx + mn + mp) * 1000 + ie * 1000 + (qn + qph) * 1000) + + +def word_terms(W): + """per-call terms of a word: allowance, reviewed upper, routes, public count, nD""" + from collections import Counter + H = W['hosted']; nD = len(H['Dports']); n = len(W['initial']); live = set(W['live']) + main = live | {r + 112 for r in live} | set(H['X2']) | set(H['Y2']) + dim = [len(b) for b in W['frames']] + paid = Counter(abs(dim[e[3]] - dim[e[2]]) for e in W['program'] if e[0] == 'MOVE') + hel = Counter(dim[W['final'][r]] - dim[W['initial'][r]] for r in range(n) if r not in main) + life = sum(e[0] == 'INIT' for e in W['program']); allow = upper = 0 + for e in W['program']: + if e[0] in ('INIT', 'CLEAR'): + allow += 2 + elif e[0] == 'SCALE': + q = Q(e[2]); a, d = abs(q.numerator), q.denominator + allow += 2 * (abs(a.bit_length() - d.bit_length()) + int(q < 0)); upper += 4 * (a.bit_length() + d.bit_length() + 1) + elif e[0] in ('ADD', 'COPY'): + q = Q(e[3]); a, d = abs(q.numerator), q.denominator + allow += 2 * (3 + a.bit_length() - 1 + bin(a).count('1') + d.bit_length() - 1); upper += 4 * (a.bit_length() + bin(a).count('1') + d.bit_length() + 1) + routes = (sum(paid.values()) + 2 * sum(hel.values()) + 208 + 2 * nD + 4 * 104 + 4 * nD + 4 * life) * 1000 + return dict(allow=allow, upper=upper, routes=routes, n=n, nD=nD, paid=paid, hel=hel) + + +scale_cost = lambda S: 4 * (S.bit_length() + 1 + 1) + 4 * (1 + S.bit_length() + 1) # one SCALE by S at entry and one by 1/S at exit at the reviewed upper rate: 80 for S = 225, 104 for S = 1125 + + +def raw_all(J, W, S): + t = word_terms(W); nA, nB = len(J['types']['A']['ports']), len(J['types']['B']['ports']) + need((nA, nB) == (t['nD'], 104 - t['nD']), 'port split of the caller differs from the word') + rest = rest_of(shim(J, 'A'), nA) + rest_of(shim(J, 'B'), nB) + lam = sum(1 for e in J['events'] if e[0] == 'A' and e[1] == 'LAMBDA') * nA + sum(1 for e in J['events'] if e[0] == 'B' and e[1] == 'LAMBDA') * nB + debit = 1000 * lam; per_in = 18 * t['n'] * scale_cost(S) + lit = 18 * 10 ** 7 + rest; act = 18 * (t['allow'] + t['routes']) + rest; up = 18 * (t['upper'] + t['routes']) + rest + return dict(rest=rest, literal=lit, actual=act, upper=up, recharge=up + debit, per_input=up + per_in, per_input_recharge=up + per_in + debit, + lambda_jobs=lam, debit=debit, per_in=per_in, public=t['n']) diff --git a/research/current-rounded-lambda/reference/physical-review-6936.py b/research/current-rounded-lambda/reference/physical-review-6936.py new file mode 100644 index 0000000000..f41390e024 --- /dev/null +++ b/research/current-rounded-lambda/reference/physical-review-6936.py @@ -0,0 +1,568 @@ +#!/usr/bin/env python3 +"""Independent finite physical/invoice audit of exact #6726. + +Jerry Chen (@CubeJerry), with substantial OpenAI assistance. Apache-2.0. +No construction, pricing, scalar, or physical implementation is imported. +""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction +from functools import reduce +from hashlib import sha1, sha256 +from itertools import combinations +from pathlib import Path +import gzip +import json +import sys + +HERE = Path(__file__).resolve().parent + + +def require(test, reason): + if not test: + raise ValueError(reason) + + +def read(name): + raw = (HERE / 'frozen' / name).read_bytes() + return json.loads(gzip.decompress(raw) if name.endswith('.gz') else raw) + + +def authenticate(): + pins = json.loads((HERE / 'SOURCES.json').read_bytes()) + for pin in pins['files']: + if pin['usage'] != 'input': + continue + relative = Path(pin['path']).relative_to('research/p104-fragment-physical-invoice-audit') + raw = (HERE / relative).read_bytes() + require(len(raw) == pin['bytes'], 'source length: ' + pin['path']) + require(sha256(raw).hexdigest() == pin['sha256'], 'source SHA256: ' + pin['path']) + require(sha1(b'blob ' + str(len(raw)).encode() + b'\0' + raw).hexdigest() == pin['git_blob'], 'source Git blob: ' + pin['path']) + return pins + + +def span(vectors): + values = {0} + for value in vectors: + require(isinstance(value, int) and 0 < value < 512, 'native nine-axis vector') + require(value not in values, 'frame axes independent') + values |= {old ^ value for old in values} + return sum(1 << value for value in values) + + +def native_ledger(word, check_rows=True): + """Scan physical charts and scalar rows; MOVE changes chart, not chart coordinates.""" + frames = word['frames'] + spaces = [span(frame) for frame in frames] + ranks = [len(frame) for frame in frames] + public = word['public'] + total = public + word['owned_fields'] + require(len(word['initial']) == len(word['final']) == public, 'public boundaries') + chart = word['initial'][:] + [None] * word['owned_fields'] + rows = [{i: Fraction(1)} for i in range(public)] + [{} for _ in range(word['owned_fields'])] + live_owned = set() + lifetime = peak = 0 + paid = Counter() + operations = Counter() + paid_records = [] + scalar_units = 0 + for index, event in enumerate(word['program']): + op, *args = event + operations[op] += 1 + if op == 'INIT': + field, frame = args + require(public <= field < total and chart[field] is None, 'owned INIT before use') + chart[field] = frame + rows[field] = {} + live_owned.add(field) + lifetime += 1 + peak = max(peak, len(live_owned)) + elif op == 'CLEAR': + field, frame = args + require(field in live_owned and chart[field] == frame, 'owned CLEAR at current frame') + chart[field] = None + rows[field] = {} + live_owned.remove(field) + elif op == 'MOVE': + field, start, end, backward = args + require(chart[field] == start, 'chronological MOVE source frame') + lo, hi = ((end, start) if ranks[end] < ranks[start] else (start, end)) if backward else (start, end) # DECLARED CHANGE (assumption A6): an owned MOVE may be nested in either direction; it is paid |delta dim| either way. Predecessor line: lo, hi = (end, start) if backward else (start, end) + require(spaces[lo] & spaces[hi] == spaces[lo] and ranks[lo] < ranks[hi], 'strict nested paid MOVE') + rank = ranks[hi] - ranks[lo] + paid[rank] += 1 + paid_records.append((index, field, rank)) + chart[field] = end + elif op in ('ADD', 'COPY'): + dst, src, value, frame = args + require(dst != src and chart[dst] == chart[src] == frame, 'scalar common current chart') + value = Fraction(value) + require(value and value.denominator & (value.denominator - 1) == 0, 'nonzero dyadic scalar') + if op == 'COPY': + require(dst in live_owned and not rows[dst], 'COPY requires cleared owned destination') + if check_rows: + for column, coefficient in rows[src].items(): + new = rows[dst].get(column, 0) + value * coefficient + if new: + rows[dst][column] = new + else: + rows[dst].pop(column, None) + scalar_units += 4 * (abs(value.numerator).bit_length() + abs(value.numerator).bit_count() + value.denominator.bit_length() + 1) + elif op == 'SCALE': + field, value, frame = args + value = Fraction(value) + require(chart[field] == frame and value, 'scale at current live chart') + require(abs(value.numerator) & (abs(value.numerator)-1) == 0 and value.denominator & (value.denominator-1) == 0, 'invertible dyadic scale') + if check_rows: + rows[field] = {column: value * coefficient for column, coefficient in rows[field].items()} + scalar_units += 4 * (abs(value.numerator).bit_length() + value.denominator.bit_length() + 1) + else: + raise ValueError('unknown native opcode ' + op) + require(not live_owned and chart[:public] == word['final'], 'complete native return and owned clearance') + ports = word['ports'] + live = word['live'] + require(len(set(ports)) == len(ports) == len(set(live)) == len(live) == 104, '104 distinct retained ports') + main = set(live) | {112 + i for i in live} + require(len(main) == 208, 'disjoint native X/Y pairs') + helpers = Counter() + helper_labels = [] + for field in range(public): + if check_rows: + expected = {field: Fraction(1)} + if field >= 112 and field - 112 in live: + expected[field - 112] = Fraction(1) + require(rows[field] == expected, 'all arbitrary native input row ' + str(field)) + if field not in main: + start, end = word['initial'][field], word['final'][field] + require(spaces[start] & spaces[end] == spaces[start] and ranks[start] < ranks[end], 'productive helper strict nested endpoint') + rank = ranks[end] - ranks[start] + helpers[rank] += 1 + helper_labels.append((field, rank)) + for i, q in zip(live, ports): + require(frames[word['initial'][i]] == [q] and frames[word['initial'][112+i]] == [], 'native incoming Q/I main interface') + require(frames[word['final'][i]] == list(1 << j for j in range(9)), 'native complete nine-axis X endpoint') + require(ranks[word['final'][112+i]] == 8 and all((q & a).bit_count()%2 == 0 for a in frames[word['final'][112+i]]), 'native rank-eight q-orthogonal Y endpoint') + return dict(paid=paid, helpers=helpers, helper_labels=helper_labels, paid_records=paid_records, + public=public, owned=word['owned_fields'], lifetimes=lifetime, peak=peak, + operations=operations, scalar_upper=scalar_units, + scalar_rows=public if check_rows else 0) + + +def terms(entries): + counts = Counter() + for vector, coefficient in entries: + counts[vector] += coefficient + return {vector: coefficient % 4 for vector, coefficient in counts.items() if vector and coefficient % 4} + + +def difference(a, b): + return terms(list(a.items()) + [(v, -c) for v, c in b.items()]) + + +def phase(coefficients, frequency): + return sum(c * ((vector & frequency).bit_count() & 1) for vector, c in coefficients.items()) % 4 + + +def axes_of(mask): + out = [] + while mask: + bit = mask & -mask + out.append(bit) + mask ^= bit + return out + + +def translation_for(delta): + """Parity is degree <=2 modulo four; weight<=2 frequencies determine it.""" + support = axes_of(reduce(int.__or__, delta, 0)) + shift = 0 + single = {} + for bit in support: + single[bit] = phase(delta, bit) + require(single[bit] in (0, 2), 'contact linear phase must be an ordinary translation') + if single[bit] == 2: + shift |= bit + for a, b in combinations(support, 2): + require(phase(delta, a | b) == (single[a] + single[b]) % 4, 'contact residual quadratic phase') + return shift + + +def route_function(q, basis, stage): + fresh = [1 << (9 + 8*(stage-1) + i) for i in range(8)] + old_mask = 511 + fresh_mask = sum(fresh) + require(q.bit_count() % 2 == 1, 'odd central port') + require(len(basis) == 8 and all(0 < v < 512 for v in basis), 'native eight-dimensional basis') + require(all((a & b).bit_count() % 2 == (i == j) for i, a in enumerate([q]+basis) for j, b in enumerate([q]+basis)), 'complete orthonormal native basis') + def route(value): + old = value & old_mask + result = value & ~(old_mask | fresh_mask) + if (old & q).bit_count() % 2: + result ^= q + for native_axis, fresh_axis in zip(basis, fresh): + if value & fresh_axis: + result ^= native_axis + if (old & native_axis).bit_count() % 2: + result ^= fresh_axis + return result + affected = [1 << i for i in range(9)] + fresh + images = [route(v) for v in affected] + require(all(route(image) == axis for axis, image in zip(affected, images)), 'route involution') + require(all((a & b).bit_count() % 2 == (i == j) for i, a in enumerate(images) for j, b in enumerate(images)), 'route orthogonality') + require(route(q) == q, 'route fixes Q') + return route + + +def contact(before, after, route, omit_translation=False): + moved = terms((route(v), c) for v, c in before.items()) + shift = translation_for(difference(after, moved)) + supplied = 0 if omit_translation else shift + require(translation_for(difference(after, terms(list(moved.items()) + [(supplied, 2)]))) == 0, 'full forward absolute phase') + inverse = route(supplied) + require(translation_for(difference(before, terms([(route(v), c) for v, c in after.items()] + [(inverse, 2)]))) == 0, 'full inverse absolute phase') + require(shift.bit_count() <= 17 and inverse.bit_count() <= 17, 'fixed seventeen-axis translation budget') + return {'translation': shift, 'inverse_translation': inverse} + + +def physical(word, native, recipes, omit_translation=False): + stages = word['stages'] + require(word['ambient_rank'] == 9 + 8*stages, 'declared ambient axes') + axes = [1 << i for i in range(word['ambient_rank'])] + full_events = [(i, e) for i, e in enumerate(word['events']) if e[0] == 'LOCAL'] + require([e[1] for _, e in full_events] == list(range(1, stages+1)), 'fresh native stage chronology') + by_port = {r['q']: r for r in recipes['recipes']} + require(set(native['ports']) <= set(by_port), 'every retained port has a phase recipe') + records = [] + for _, (_, stage, src, dst) in full_events: + require(src != dst and 0 <= src < word['roles'] and 0 <= dst < word['roles'], 'distinct valid native caller fields') + before_axes = axes[:9+8*(stage-1)] + after_axes = axes[:9+8*stage] + spectator = axes[9:9+8*stage] + for q in native['ports']: + basis = by_port[q]['idle_children'][0]['orthogonal_axes'][:8] + route = route_function(q, basis, stage) + x0 = terms((a, 1) for a in before_axes) + y0 = terms(list(x0.items()) + [(q, -1)]) + x1 = terms((a, 1) for a in after_axes) + y1 = terms(list(x1.items()) + [(q, -1)]) + native_x0 = terms([(a, 1) for a in spectator] + [(q, 1)]) + native_y0 = terms((a, 1) for a in spectator) + native_x1 = terms((a, 1) for a in spectator + axes[:9]) + native_y1 = terms(list(native_x1.items()) + [(q, -1)]) + maps = [contact(a, b, route, omit_translation) for a, b in ((x0,native_x0),(y0,native_y0),(native_x1,x1),(native_y1,y1))] + body = terms((a, 1) for a in axes[9+8*(stage-1):9+8*stage]) + require(translation_for(difference(difference(x1,x0),body)) == 0 and translation_for(difference(difference(y1,y0),body)) == 0, 'native diagonal is fresh D_stage with absolute phase') + require(translation_for(difference(difference(y1,x0),terms(list(body.items())+[(q,-1)]))) == 0, 'native cross coefficient is D_stage Q^-1') + records.append([stage,q,maps]) + main = Counter() + output_shifts = 0 + for term in word['diagonal']: + qp, zero, *selected = term + require(qp in (-1,0,1) and zero == 0 and len(selected) == stages and set(selected) <= {0,1}, 'literal physical endpoint exponent domain') + for q in native['ports']: + body_axes = [axis for stage, yes in enumerate(selected,1) if yes for axis in axes[9+8*(stage-1):9+8*stage]] + positive = ([q] if qp else []) + body_axes + require(all((a & b).bit_count()%2 == (i == j) for i,a in enumerate(positive) for j,b in enumerate(positive)), 'all positive endpoint axes orthonormal') + actual = terms([(q,qp)] + [(a,1) for a in body_axes]) + target = terms((a,1) for a in positive) + shift = translation_for(difference(target,actual)) + require(shift == (q if qp == -1 else 0), 'exact endpoint translation') + output_shifts += bool(shift) + main[len(positive)] += 1 + idle = Counter() + idle_records = [] + for index,event in enumerate(word['events']): + if event[0] not in ('IDLE','IDLE_ONE'): + continue + owners, selection = (event[1:3], event[3]) if event[0] == 'IDLE' else ([event[1]],event[2]) + require(len(set(owners)) == len(owners) and all(0 <= r < word['roles'] for r in owners), 'distinct valid idle owners') + require(selection and len(set(selection)) == len(selection) and all(1 <= s <= stages for s in selection), 'distinct valid complete idle axes') + positive = [axis for stage in selection for axis in axes[9+8*(stage-1):9+8*stage]] + require(len(set(positive)) == len(positive), 'whole idle independent Gaussian factors') + idle[len(positive)] += len(native['ports']) * len(owners) + idle_records.extend((index,owner,q,len(positive)) for owner in owners for q in native['ports']) + require(len(word['diagonal']) == word['roles'], 'one target for every arbitrary caller input') + return dict(contacts=4*len(records), contact_digest=sha256(json.dumps(records,separators=(',',':')).encode()).hexdigest(), + nonzero_contact_translations=sum(bool(m['translation']) for _,_,maps in records for m in maps), + main=main, idle=idle, idle_records=idle_records, output_translations=output_shifts, + dimension=word['ambient_rank']) + + +def allocation(word, native, ledger, alias=False): + main = {(role,q) for role in range(word['roles']) for q in native['ports']} + names = {('main',role,q) for role,q in main} + helper_jobs = [] + local_number = 0 + for event_index, event in enumerate(word['events']): + if event[0] != 'LOCAL': + continue + _,stage,src,dst = event + public_map = {} + for i,q in zip(native['live'],native['ports']): + public_map[i] = ('main',src,q) + public_map[112+i] = ('main',dst,q) + for field,rank in ledger['helper_labels']: + key = ('helper',0 if alias else local_number,field) + require(key not in names, 'fresh native helper cannot alias an earlier public input') + names.add(key) + public_map[field] = key + helper_jobs.append((event_index,stage,field,rank,key)) + require(len(public_map) == ledger['public'] and len(set(public_map.values())) == ledger['public'], 'injective local public-input allocation') + local_number += 1 + owned = {('owned',i) for i in range(ledger['owned'])} + thin = {('query_scratch',0)} + require(not (names & owned or names & thin or owned & thin), 'owned/query scratch is disjoint and uncredited') + return dict(main_fields=len(main), helper_fields=len(helper_jobs), productive_fields=len(names), + reserved_native_owned=len(owned), reserved_query_owned=len(thin), + peak_native_owned=ledger['peak'], maximum_live_owned=max(ledger['peak'],1), + invocations=local_number, helper_jobs=helper_jobs) + + +def invoice(word, ledger, physics, fields): + paid = Counter() + targets = Counter(physics['main']) + for _,_,_,rank,_ in fields['helper_jobs']: + targets[rank] += 1 + for event in word['events']: + if event[0] == 'LOCAL': + paid.update(ledger['paid']) + elif event[0] == 'QUERY': + require(event[3] in (-1,1), 'legal thin query orientation') + paid[1] += 104 + paid.update(physics['idle']) + require(sum(targets.values()) == fields['productive_fields'], 'productive count equals distinct arbitrary inputs') + return {'targets':targets, 'paid':paid, 'productive_fields':sum(targets.values()), 'paid_calls':sum(paid.values()), + 'target_mass':sum(r*n for r,n in targets.items()), 'paid_mass':sum(r*n for r,n in paid.items())} + + +def compare_invoice(actual, expected): + require(actual['targets'] == Counter({int(k):v for k,v in expected['targets'].items()}), 'complete productive rank histogram') + require(actual['paid'] == Counter({int(k):v for k,v in expected['paid'].items()}), 'complete paid rank histogram') + require(actual['productive_fields'] == expected['productive_fields'] and actual['paid_calls'] == expected['paid_calls'], 'independent count totals') + require(actual['target_mass'] - actual['paid_mass'] == expected['rank_mass_surplus'], 'independent rank-mass surplus') + + +def chronology(word, witnesses): + slots = {'ADD':(1,2),'SCALE':(1,),'SWAP':(1,2),'LOCAL':(2,3),'QUERY':(1,2),'IDLE':(1,2),'IDLE_ONE':(1,),'LAMBDA':(1,),'Q_POWER':(1,)} + actual_handoffs = [] + for number, witness in enumerate(witnesses): + # Witness zero belongs to the intermediate 33-field word. Later input + # bases precede that whole word and shift its earlier cut chronologically. + offset = sum(len(later['input_basis']) for later in witnesses[number+1:]) + handoff = witness['handoff_after'] + offset + pivot,fresh = witness['pivot'], witness['fresh'] + require(all(event[j] != fresh for event in word['events'][:handoff+1] for j in slots[event[0]]), 'fresh handoff input untouched in entire prefix') + cut_basis = witness['cut_basis'] + require(word['events'][handoff-len(cut_basis)+1:handoff+1] == cut_basis, 'complete cut basis at actual chronological handoff') + require(word['events'][handoff-len(cut_basis)] == ['IDLE_ONE',2,witness['prefix_stages']], 'handoff immediately follows the paid fragment') + require(word['diagonal'][pivot] == witness['prefix_target'] and word['diagonal'][fresh] == witness['suffix_target'], 'retirement endpoint credit matches literal witness') + first_fresh = next(i for i,event in enumerate(word['events']) if any(event[j] == fresh for j in slots[event[0]])) + require(first_fresh == handoff+1, 'fresh suffix starts immediately after completed prefix') + require(all(event[j] != pivot for event in word['events'][handoff+1:] for j in slots[event[0]]), 'retired productive output retained untouched through the full suffix') + actual_handoffs.append(handoff) + return {'fresh_inputs': [w['fresh'] for w in witnesses], 'witness_handoffs':[w['handoff_after'] for w in witnesses], 'literal_final_handoffs':actual_handoffs} + + +def central_normalization(): + def mul(a,b): + return (a[0]*b[0]-a[1]*b[1], a[0]*b[1]+a[1]*b[0]) + values = [(1,0),(0,1),(-1,0),(0,-1)] + for j,q in enumerate(values): + lam = (1,0) if j%2 == 0 else (0,1) + inverse = (lam[0],-lam[1]) + require(mul(lam,inverse)==(1,0), 'ordinary lambda and inverse are exact') + central = mul(lam,(q[0],-q[1])) + require(mul(central,central)==(1,0), 'normalized central S is an involution') + # At two odd factor characters Q_total=-1, lambda(Q_total)=+1, + # whereas tensoring the two factor lambdas would incorrectly give -1. + require((1,0) != mul((0,1),(0,1)), 'global lambda must remain outside tensor powers') + return {'central_characters':4,'two_factor_lambda_disagreement':True, + 'rule':'Physical Gaussian maps tensor factorwise; ordinary scalar coefficients and lambda polynomials act on the total Q outside tensor powers.'} + + +def coordinate_swaps(selected, dimension): + """Map a subset of canonical axes to the first r axes by explicit exchanges.""" + require(len(set(selected)) == len(selected), 'adapter axes distinct') + require(all(0 <= axis < dimension for axis in selected), 'adapter axes in ambient carrier') + wanted = set(range(len(selected))) + swaps = list(zip(sorted(set(selected)-wanted), sorted(wanted-set(selected)))) + def move(axis): + for a,b in swaps: + if axis == a: + axis = b + elif axis == b: + axis = a + return axis + require({move(axis) for axis in selected} == wanted, 'explicit Gaussian axis permutation') + require(all(move(move(axis)) == axis for axis in range(dimension)), 'permutation adapter inverse') + require(len(swaps) <= len(selected), 'rank-many two-axis exchanges suffice') + return swaps + + +def adapter_inventory(word, native, recipes): + """Charge complete canonical-job input/output conversions, including full idles.""" + by_port = {r['q']:r for r in recipes['recipes']} + for q in native['ports']: + basis = [q]+by_port[q]['idle_children'][0]['orthogonal_axes'][:8] + # This nine-axis map sends q to coordinate zero, fixes all spectators, + # and sends its orthonormal complement to coordinates one through eight. + def convert(value): + return (value & ~511) | sum(((value & axis).bit_count()%2) << i for i,axis in enumerate(basis)) + require([convert(axis) for axis in basis] == [1 << i for i in range(9)], 'explicit nine-axis q-to-coordinate adapter') + require(all((a&b).bit_count()%2 == (i==j) for i,a in enumerate(basis) for j,b in enumerate(basis)), 'q adapter orthogonal and invertible') + records = {'main':[], 'idle':[], 'query':[]} + for role,(qp,zero,*selection) in enumerate(word['diagonal']): + axes = ([0] if qp else []) + [axis for stage,yes in enumerate(selection,1) if yes for axis in range(9+8*(stage-1),9+8*stage)] + exchanges = coordinate_swaps(axes,word['ambient_rank']) + for q in native['ports']: + # Both whole-job boundaries are charged, even though a target + # interface may permit some of these maps to remain implicit. + records['main'].append([role,q,len(exchanges),2*bool(qp),int(qp==-1)]) + for index,event in enumerate(word['events']): + if event[0] in ('IDLE','IDLE_ONE'): + owners,stages = (event[1:3],event[3]) if event[0]=='IDLE' else ([event[1]],event[2]) + axes = [axis for stage in stages for axis in range(9+8*(stage-1),9+8*stage)] + exchanges = coordinate_swaps(axes,word['ambient_rank']) + records['idle'].extend([index,owner,q,len(exchanges)] for owner in owners for q in native['ports']) + elif event[0]=='QUERY': + _,dst,src,power = event + require(dst != src and all(0<=r> shift) & 1) + for _ in range(3): + self.tape.move(-1) + + def move(self, direction): + need(direction in (-1, 1), "virtual unit move") + t = self.tape + if direction == 1: + if t.read() == BLANK: + self.write(4) + for _ in range(3): + t.move(1) + else: + t.move(-1) + if t.read() == LEFT: + t.move(1) + raise ValueError("native routine crossed its local origin") + t.move(-1) + t.move(-1) + + +class BinaryContextPort: + """Read-only raw binary descriptor, with its own physical alphabet. + + Unlike CodedPort, read returns physical BLANK=6 at the frontier. A table + may inspect that frontier but cannot pass it or the current LEFT marker. + This supplies runtime e/f/K/rho data through counted local operations. + """ + __slots__ = ("tape",) + + def __init__(self, tape): + self.tape = tape + + def read(self): + symbol = self.tape.read() + need(symbol in (ZERO, ONE, BLANK), "binary context alphabet") + return symbol + + def write(self, value): + raise ValueError("native context is read-only") + + def move(self, direction): + need(direction in (-1, 1), "binary context unit move") + t = self.tape + if direction == 1: + need(t.read() in (ZERO, ONE), "context frontier cannot be crossed") + t.move(1) + else: + t.move(-1) + if t.read() == LEFT: + t.move(1) + raise ValueError("native context crossed its local origin") + + +def read_code(tape): + """Consume a numeric-format code; physical frontier returns None.""" + if tape.read() == BLANK: + return None + value = 0 + for _ in range(3): + bit = tape.read() + need(bit in (ZERO, ONE), "numeric codeword") + value = 2 * value + bit + tape.move(1) + need(value < 7, "unused numeric codeword") + return value + + +def write_code(tape, value): + for shift in (2, 1, 0): + emit(tape, (value >> shift) & 1) + + +def initialize(target, shape): + """Dispose of arbitrary old bytes, then zero the complete common format.""" + need(target is not shape, "private initialization cannot destroy its guide") + retire(target) + origin(shape) + in_component = False + while (symbol := read_code(shape)) is not None: + need(symbol in (ZERO, ONE, COMPONENT), "canonical signed components") + if symbol == COMPONENT: + need(in_component, "positive component width") + write_code(target, COMPONENT) + in_component = False + else: + write_code(target, ZERO) + in_component = True + need(not in_component, "component terminator") + origin(shape) + origin(target) + + +def copy_as_add(target, source): + """Signed addition into the actual destination, including any residue. + + Components are little-endian two's complement followed by COMPONENT. + Carries reset at delimiters; equal-sign signed overflow rejects. + No ideal-zero test or exact-value overwrite substitutes for addition. + """ + need(target is not source, "distinct COPY/ADD ports") + origin(source) + origin(target) + carry = 0 + last_a = last_b = last_out = 0 + in_component = False + while True: + a = read_code(source) + b = read_code(target) + need((a is None) == (b is None), "same complete numerical extent") + if a is None: + need(not in_component, "complete signed component") + break + need(a in (ZERO, ONE, COMPONENT) and b in (ZERO, ONE, COMPONENT), + "canonical signed addition operands") + need((a == COMPONENT) == (b == COMPONENT), "same component boundaries") + if a == COMPONENT: + need(in_component, "positive signed component width") + need(last_a != last_b or last_out == last_a, "signed addition overflow") + carry = 0 + in_component = False + continue + value = a + b + carry + last_a, last_b, last_out = a, b, value & 1 + carry = value >> 1 + for _ in range(3): + target.move(-1) + write_code(target, last_out) + in_component = True + origin(source) + origin(target) + + +def execute_table(table, ports, readonly_context=()): + """Run a supplied finite native table with every port confined. + + These tables retain explicit semantics/time/space premises. Fixture + tables are not advertised as Gaussian implementations. + """ + views = (tuple(CodedPort(t) for t in ports) + + tuple(BinaryContextPort(t) for t in readonly_context)) + pc = 0 + while True: + row = table[pc] + op = row[0] + if op == "halt": + break + if op == "reject": + raise ValueError(row[1]) + if op == "goto": + pc = row[1] + continue + view = views[row[1]] + if op == "branch": + pc = dict(row[2]).get(view.read(), row[3]) + continue + if op == "write": + view.write(row[2]) + elif op == "move": + view.move(row[2]) + else: + raise ValueError("native table opcode") + pc += 1 + for tape in tuple(ports)+tuple(readonly_context): + origin(tape) + + +@dataclass(frozen=True) +class Instruction: + op: str + ports: tuple = () + token: tuple = () + + +class Controller: + """Fixed finite controller of a fixed flat compiled template. + + rows implements the separately priced row/shape interface; all its + dynamic state belongs on the supplied tapes. services contains fixed + finite transition tables. Payload ports include metadata and all scratch. + The only runtime continuation is the physical Stack. + """ + def __init__(self, program, public_count, payloads, control, descriptor, + bridge, child_header, rows, services, stack_class, protected_ports=(), + primitive_work=(), primitive_context=()): + self.program = tuple(program) + self.public_count = public_count + self.payloads = tuple(payloads) + self.control = control + self.descriptor = descriptor + self.bridge = bridge + self.child_header = child_header + self.rows = rows + self.services = services + need(len({id(t) for t in self.payloads+(control,descriptor,bridge,child_header)}) + == len(self.payloads)+4, "all physical ports distinct") + self.stack = stack_class(self.payloads, control, descriptor) + self.protected_ports = tuple(protected_ports) + owned = {e.ports[0] for e in self.program if e.op == "INIT"} + need(all(public_count <= i < len(self.payloads) for i in owned), "INIT only private physical slots") + need(owned.isdisjoint(self.protected_ports), "owned fields cannot be borrowed descriptors") + self.root_cleanup = tuple(i for i in range(public_count,len(self.payloads)) + if i not in self.protected_ports) + self.primitive_work = tuple(primitive_work) + self.primitive_context = tuple(primitive_context) + data_ports = {i for e in self.program for i in e.ports} + need(all(0 <= i < len(self.payloads) for i in data_ports), "compiled port range") + need(all(i >= public_count and i < len(self.payloads) and i not in data_ports + and i not in self.protected_ports for i in self.primitive_work), "separate primitive scratch") + need(len(set(self.primitive_work)) == len(self.primitive_work), "distinct primitive work ports") + need(len(set(self.primitive_context)) == len(self.primitive_context) + and all(i in self.protected_ports and 0 <= i < len(self.payloads) + and i not in data_ports for i in self.primitive_context), "borrowed binary context ports") + self.pc_bits = max(1, (len(self.program) - 1).bit_length()) + self.pc_words = tuple(tuple((pc >> j) & 1 for j in range(self.pc_bits)) + for pc in range(len(self.program))) + need(self.program and self.program[-1].op == "RET", "finite completed program") + + def save_pc(self, pc): + need(self.descriptor.read() == BLANK, "empty active PC descriptor") + for bit in self.pc_words[pc]: + emit(self.descriptor, bit) + origin(self.descriptor, BASE) + + def consume_pc(self): + pc = 0 + for shift in range(self.pc_bits): + bit = self.descriptor.read() + need(bit in (ZERO, ONE), "binary return PC") + pc |= bit << shift + emit(self.descriptor, BLANK) + need(self.descriptor.read() == BLANK, "exact fixed return PC width") + origin(self.descriptor, BASE) + need(pc < len(self.program) and pc > 0 and self.program[pc-1].op == "PAID", + "return PC designates a paid continuation") + return pc + + def has_parent(self): + self.control.move(-1) + symbol = self.control.read() + self.control.move(1) + need(symbol in (BASE, END), "complete continuation top") + return symbol == END + + def descend(self, pc): + event = self.program[pc] + source = self.payloads[event.ports[0]] + transfer(source, self.bridge, target_marker=BASE) + self.rows.prepare(event.token, self.child_header) + self.save_pc(pc + 1) + self.stack.push((True,) * len(self.payloads)) + self.rows.install(self.bridge, self.child_header, + self.payloads[:self.public_count]) + retire(self.bridge, BASE) + retire(self.child_header, BASE) + + def primitive(self, token, fields): + for i in self.primitive_work: + retire(self.payloads[i]) + execute_table(self.services[token], + tuple(self.payloads[i] for i in fields+self.primitive_work), + tuple(self.payloads[i] for i in self.primitive_context)) + for i in self.primitive_work: + retire(self.payloads[i]) + + def ascend(self): + self.rows.collect(self.payloads[:self.public_count], self.bridge) + for tape in self.payloads: + retire(tape) + self.stack.pop() # ignore observer sizes and heads + pc = self.consume_pc() + target = self.payloads[self.program[pc-1].ports[0]] + retire(target) + transfer(self.bridge, target, source_marker=BASE) + retire(self.bridge, BASE) + return pc + + def run(self, observe=None): + pc = 0 + while True: + event = self.program[pc] + if observe is not None: + observe("before", pc, event) # checker only; ignores return value + if event.op == "INIT": + initialize(self.payloads[event.ports[0]], self.payloads[0]) + pc += 1 + elif event.op == "CLEAR": + retire(self.payloads[event.ports[0]]) + pc += 1 + elif event.op == "COPY": + copy_as_add(self.payloads[event.ports[0]], self.payloads[event.ports[1]]) + pc += 1 + elif event.op == "SERVICE": + self.primitive(event.token,event.ports) + pc += 1 + elif event.op == "PAID": + if self.rows.is_leaf(event.token): + self.primitive(("leaf",)+event.token,event.ports) + pc += 1 + else: + self.descend(pc) + pc = 0 + elif event.op == "RET": + if not self.has_parent(): + for i in self.root_cleanup: + retire(self.payloads[i]) + break + pc = self.ascend() + else: + raise ValueError("compiled opcode") + if observe is not None: + observe("after", pc, event) + + +def boundary_actions(q, b, parent_total, child_total, input_length, + output_length, staged_header_length): + """Exact descend+ascend actions, excluding the three row-service calls. + + Also excludes caller leaf/top tests. All heads are at local origins. + Includes PC, all retirement, occupied-target replacement and both relays. + """ + return (4 * parent_total + 5 * child_total + 18 * input_length + + 13 * output_length + 5 * staged_header_length + + 38 * q + 27 * b + 103) diff --git a/research/current-rounded-lambda/vendor/scalar_fixture.py b/research/current-rounded-lambda/vendor/scalar_fixture.py new file mode 100644 index 0000000000..027b563887 --- /dev/null +++ b/research/current-rounded-lambda/vendor/scalar_fixture.py @@ -0,0 +1,147 @@ +"""Metered fixtures execute unchanged Controller.primitive and execute_table. + +Only fixture construction and post-run oracles inspect integer values/storage. +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +""" +from types import SimpleNamespace +from fractions import Fraction +from source_binding import need, vendor + +M = vendor("rounded_retained_lifecycle", "vendor/machine.py") + + +class RowCounter: + """Observer-only table lookup counter; returns the unchanged immutable row. + + It never receives a tape, input value or coefficient, and never changes + the instruction stream. Ordinary fixtures use the tuple directly. + """ + def __init__(self, rows): + self.rows, self.steps = rows, 0 + + def __getitem__(self, pc): + self.steps += 1 + return self.rows[pc] + + +class Tape: + def __init__(self, bits=(), origin=17, readonly=False): + self.origin = self.pos = origin + self.cells = {origin-1:M.LEFT, origin-2:91} + self.cells.update({origin+i:s for i,s in enumerate(bits)}) + self.readonly = readonly + self.actions = self.reads = self.writes = self.moves = 0 + self.highwater = origin+len(bits) + + def tick(self): + need(self.pos >= self.origin-1, "no ancestor access") + self.actions += 1; self.highwater = max(self.highwater,self.pos) + + def read(self): + self.tick(); self.reads += 1 + return self.cells.get(self.pos,M.BLANK) + + def write(self,s): + self.tick(); self.writes += 1 + need(not self.readonly and self.pos >= self.origin, "protected source/marker") + need(s in range(7), "physical alphabet") + self.cells[self.pos]=s + + def move(self,step): + self.tick(); self.moves += 1 + need(step in (-1,1), "unit physical movement") + self.pos += step + need(self.pos >= self.origin-1, "no ancestor crossing") + self.highwater=max(self.highwater,self.pos) + + def body(self): + end=self.origin + while self.cells.get(end,M.BLANK)!=M.BLANK: + end+=1 + return tuple(self.cells.get(k,M.BLANK) for k in range(self.origin,end)) + + def blank(self): + return all(v==M.BLANK for k,v in self.cells.items() if k>=self.origin) + + def protected(self): + return self.cells[self.origin-1]==M.LEFT and self.cells[self.origin-2]==91 + + +def encode_symbols(symbols): + return tuple((s>>k)&1 for s in symbols for k in (2,1,0)) + + +def symbols(values,width): + need(width>=1,"positive signed width") + out=[] + for n in values: + need(-(1<<(width-1))<=n<(1<<(width-1)),"signed fixture input") + out.extend((n>>k)&1 for k in range(width));out.append(2) + return tuple(out) + + +def decode(bits,width): + need(len(bits)%3==0,"whole physical codes") + syms=[4*bits[i]+2*bits[i+1]+bits[i+2] for i in range(0,len(bits),3)] + need(len(syms)%(width+1)==0,"whole components") + out=[] + for i in range(0,len(syms),width+1): + b=syms[i:i+width] + need(all(z in (0,1) for z in b) and syms[i+width]==2,"numeric result grammar") + out.append(sum(z<=2, its exact record delimiters and common quantum, supplied +local LEFT markers and aligned origins, and actually disjoint public, context +and private segments. Current private prefixes start physically blank; previous +erased backing remains allocated. These are caller premises, not inferred +from object identity or a short fixture. + +Let a valid parent monomial descriptor have fixed recipe rank m, positive f,K, +0<=rho=A1^6 and (E+1)^4+Q=O(V), this is F_template+O_m(fV). +The larger displayed bill remains if either absorption condition fails. + +This can match a direct PAID-leaf budget when a separate global cutoff admits +the complete source construction, including rf<=cutoff for a rank-r leaf. +No such cutoff, compiled stock/precision substitution, new supplier rate or +assembled kappa is established here. + +## 4. Strict numerical-domain distinction and rejection + +Phases act as signed permutations of the real/imaginary components. Strict +symmetric component headroom is invariant under every such phase and address +permutation, proving all intermediate representability in the sufficient +domain. The unchanged common grid needs no extra arithmetic rounding. + +The original combined-phase admission does not suffice. For a constant-phase-2 +monomial with f=2, the tensor phase is +1, so a most-negative h-bit component +can pass the batched phase. The first serialized column multiplies it by -1, +which cannot fit. Thus the two acceptance domains are provably different. +For the actual selected right recipe, whose constant is1, f=4 and an input +supported on the all-zero selected bits similarly has combined phase +1; +serial quarter rotations can expose an unrepresentable intermediate negation. +This caveat was found by the separate native worker's adversarial review. + +Each retained one-column call preserves its input on its named arithmetic +rejection. Earlier completed columns can nevertheless have changed the serial +field. SerialProvider therefore has no whole-job rollback guarantee. A full +protected stage, such as the separately published atomic MOVE wrapper, must +pay transfer/commit/retirement to obtain that property. No interruption or +malformed-success rollback is claimed. + +Global native source correctness, the full compiler placement, ownership, +precision and analytic multiplication assumptions remain. Finite witnesses +do not discharge those universal premises, and no accepted certificate changes. diff --git a/research/current-rounded-lambda/vendor/serial/column_view.py b/research/current-rounded-lambda/vendor/serial/column_view.py new file mode 100644 index 0000000000..f547ed7a72 --- /dev/null +++ b/research/current-rounded-lambda/vendor/serial/column_view.py @@ -0,0 +1,200 @@ +"""Physically encoded serialization into genuine one-column monomial calls. + +Runtime integers remain on fixed raw binary tapes. Construction depends only +on the finite recipe rank. Prepared for @CubeJerry with substantial OpenAI +assistance. Apache-2.0. +""" +from serial_sources import activate, need + +S = activate() +R = S.rows +ROLES = dict(R.SCHEMA) +PARENT, VIEW = R.HEADER, R.CHILD_HEADER +FBOUND, OLD_K, COLUMN, ACC, SUM, M = range(40, 46) +PORTS = 46 +PRIVATE = tuple(i for i in range(PORTS) if i != PARENT) +FIELDS = tuple(port for _, port in R.SCHEMA) + + +def literal(b, tape, value): + """Only a fixed compile-time integer is supplied here.""" + need(type(value) is int and value >= 0, "fixed nonnegative literal") + b.empty(tape) + for digit in bin(value)[2:][::-1]: + b.write(tape, digit) + b.move(tape, 1) + b.rewind(tape) + + +def compile_prepare(rank): + need(type(rank) is int and 1 <= rank <= 73, "fixed compiled monomial rank") + b = R.Builder() + for port in (PARENT, *PRIVATE): + b.boundary(port) + for port in PRIVATE: + b.empty(port) + b.decode(PARENT, FIELDS) + b.canonical(ROLES["f"], positive=True) + b.canonical(ROLES["K"], positive=True) + b.copy(ROLES["f"], FBOUND) + b.copy(ROLES["K"], OLD_K) + literal(b, COLUMN, 0) + literal(b, ACC, 0) + loop, more, end = (b.fresh("product") for _ in range(3)) + b.mark(loop) + b.compare(COLUMN, FBOUND, more, end, "reject") + b.mark(more) + b.add(ACC, OLD_K, SUM) + b.clear(ACC) + b.copy(SUM, ACC) + b.clear(SUM) + b.increment(COLUMN) + b.go(loop) + b.mark(end) + b.clear(ROLES["K"]) + b.copy(ACC, ROLES["K"]) + b.clear(ACC) + b.clear(ROLES["f"]) + literal(b, ROLES["f"], 1) + b.clear(ROLES["selected_axes"]) + literal(b, M, rank) + b.add(M, ROLES["remainder"], ROLES["selected_axes"]) + b.clear(M) + b.clear(COLUMN) + literal(b, COLUMN, 0) + b.encode(FIELDS, VIEW) + b.code.append(("result", "ready")) + return b.close() + + +def compile_next(): + b = R.Builder() + b.clear(VIEW) + b.increment(COLUMN) + more, end = (b.fresh("column") for _ in range(2)) + b.compare(COLUMN, FBOUND, more, end, "reject") + b.mark(more) + b.add(ROLES["rho"], OLD_K, SUM) + b.clear(ROLES["rho"]) + b.copy(SUM, ROLES["rho"]) + b.clear(SUM) + b.encode(FIELDS, VIEW) + b.code.append(("result", "ready")) + b.mark(end) + b.code.append(("result", "finished")) + return b.close() + + +def compile_release(): + b = R.Builder() + for port in PRIVATE: + b.clear(port) + b.rewind(PARENT) + return b.close() + + +NEXT, RELEASE = compile_next(), compile_release() + + +def validate(table): + for row in table: + need(row[0] in ("read", "write", "move", "goto", "done", "result", "reject", "quarantine"), + "literal local instruction vocabulary") + if row[0] in ("read", "write", "move"): + need(type(row[1]) is int and 0 <= row[1] < PORTS, "fixed role") + if row[0] == "write": + need(row[1] != PARENT and row[2] in (R.ZERO, R.ONE, R.BLANK), + "parent and markers are read-only") + if row[0] == "move": + need(row[2] in (-1, 1), "unit movement") + if row[0] == "result": + need(row[1] in ("ready", "finished"), "finite decision alphabet") + return len(table) + + +class ColumnView: + port_count = len(PRIVATE) + + def __init__(self, rank): + self.prepare_table = compile_prepare(rank) + for table in (self.prepare_table, NEXT, RELEASE): + validate(table) + self.ports = self.parent = self.work = None + self.active = False + + def bind(self, work, context): + need(not self.active and len(work) == self.port_count, + "complete fixed descriptor bank before execution") + need(len(set(map(id, work))) == len(work) + and all(port is not context.tape for port in work), + "distinct descriptor segments; actual disjointness is a caller premise") + self.parent, self.work = context, tuple(work) + self.ports = {PARENT: R.PhysicalPort(context.tape)} + self.ports.update((role, R.PhysicalPort(port)) for role, port in zip(PRIVATE, work)) + + @property + def context(self): + need(self.ports is not None, "bound descriptor bank") + return S.abi.BinaryContextPort(self.ports[VIEW].tape) + + def prepare(self): + need(self.ports is not None and not self.active, "single active descriptor iteration") + self.active = True + try: + result, _steps = R.run_choice(self.prepare_table, self.ports) + need(result == "ready", "first column available") + except Exception: + self.release() + raise + + def advance(self): + need(self.active, "active descriptor iteration") + result, _steps = R.run_choice(NEXT, self.ports) + need(result in ("ready", "finished"), "finite column decision") + return result + + def release(self): + need(self.active, "active descriptor iteration to retire") + try: + R.run(RELEASE, self.ports) + finally: + self.active = False + + +class SerialProvider: + """Actual unchanged monomial, with physically priced descriptor iteration. + +Partial column updates can precede a later named arithmetic rejection. A +protected whole-field wrapper is required for whole-job public atomicity. +No provider is reset, recreated, or given decoded shape values between calls. +""" + def __init__(self, literal_recipe, native_factory, inverse=False): + self.native = S.adapter.Provider(literal_recipe, native_factory, inverse=inverse) + self.view = ColumnView(self.native.rank) + self.field = self.work = None + + @property + def port_count(self): + return self.view.port_count + self.native.port_count + + def bind(self, work, field, context): + need(len(work) == self.port_count and len(set(map(id, work))) == len(work), + "fixed distinct complete inventory") + need(field.tape is not context.tape + and all(field.tape is not p and context.tape is not p for p in work), + "field, parent descriptor and work are disjoint") + self.work, self.field = tuple(work), field + self.view.bind(work[:self.view.port_count], context) + self.native.bind(work[self.view.port_count:]) + + def run(self): + need(self.work is not None, "bound serial monomial") + try: + self.view.prepare() + while True: + self.native.run(self.field, self.view.context) + if self.view.advance() == "finished": + break + finally: + if self.view.active: + self.view.release() diff --git a/research/current-rounded-lambda/vendor/serial/serial_sources.py b/research/current-rounded-lambda/vendor/serial/serial_sources.py new file mode 100644 index 0000000000..54ab34373b --- /dev/null +++ b/research/current-rounded-lambda/vendor/serial/serial_sources.py @@ -0,0 +1,64 @@ +"""Frozen unchanged current monomial and literal descriptor tables. + +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +""" +from hashlib import sha1, sha256 +import importlib.util +import json +from pathlib import Path, PurePosixPath +from types import SimpleNamespace +import sys + +HERE = Path(__file__).resolve().parent +_loaded = None + + +def need(condition, message): + if not condition: + raise ValueError(message) + + +def authenticate(root=HERE): + rows = json.loads((root / "DEPENDENCIES.json").read_text())["files"] + seen = set() + for row in rows: + path = PurePosixPath(row["path"]) + need(not path.is_absolute() and ".." not in path.parts + and path.parts[0] == "vendor" and str(path) not in seen, + "unique relative frozen source") + seen.add(str(path)) + target = root / str(path) + need(target.is_file() and not target.is_symlink(), "regular frozen source") + raw = target.read_bytes() + need(sha256(raw).hexdigest() == row["sha256"] + and sha1(b"blob " + str(len(raw)).encode() + b"\0" + raw).hexdigest() == row["git_blob"], + "authenticated source " + str(path)) + return len(rows) + + +def load(name, path): + need(name not in sys.modules, "cold source namespace " + name) + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + sys.modules[name] = module + exec(compile(path.read_bytes(), str(path), "exec"), module.__dict__) + return module + + +def activate(): + global _loaded + if _loaded is not None: + return _loaded + authenticate() + phase = HERE / "vendor/monomial" + sys.path.insert(0, str(phase)) + binding = load("phase_binding", phase / "phase_binding.py") + state = binding.activate() + adapter = load("phase_adapter", phase / "phase_adapter.py") + selected = load("selected_service", phase / "selected_service.py") + dispatch = phase / "vendor/binding/vendor/dispatch" + rows = load("serial_monomial_retained_rows", dispatch / "row_programs.py") + _loaded = SimpleNamespace(binding=binding, state=state, adapter=adapter, + selected=selected, rows=rows, phase=phase, + abi=state.abi, codec=state.codec) + return _loaded diff --git a/research/current-rounded-lambda/vendor/serial/vendor/monomial/DEPENDENCIES.json b/research/current-rounded-lambda/vendor/serial/vendor/monomial/DEPENDENCIES.json new file mode 100644 index 0000000000..cbe38bbf8f --- /dev/null +++ b/research/current-rounded-lambda/vendor/serial/vendor/monomial/DEPENDENCIES.json @@ -0,0 +1,1203 @@ +{ + "files": [ + { + "git_blob": "9e68f7226669eb4b92330023e16a86739aa859ce", + "origin": { + "commit": "5629e7772d1720d6727465e328a45694f8620538", + "original_path": "research/compiled-compact-native-binding/DEPENDENCIES.json", + "repository": "CubeJerry/integer-mult-bounds" + }, + "path": "vendor/binding/DEPENDENCIES.json", + "sha256": "8481fde09d925fe143a604a4924f05bb1ade2d1ac8f9068389680c9406f71507" + }, + { + "git_blob": "859eb593d3b5bb07b3fd8a3b1034b4ac19a8dd6c", + "origin": { + "commit": "5629e7772d1720d6727465e328a45694f8620538", + "original_path": "research/compiled-compact-native-binding/PROOF.md", + "repository": "CubeJerry/integer-mult-bounds" + }, + "path": "vendor/binding/PROOF.md", + "sha256": "acabf664e97b35d5c63998c6f08bbea27369b36db14b203c4ef62180a9535faf" + }, + { + "git_blob": "15469f097247a4627336b9bb77d03b8696533276", + "origin": { + "commit": "5629e7772d1720d6727465e328a45694f8620538", + "original_path": "research/compiled-compact-native-binding/binding_sources.py", + "repository": "CubeJerry/integer-mult-bounds" + }, + "path": "vendor/binding/binding_sources.py", + "sha256": "e3b1cd40a2436381b3688aa3a5a740d402d08d0611dc43a629634bb1a6f7b299" + }, + { + "git_blob": "bf3bd0d5a6fbfa1e7a56c36578c2caaa0130c7c5", + "origin": { + "commit": "5629e7772d1720d6727465e328a45694f8620538", + "original_path": "research/compiled-compact-native-binding/codec.py", + "repository": "CubeJerry/integer-mult-bounds" + }, + "path": "vendor/binding/codec.py", + "sha256": "60f94c991568981c1ae8633bbc9c4d3c259e2df0654e8720d7f4554737d8e136" + }, + { + "git_blob": "481013b988e5ae8189a0dddfcbb2f521e3142cab", + "origin": { + "commit": "5629e7772d1720d6727465e328a45694f8620538", + "original_path": "research/compiled-compact-native-binding/provider.py", + "repository": "CubeJerry/integer-mult-bounds" + }, + "path": "vendor/binding/provider.py", + "sha256": "3b7bb4f7940ffa9fafd34d25bbb1a9225e1b671924ed194ad012cb26251d7460" + }, + { + "git_blob": "de725a73e97496836100aa6e0ed9cd70985373da", + "origin": { + "git_blob": "de725a73e97496836100aa6e0ed9cd70985373da", + "group": "deferred", + "original_path": "research/p104-6030-deferred-layer/PROOF.md", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "3a7ac6dae3b76d5f78849f521635da034fe99b1ea6c942175a3652b53f6262c2" + }, + "path": "vendor/binding/vendor/DEFERRED-PROOF.md", + "sha256": "3a7ac6dae3b76d5f78849f521635da034fe99b1ea6c942175a3652b53f6262c2" + }, + { + "git_blob": "d59b5035e7b4cbaa9d688a1d32dd0d6eb79c466a", + "origin": { + "git_blob": "d59b5035e7b4cbaa9d688a1d32dd0d6eb79c466a", + "group": "selected", + "original_path": "certificates/selected-result.json", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa" + }, + "path": "vendor/binding/vendor/SELECTED-RESULT.json", + "sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa" + }, + { + "git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec", + "origin": { + "git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec", + "group": "task", + "original_path": "docs/research/agent-task-catalog.json", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81" + }, + "path": "vendor/binding/vendor/TASK-CATALOG.json", + "sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81" + }, + { + "git_blob": "f65f38123ca0adb02f6ca69351cbfc933506e5cb", + "origin": { + "git_blob": "f65f38123ca0adb02f6ca69351cbfc933506e5cb", + "group": "compact", + "original_path": "research/physical-complex-compact/PROOF.md", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "ec6395822ae500242f3fe5e2cf40caf9a7f9fa259d475d2c14970d951ff4df48" + }, + "path": "vendor/binding/vendor/compact/PROOF.md", + "sha256": "ec6395822ae500242f3fe5e2cf40caf9a7f9fa259d475d2c14970d951ff4df48" + }, + { + "git_blob": "13af719b5844f14f5cf05c919e84204cd21caf6a", + "origin": { + "git_blob": "13af719b5844f14f5cf05c919e84204cd21caf6a", + "group": "compact", + "original_path": "research/physical-complex-compact/compact_control.py", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "73a9ace4f91aeb383fdbc6f7762498fe707b4e4b45b1c63920bb90cc8795e284" + }, + "path": "vendor/binding/vendor/compact/compact_control.py", + "sha256": "73a9ace4f91aeb383fdbc6f7762498fe707b4e4b45b1c63920bb90cc8795e284" + }, + { + "git_blob": "064b508efd12f7d5a33729b2344b6890f0c75d2f", + "origin": { + "git_blob": "064b508efd12f7d5a33729b2344b6890f0c75d2f", + "group": "compact", + "original_path": "research/physical-complex-compact/compact_counts.py", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "71c19cfc186aaf0c159ec64ea1a5d58e1fc5fc093d50c7360247559261fad00d" + }, + "path": "vendor/binding/vendor/compact/compact_counts.py", + "sha256": "71c19cfc186aaf0c159ec64ea1a5d58e1fc5fc093d50c7360247559261fad00d" + }, + { + "git_blob": "5c5ca75567f85b042c156e0ed5a8afe81671b1b8", + "origin": { + "git_blob": "5c5ca75567f85b042c156e0ed5a8afe81671b1b8", + "group": "compact", + "original_path": "research/physical-complex-compact/compact_engine.py", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "2cacff4d36a6e029add115f47cd8ffbf3c61e7ece0900308b98e6032e652f098" + }, + "path": "vendor/binding/vendor/compact/compact_engine.py", + "sha256": "2cacff4d36a6e029add115f47cd8ffbf3c61e7ece0900308b98e6032e652f098" + }, + { + "git_blob": "03ca12aed77741f40d824fcb33cc4eedb85abfd9", + "origin": { + "git_blob": "03ca12aed77741f40d824fcb33cc4eedb85abfd9", + "group": "compact", + "original_path": "research/physical-complex-compact/compact_layout.py", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "5be2be9c32c15742da18fde438a5559a45a86eb661105027b1b233a7c397e0ce" + }, + "path": "vendor/binding/vendor/compact/compact_layout.py", + "sha256": "5be2be9c32c15742da18fde438a5559a45a86eb661105027b1b233a7c397e0ce" + }, + { + "git_blob": "5699cc7f20def3bc873d2da05b13a252246367a1", + "origin": { + "git_blob": "5699cc7f20def3bc873d2da05b13a252246367a1", + "group": "compact", + "original_path": "research/physical-complex-compact/compact_streams.py", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "3b5cce3be9763c6bd7803d6223d2784d1975eeac6c7c99f5e00dfc49bb11d249" + }, + "path": "vendor/binding/vendor/compact/compact_streams.py", + "sha256": "3b5cce3be9763c6bd7803d6223d2784d1975eeac6c7c99f5e00dfc49bb11d249" + }, + { + "git_blob": "3d2834c5fff39481c9a0442a514c10eaf50f98d2", + "origin": { + "git_blob": "3d2834c5fff39481c9a0442a514c10eaf50f98d2", + "group": "compact", + "original_path": "research/physical-complex-compact/native_sources.py", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "865c97c4f261fde37e86eb16a910eaa5b2f26daaa7d2648ae0322ba8c0286572" + }, + "path": "vendor/binding/vendor/compact/native_sources.py", + "sha256": "865c97c4f261fde37e86eb16a910eaa5b2f26daaa7d2648ae0322ba8c0286572" + }, + { + "git_blob": "96b032f662397d496c4d827839441b6794881a53", + "origin": { + "git_blob": "96b032f662397d496c4d827839441b6794881a53", + "group": "dispatch", + "original_path": "research/compiled-row-stock-dispatch/PROOF.md", + "published_commit": "5c59d247d51c6e1fca0dead3ed2139b6802b3a15", + "repository": "CubeJerry/integer-mult-bounds", + "sha256": "b0ed45deb84fa2ce835246d7de3c85ccdacf24ab68235cf1138fe6ff4c4ce5d9" + }, + "path": "vendor/binding/vendor/dispatch/PROOF.md", + "sha256": "b0ed45deb84fa2ce835246d7de3c85ccdacf24ab68235cf1138fe6ff4c4ce5d9" + }, + { + "git_blob": "70bb2c54a6dbf9f17a55bbae8383d9bfde933e52", + "origin": { + "git_blob": "70bb2c54a6dbf9f17a55bbae8383d9bfde933e52", + "group": "task", + "original_path": "research/compiled-row-stock-dispatch/TASK.json", + "published_commit": "5c59d247d51c6e1fca0dead3ed2139b6802b3a15", + "repository": "CubeJerry/integer-mult-bounds", + "sha256": "6b5334d10044644ba646452b0e9e21528061768726d124a4a97af26785aa9ec9" + }, + "path": "vendor/binding/vendor/dispatch/TASK.json", + "sha256": "6b5334d10044644ba646452b0e9e21528061768726d124a4a97af26785aa9ec9" + }, + { + "git_blob": "5752189b8a838596346df8dde89024621b513e41", + "origin": { + "git_blob": "5752189b8a838596346df8dde89024621b513e41", + "group": "dispatch", + "original_path": "research/compiled-row-stock-dispatch/compiler_routes.py", + "published_commit": "5c59d247d51c6e1fca0dead3ed2139b6802b3a15", + "repository": "CubeJerry/integer-mult-bounds", + "sha256": "d375f8c2e666ffd2ebe6de34ccb7756ac9fa4a4cd5f866cb025a781f8538c599" + }, + "path": "vendor/binding/vendor/dispatch/compiler_routes.py", + "sha256": "d375f8c2e666ffd2ebe6de34ccb7756ac9fa4a4cd5f866cb025a781f8538c599" + }, + { + "git_blob": "30ba41725f7e1ba3dd058abd30c66d19820a008d", + "origin": { + "git_blob": "30ba41725f7e1ba3dd058abd30c66d19820a008d", + "group": "dispatch", + "original_path": "research/compiled-row-stock-dispatch/row_programs.py", + "published_commit": "5c59d247d51c6e1fca0dead3ed2139b6802b3a15", + "repository": "CubeJerry/integer-mult-bounds", + "sha256": "a59510516d1397382de6141edc1eb69cf3ba5e6e330198deb5e335e543300be4" + }, + "path": "vendor/binding/vendor/dispatch/row_programs.py", + "sha256": "a59510516d1397382de6141edc1eb69cf3ba5e6e330198deb5e335e543300be4" + }, + { + "git_blob": "9c3c97d86a7bdd7b95944218bf1e6e4a5a1746a1", + "origin": { + "git_blob": "9c3c97d86a7bdd7b95944218bf1e6e4a5a1746a1", + "group": "dispatch", + "original_path": "research/compiled-row-stock-dispatch/vendor/occurrence_geometry.py", + "published_commit": "5c59d247d51c6e1fca0dead3ed2139b6802b3a15", + "repository": "CubeJerry/integer-mult-bounds", + "sha256": "f3504a73803da120040cc62ee8f5e8b849237daf508a7146272d55624c3f8396" + }, + "path": "vendor/binding/vendor/dispatch/vendor/occurrence_geometry.py", + "sha256": "f3504a73803da120040cc62ee8f5e8b849237daf508a7146272d55624c3f8396" + }, + { + "git_blob": "1e3533efa92c3bab35916ae6844290586d18ff27", + "origin": { + "git_blob": "1e3533efa92c3bab35916ae6844290586d18ff27", + "group": "dispatch", + "original_path": "research/compiled-row-stock-dispatch/vendor/row_padding.py", + "published_commit": "5c59d247d51c6e1fca0dead3ed2139b6802b3a15", + "repository": "CubeJerry/integer-mult-bounds", + "sha256": "24270408e87b028791670cd63908adeb03162f0919237e8644065c5898fecf2f" + }, + "path": "vendor/binding/vendor/dispatch/vendor/row_padding.py", + "sha256": "24270408e87b028791670cd63908adeb03162f0919237e8644065c5898fecf2f" + }, + { + "git_blob": "605981247e27de68fe78d3a36e2b454efbd6b11e", + "origin": { + "git_blob": "605981247e27de68fe78d3a36e2b454efbd6b11e", + "group": "lifecycle", + "original_path": "research/compiled-owned-bank-lifecycle/PROOF.md", + "published_commit": "ab239cb6ee884e7a900dd9101c34448077fad0b0", + "repository": "CubeJerry/integer-mult-bounds", + "sha256": "9a088fa00f10e59df48090b67c6ef7c3641bc9cc36b223deb917740372d57993" + }, + "path": "vendor/binding/vendor/lifecycle/PROOF.md", + "sha256": "9a088fa00f10e59df48090b67c6ef7c3641bc9cc36b223deb917740372d57993" + }, + { + "git_blob": "acf475e4fccaff2fb64bd5b0b3f3fc0d246dc592", + "origin": { + "git_blob": "acf475e4fccaff2fb64bd5b0b3f3fc0d246dc592", + "group": "lifecycle", + "original_path": "research/compiled-owned-bank-lifecycle/machine.py", + "published_commit": "ab239cb6ee884e7a900dd9101c34448077fad0b0", + "repository": "CubeJerry/integer-mult-bounds", + "sha256": "ec597bce13275003ff30e4be481c936401826c1d4af642b55eec0c410774d1df" + }, + "path": "vendor/binding/vendor/lifecycle/machine.py", + "sha256": "ec597bce13275003ff30e4be481c936401826c1d4af642b55eec0c410774d1df" + }, + { + "git_blob": "79c95fa79439f3c893de52991173bd3a5eae2729", + "origin": { + "git_blob": "79c95fa79439f3c893de52991173bd3a5eae2729", + "group": "lifecycle", + "original_path": "research/compiled-owned-bank-lifecycle/source_ir.py", + "published_commit": "ab239cb6ee884e7a900dd9101c34448077fad0b0", + "repository": "CubeJerry/integer-mult-bounds", + "sha256": "54dd93bc50bd10e974c70794df1c13da27f0e3d8cdb6cfe6791a63280096f1b1" + }, + "path": "vendor/binding/vendor/lifecycle/source_ir.py", + "sha256": "54dd93bc50bd10e974c70794df1c13da27f0e3d8cdb6cfe6791a63280096f1b1" + }, + { + "git_blob": "9469443a3d7cc6310a7369daf77c7756d5bd3f38", + "origin": { + "git_blob": "9469443a3d7cc6310a7369daf77c7756d5bd3f38", + "group": "compiler", + "original_path": "research/lockstep-completion-pass/executor.py", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "0bda14a3e5f4da348cd5c89ebe29d717e7a5406ec31b164d5b9e1d25f7f38e0e" + }, + "path": "vendor/binding/vendor/lockstep_executor.py", + "sha256": "0bda14a3e5f4da348cd5c89ebe29d717e7a5406ec31b164d5b9e1d25f7f38e0e" + }, + { + "git_blob": "12be1f06062090fcc68e598bae250f185e3d8524", + "origin": { + "git_blob": "12be1f06062090fcc68e598bae250f185e3d8524", + "group": "ordinary", + "original_path": "research/physical-ordinary-interchange/PROOF.md", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "8a1c2145cd8f080026488a571d95813c09679aa323f19aeaef0ea98030136e1c" + }, + "path": "vendor/binding/vendor/ordinary/PROOF.md", + "sha256": "8a1c2145cd8f080026488a571d95813c09679aa323f19aeaef0ea98030136e1c" + }, + { + "git_blob": "651185a9eec51438949580a34e707f6dd1adbd4b", + "origin": { + "git_blob": "651185a9eec51438949580a34e707f6dd1adbd4b", + "group": "ordinary", + "original_path": "research/physical-ordinary-interchange/binary.py", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "578fb5bc793fc544dca8111605bf9f6067b8ba7dc7489a3ac243e1df3cd37953" + }, + "path": "vendor/binding/vendor/ordinary/binary.py", + "sha256": "578fb5bc793fc544dca8111605bf9f6067b8ba7dc7489a3ac243e1df3cd37953" + }, + { + "git_blob": "2280fa98ff5e4da7c4909814ce4a1c405605ada8", + "origin": { + "git_blob": "2280fa98ff5e4da7c4909814ce4a1c405605ada8", + "group": "ordinary", + "original_path": "research/physical-ordinary-interchange/encoded.py", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "10ad2fa5902a48d49cf2b89a30b3f2711d63a6a43b9512a6427affcdf07335a7" + }, + "path": "vendor/binding/vendor/ordinary/encoded.py", + "sha256": "10ad2fa5902a48d49cf2b89a30b3f2711d63a6a43b9512a6427affcdf07335a7" + }, + { + "git_blob": "81b330a4b886a0f4deab7b0811478bab3fbc107a", + "origin": { + "git_blob": "81b330a4b886a0f4deab7b0811478bab3fbc107a", + "group": "ordinary", + "original_path": "research/physical-ordinary-interchange/ordinary.py", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "7f8338e748bcd42fbef1e7cc47b6c5040dfb3aad216e34759bcb12b8e14f7705" + }, + "path": "vendor/binding/vendor/ordinary/ordinary.py", + "sha256": "7f8338e748bcd42fbef1e7cc47b6c5040dfb3aad216e34759bcb12b8e14f7705" + }, + { + "git_blob": "44b464714277786297c8ee7fd04470dc6394896d", + "origin": { + "git_blob": "44b464714277786297c8ee7fd04470dc6394896d", + "group": "ordinary", + "original_path": "research/physical-ordinary-interchange/physical_words.py", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "89ba40442297ec35368e426770f44852b39807ca426710ded2735678651bef61" + }, + "path": "vendor/binding/vendor/ordinary/physical_words.py", + "sha256": "89ba40442297ec35368e426770f44852b39807ca426710ded2735678651bef61" + }, + { + "git_blob": "09f645bbf0c6c3d41d0c03e8031adc4e81744ac1", + "origin": { + "git_blob": "09f645bbf0c6c3d41d0c03e8031adc4e81744ac1", + "group": "ordinary", + "original_path": "research/physical-ordinary-interchange/session.py", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "45ee809b27a69ca5576361922fd2760f568c9a98864d4c55c4fee3003ee3c9ad" + }, + "path": "vendor/binding/vendor/ordinary/session.py", + "sha256": "45ee809b27a69ca5576361922fd2760f568c9a98864d4c55c4fee3003ee3c9ad" + }, + { + "git_blob": "8594fc62cee8a111958561b75045c8ec16ebfa47", + "origin": { + "git_blob": "8594fc62cee8a111958561b75045c8ec16ebfa47", + "group": "ordinary", + "original_path": "research/physical-ordinary-interchange/source.py", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "4bd047a1272374880962d3074f1e50de717518a3a181f11607e820afe50dd4e5" + }, + "path": "vendor/binding/vendor/ordinary/source.py", + "sha256": "4bd047a1272374880962d3074f1e50de717518a3a181f11607e820afe50dd4e5" + }, + { + "git_blob": "69e07e58c5468e2045281335a56f4918b474c79d", + "origin": { + "git_blob": "69e07e58c5468e2045281335a56f4918b474c79d", + "group": "record_lift", + "original_path": "research/selected-monomial-tape-lift/PROOF.md", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "8442243130d4a9932f78eb42419196d2866d4496256e3bb2d6143fd52b44ddb3" + }, + "path": "vendor/binding/vendor/record_lift/PROOF.md", + "sha256": "8442243130d4a9932f78eb42419196d2866d4496256e3bb2d6143fd52b44ddb3" + }, + { + "git_blob": "167d085a9191e3b3545bcf39d5e6edc94e54d514", + "origin": { + "git_blob": "167d085a9191e3b3545bcf39d5e6edc94e54d514", + "group": "record_lift", + "original_path": "research/selected-monomial-tape-lift/lift.py", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "21c77119c004a86a603cca91ce1366629431db18e9e0554942492f1b5afebe4a" + }, + "path": "vendor/binding/vendor/record_lift/lift.py", + "sha256": "21c77119c004a86a603cca91ce1366629431db18e9e0554942492f1b5afebe4a" + }, + { + "git_blob": "e82bfef53054bd753ba0aa8a966f84427faa2293", + "origin": { + "git_blob": "e82bfef53054bd753ba0aa8a966f84427faa2293", + "group": "reference", + "original_path": "research/selected-complex-compact-adapters/NOTICE.md", + "published_commit": "d404b48a1e7b147556b309497d55089c837dddb2", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "74a9f03e9ce467c75f5f7cf1b8465d349ea38ef114afad261824c3bcf13da00f" + }, + "path": "vendor/binding/vendor/reference/NOTICE.md", + "sha256": "74a9f03e9ce467c75f5f7cf1b8465d349ea38ef114afad261824c3bcf13da00f" + }, + { + "git_blob": "60bc206c78150f23563a4775800b0dd32025843d", + "origin": { + "git_blob": "60bc206c78150f23563a4775800b0dd32025843d", + "group": "reference", + "original_path": "research/selected-complex-compact-adapters/compact.py", + "published_commit": "d404b48a1e7b147556b309497d55089c837dddb2", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "0e1027a60f38c21cfd808c8ce44dcc2423810efdab0e15f02b07f261ad48fc3c" + }, + "path": "vendor/binding/vendor/reference/compact.py", + "sha256": "0e1027a60f38c21cfd808c8ce44dcc2423810efdab0e15f02b07f261ad48fc3c" + }, + { + "git_blob": "61542ce4c9eb51bfc113475b4f98649cb90a853e", + "origin": { + "git_blob": "61542ce4c9eb51bfc113475b4f98649cb90a853e", + "group": "reference", + "original_path": "research/selected-complex-compact-adapters/streams.py", + "published_commit": "d404b48a1e7b147556b309497d55089c837dddb2", + "repository": "CrocSwap/integer-mult-bounds", + "sha256": "718a582a50aee8f1f04945ed942be1d4162962fe47dbf05c6ff37b7fb8c61257" + }, + "path": "vendor/binding/vendor/reference/streams.py", + "sha256": "718a582a50aee8f1f04945ed942be1d4162962fe47dbf05c6ff37b7fb8c61257" + }, + { + "git_blob": "1341d394481fb13beb826b944409b11083d8e7f8", + "origin": { + "archive_name": "pr2808.tar", + "archive_sha256": "2ab59c6d0ad00c001ecbe44090b66871ec3d2c1fdc51daa503109e56f3285cab", + "git_blob": "1341d394481fb13beb826b944409b11083d8e7f8", + "member": "outer.py", + "sha256": "9a26702a853805da7f97da7272d3b610c4d69767ecc6b450efbc4b6722dc3f19" + }, + "path": "vendor/binding/vendor/runtime/pr2808/outer.py", + "sha256": "9a26702a853805da7f97da7272d3b610c4d69767ecc6b450efbc4b6722dc3f19" + }, + { + "git_blob": "0229304638de6c78ebc519b33a6ce34b1d396ca7", + "origin": { + "archive_name": "pr2808.tar", + "archive_sha256": "2ab59c6d0ad00c001ecbe44090b66871ec3d2c1fdc51daa503109e56f3285cab", + "git_blob": "0229304638de6c78ebc519b33a6ce34b1d396ca7", + "member": "vendor/pr2786/padding.py", + "sha256": "9f58bf2d343e13a70dc765d86c590b912d5987669d507ab14bd36deed94a76ee" + }, + "path": "vendor/binding/vendor/runtime/pr2808/vendor/pr2786/padding.py", + "sha256": "9f58bf2d343e13a70dc765d86c590b912d5987669d507ab14bd36deed94a76ee" + }, + { + "git_blob": "a66d9276f829ce2c619871866816649d5f3687fd", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "a66d9276f829ce2c619871866816649d5f3687fd", + "member": "inputs/pr2753/consumer.py", + "sha256": "2f2a8604c23fb2c81f24320c71ed0142118d98dde3be6086adad28e89954a777" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/consumer.py", + "sha256": "2f2a8604c23fb2c81f24320c71ed0142118d98dde3be6086adad28e89954a777" + }, + { + "git_blob": "5b7846a70aada53d87480b337e1c04217118771b", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "5b7846a70aada53d87480b337e1c04217118771b", + "member": "inputs/pr2753/driver.py", + "sha256": "ceaf8f75de9810a05ebf8f65780b6f8bd7599a5768401d5e4386182afe615cdf" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/driver.py", + "sha256": "ceaf8f75de9810a05ebf8f65780b6f8bd7599a5768401d5e4386182afe615cdf" + }, + { + "git_blob": "d0318d43ed420e21dc52166a19de703aa87fbb3e", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "d0318d43ed420e21dc52166a19de703aa87fbb3e", + "member": "inputs/pr2753/evidence/NOTICE.md", + "sha256": "fd7c42e89878cda6df86dde8720ece34625a337cf5edd795a421e2d3b42919e9" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/evidence/NOTICE.md", + "sha256": "fd7c42e89878cda6df86dde8720ece34625a337cf5edd795a421e2d3b42919e9" + }, + { + "git_blob": "f2b49cdef83a4a685fad32c01fba93e12cfcb5a8", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "f2b49cdef83a4a685fad32c01fba93e12cfcb5a8", + "member": "inputs/pr2753/evidence/pr2688-NOTICE.md", + "sha256": "c899fccf7bd32397f0ddd85e4af35a166cefb3e3ae3407ec40edc3ab2051b617" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/evidence/pr2688-NOTICE.md", + "sha256": "c899fccf7bd32397f0ddd85e4af35a166cefb3e3ae3407ec40edc3ab2051b617" + }, + { + "git_blob": "aa554b14fe0f6b308d9fba0a2afc92e5a28e20cb", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "aa554b14fe0f6b308d9fba0a2afc92e5a28e20cb", + "member": "inputs/pr2753/layout.py", + "sha256": "3beef6534b02c3b011b741f957a7d9fb05a9ac0bba1fed53b2c71834e4ea6bc1" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/layout.py", + "sha256": "3beef6534b02c3b011b741f957a7d9fb05a9ac0bba1fed53b2c71834e4ea6bc1" + }, + { + "git_blob": "6a6e5c02f299fad8c4f7ab724fc36e14a22ab13c", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "6a6e5c02f299fad8c4f7ab724fc36e14a22ab13c", + "member": "inputs/pr2753/linear_sign.py", + "sha256": "73e895fc701a4145cbe89d60f5775128354e7f08d0a45eacf22f423913f54e67" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/linear_sign.py", + "sha256": "73e895fc701a4145cbe89d60f5775128354e7f08d0a45eacf22f423913f54e67" + }, + { + "git_blob": "28c98a3573b458f7a055678d70b602b80e6e959e", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "28c98a3573b458f7a055678d70b602b80e6e959e", + "member": "inputs/pr2753/node.py", + "sha256": "0bd4f640cafb5c8f070c161d86445910f77578a672bf5886936ed89e7f6bd21b" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/node.py", + "sha256": "0bd4f640cafb5c8f070c161d86445910f77578a672bf5886936ed89e7f6bd21b" + }, + { + "git_blob": "72543f684f38fefeacc2ee66d81661f1a2439cf7", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "72543f684f38fefeacc2ee66d81661f1a2439cf7", + "member": "inputs/pr2753/packet_engine.py", + "sha256": "c80fc3aa9092f91cc309b2fb2dbc3618bf96bdb9b8498503993ea161f0ae2134" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/packet_engine.py", + "sha256": "c80fc3aa9092f91cc309b2fb2dbc3618bf96bdb9b8498503993ea161f0ae2134" + }, + { + "git_blob": "38502515afc928082c849cd2cda8578d33a5050a", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "38502515afc928082c849cd2cda8578d33a5050a", + "member": "inputs/pr2753/peel.py", + "sha256": "8b20888f74b4cd814a97b42ec72528fbfb6d2e936c5022df726f0785d0d01a2e" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/peel.py", + "sha256": "8b20888f74b4cd814a97b42ec72528fbfb6d2e936c5022df726f0785d0d01a2e" + }, + { + "git_blob": "ef9f81510db86eaf2f0a7191d85e92a6db30ddc0", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "ef9f81510db86eaf2f0a7191d85e92a6db30ddc0", + "member": "inputs/pr2753/predecessor/NOTICE.md", + "sha256": "c446b32b8a621844fb2fbe654810c8122035bdd43fed2132f1137d98cb6f9943" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/NOTICE.md", + "sha256": "c446b32b8a621844fb2fbe654810c8122035bdd43fed2132f1137d98cb6f9943" + }, + { + "git_blob": "6a14feac45094ae9156e8c2c982d6727544f180e", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "6a14feac45094ae9156e8c2c982d6727544f180e", + "member": "inputs/pr2753/predecessor/cardinal_counts.py", + "sha256": "59ddeac102a0cc51fa49b15aae6aeb68cd68ed217fa974ce916372a177d2ec8f" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/cardinal_counts.py", + "sha256": "59ddeac102a0cc51fa49b15aae6aeb68cd68ed217fa974ce916372a177d2ec8f" + }, + { + "git_blob": "0efc0575a7623ac41c094d2e8772beda5a9fdc29", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "0efc0575a7623ac41c094d2e8772beda5a9fdc29", + "member": "inputs/pr2753/predecessor/catalogue.py", + "sha256": "83ea88f82d4a83c5f889774bfe3519b7ebaa24b6a0e2a969dafff012107a89bf" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/catalogue.py", + "sha256": "83ea88f82d4a83c5f889774bfe3519b7ebaa24b6a0e2a969dafff012107a89bf" + }, + { + "git_blob": "4f6ac09bffab43dbccc470bd0bde2ffbe969a8b2", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "4f6ac09bffab43dbccc470bd0bde2ffbe969a8b2", + "member": "inputs/pr2753/predecessor/control.py", + "sha256": "d3a93e54bb7d333b73917586407d11674d38b5c3fda4fbdc436fb5293ae7786a" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/control.py", + "sha256": "d3a93e54bb7d333b73917586407d11674d38b5c3fda4fbdc436fb5293ae7786a" + }, + { + "git_blob": "aa3a327604308d3a5c7a27b65f5e631d430ab093", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "aa3a327604308d3a5c7a27b65f5e631d430ab093", + "member": "inputs/pr2753/predecessor/fresh_rows.py", + "sha256": "e4ae08fbd658add630eb7754ebe0cbcb42c6f39cf4128f9cb92e27fcf5213a7d" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/fresh_rows.py", + "sha256": "e4ae08fbd658add630eb7754ebe0cbcb42c6f39cf4128f9cb92e27fcf5213a7d" + }, + { + "git_blob": "39a2916c207d04be5efc44750d8606f5da0c2990", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "39a2916c207d04be5efc44750d8606f5da0c2990", + "member": "inputs/pr2753/predecessor/topology.py", + "sha256": "384d456ddba76de137a63b50019d5bba2e9f6daa4177c91643e0565d4cf1d44b" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/topology.py", + "sha256": "384d456ddba76de137a63b50019d5bba2e9f6daa4177c91643e0565d4cf1d44b" + }, + { + "git_blob": "21a5a21220a18ab62a19ac403a9944bc3a8665c8", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "21a5a21220a18ab62a19ac403a9944bc3a8665c8", + "member": "inputs/pr2753/predecessor/vendor/binding.py", + "sha256": "20169a8af6ed2b34069fd353a2bc1c42335ab686c58de8479baef33dd3fb493b" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/binding.py", + "sha256": "20169a8af6ed2b34069fd353a2bc1c42335ab686c58de8479baef33dd3fb493b" + }, + { + "git_blob": "4d1fd4abb0f2aabe833e5cbc9efb51039739e7ca", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "4d1fd4abb0f2aabe833e5cbc9efb51039739e7ca", + "member": "inputs/pr2753/predecessor/vendor/bitstream.py", + "sha256": "f78bac9641007dbd8824984edcac057274fe016ce78bd9cb512d0c0913274783" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/bitstream.py", + "sha256": "f78bac9641007dbd8824984edcac057274fe016ce78bd9cb512d0c0913274783" + }, + { + "git_blob": "b8ba857e32c5903408e1e61ff916300848b4a208", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "b8ba857e32c5903408e1e61ff916300848b4a208", + "member": "inputs/pr2753/predecessor/vendor/cardinality.py", + "sha256": "505d5e560c5a507e6184edcc19a87cf1fed243eb34a5cb21fbe1e4fe017e7f22" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/cardinality.py", + "sha256": "505d5e560c5a507e6184edcc19a87cf1fed243eb34a5cb21fbe1e4fe017e7f22" + }, + { + "git_blob": "ce4935f838516e2b08d13bec767cb803786fbc6b", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "ce4935f838516e2b08d13bec767cb803786fbc6b", + "member": "inputs/pr2753/predecessor/vendor/children.py", + "sha256": "a78866939631214c1d1659203b2b5fc062e3c6255e9f11f975c310046b010bd6" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/children.py", + "sha256": "a78866939631214c1d1659203b2b5fc062e3c6255e9f11f975c310046b010bd6" + }, + { + "git_blob": "c631a9e77fbcccf0e8f448adc22978728aed7b60", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "c631a9e77fbcccf0e8f448adc22978728aed7b60", + "member": "inputs/pr2753/predecessor/vendor/controller.py", + "sha256": "fa09146991f6c04e6f4b6eb9bf0c8e103e70e90a0e402ff3d69814e6aac8ff8c" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/controller.py", + "sha256": "fa09146991f6c04e6f4b6eb9bf0c8e103e70e90a0e402ff3d69814e6aac8ff8c" + }, + { + "git_blob": "81b48940ce222290a40d4fb349ce827f4788469d", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "81b48940ce222290a40d4fb349ce827f4788469d", + "member": "inputs/pr2753/predecessor/vendor/counts.py", + "sha256": "00b476dbda0e8cc99886bf794439e1cb9e775f435f599a3557e99321fe084069" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/counts.py", + "sha256": "00b476dbda0e8cc99886bf794439e1cb9e775f435f599a3557e99321fe084069" + }, + { + "git_blob": "c74cacf5ce809c0561d374f137a52df0992b4226", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "c74cacf5ce809c0561d374f137a52df0992b4226", + "member": "inputs/pr2753/predecessor/vendor/directory.py", + "sha256": "4270e370b2bfe38ef73aadcd97d1b3496b56bd582115d74331eb9e5ceb90bec7" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/directory.py", + "sha256": "4270e370b2bfe38ef73aadcd97d1b3496b56bd582115d74331eb9e5ceb90bec7" + }, + { + "git_blob": "30d11ff4f333813855d36da3eb5a1ab0e154bafe", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "30d11ff4f333813855d36da3eb5a1ab0e154bafe", + "member": "inputs/pr2753/predecessor/vendor/episode.py", + "sha256": "38f79cb2a370548471063952d5f7c74bd795a2a8496fdcf3ce0996d79e3adaff" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/episode.py", + "sha256": "38f79cb2a370548471063952d5f7c74bd795a2a8496fdcf3ce0996d79e3adaff" + }, + { + "git_blob": "6667c0b772a63f0059c7caffec63e0d919a92398", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "6667c0b772a63f0059c7caffec63e0d919a92398", + "member": "inputs/pr2753/predecessor/vendor/forms.py", + "sha256": "1fdf9d31b7eb107c396e33f94dad61c9d3f2c709cae61178268a44ca80dbc0b4" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/forms.py", + "sha256": "1fdf9d31b7eb107c396e33f94dad61c9d3f2c709cae61178268a44ca80dbc0b4" + }, + { + "git_blob": "737edfc4a10f4b7b3b97a7cef4b40864efd806e6", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "737edfc4a10f4b7b3b97a7cef4b40864efd806e6", + "member": "inputs/pr2753/predecessor/vendor/low_codes.py", + "sha256": "f657e17f6088c840e3f7783e662257630f6d2c1e71c217721ffbca4d6ac93e87" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/low_codes.py", + "sha256": "f657e17f6088c840e3f7783e662257630f6d2c1e71c217721ffbca4d6ac93e87" + }, + { + "git_blob": "5d497353efbb9eeaaf4facd96ab40ffb0f3aa20d", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "5d497353efbb9eeaaf4facd96ab40ffb0f3aa20d", + "member": "inputs/pr2753/predecessor/vendor/matrices.py", + "sha256": "00b687434039b54529ee092e34f9435cfcd66e0816eb3bd2a6688c73f4e01459" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/matrices.py", + "sha256": "00b687434039b54529ee092e34f9435cfcd66e0816eb3bd2a6688c73f4e01459" + }, + { + "git_blob": "6d4ebca8398008375b8f4762d1a9f1514e8c2611", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "6d4ebca8398008375b8f4762d1a9f1514e8c2611", + "member": "inputs/pr2753/predecessor/vendor/numeric.py", + "sha256": "7327b05c4ec3e0f6d9c352cc7de85bfd4ebe940482553e77c59a773a8c09c514" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/numeric.py", + "sha256": "7327b05c4ec3e0f6d9c352cc7de85bfd4ebe940482553e77c59a773a8c09c514" + }, + { + "git_blob": "244f131466698a3ace10b657242fe1f65c07fd1f", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "244f131466698a3ace10b657242fe1f65c07fd1f", + "member": "inputs/pr2753/predecessor/vendor/oracle.py", + "sha256": "7bd18089e32ce48085b5e3a75159f6a82cdb2649ec682c53db05e399d97aef67" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/oracle.py", + "sha256": "7bd18089e32ce48085b5e3a75159f6a82cdb2649ec682c53db05e399d97aef67" + }, + { + "git_blob": "ebc9b616514412b80c56d523776e6ba5d6766453", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "ebc9b616514412b80c56d523776e6ba5d6766453", + "member": "inputs/pr2753/predecessor/vendor/packet.py", + "sha256": "970e7fe0719e3dfe122b248941e6f21cd90d7dd62089fa6acbd0e5412ce083a5" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/packet.py", + "sha256": "970e7fe0719e3dfe122b248941e6f21cd90d7dd62089fa6acbd0e5412ce083a5" + }, + { + "git_blob": "48255d5454308c07635fae4e7eb4873b0bd2a4f8", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "48255d5454308c07635fae4e7eb4873b0bd2a4f8", + "member": "inputs/pr2753/predecessor/vendor/plan.py", + "sha256": "d9c8dc93762db4d3a449814aa51e2211460648694469854d89cb48cb04188cf3" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/plan.py", + "sha256": "d9c8dc93762db4d3a449814aa51e2211460648694469854d89cb48cb04188cf3" + }, + { + "git_blob": "4f00467a0ff580954ad2fd0c7380240c753ddef3", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "4f00467a0ff580954ad2fd0c7380240c753ddef3", + "member": "inputs/pr2753/predecessor/vendor/records.py", + "sha256": "0c9c4b23e998597fb877bb1a29da69ac869b68262abe635b162b4dba9c69b372" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/records.py", + "sha256": "0c9c4b23e998597fb877bb1a29da69ac869b68262abe635b162b4dba9c69b372" + }, + { + "git_blob": "35531201dc349a811dfabc6f1f6e64697d665194", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "35531201dc349a811dfabc6f1f6e64697d665194", + "member": "inputs/pr2753/predecessor/vendor/routes.py", + "sha256": "ed7dc3679451696ab1dd841146b215c9515a3eec5e4ff3763f33c315f1696ada" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/routes.py", + "sha256": "ed7dc3679451696ab1dd841146b215c9515a3eec5e4ff3763f33c315f1696ada" + }, + { + "git_blob": "2c28f1aaec104a75c4e6c170b3e6a60300ee6700", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "2c28f1aaec104a75c4e6c170b3e6a60300ee6700", + "member": "inputs/pr2753/predecessor/vendor/selection.py", + "sha256": "bc8e371fb1fa0b41fb05ef0b34d0f4c317b2396f9833d91f44f95c2b54b4052b" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/selection.py", + "sha256": "bc8e371fb1fa0b41fb05ef0b34d0f4c317b2396f9833d91f44f95c2b54b4052b" + }, + { + "git_blob": "16d5e7e6a28018f1e2d76d61efe2d54f6a6941d4", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "16d5e7e6a28018f1e2d76d61efe2d54f6a6941d4", + "member": "inputs/pr2753/predecessor/vendor/sources.py", + "sha256": "f102edc7816d742bd89db8097254c19b843d0ef5cf6758ad42e93bcc0b214c62" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/sources.py", + "sha256": "f102edc7816d742bd89db8097254c19b843d0ef5cf6758ad42e93bcc0b214c62" + }, + { + "git_blob": "5e5a4bb0f98971447043e25d4dd6991bfc070389", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "5e5a4bb0f98971447043e25d4dd6991bfc070389", + "member": "inputs/pr2753/predecessor/vendor/stream.py", + "sha256": "c7dc7da5b00f27016982ada4c0416f8328568b00df16d97012f33d4b372d79b5" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/stream.py", + "sha256": "c7dc7da5b00f27016982ada4c0416f8328568b00df16d97012f33d4b372d79b5" + }, + { + "git_blob": "6d33224145aa04f7fbaf7b6cda7c9c164311a402", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "6d33224145aa04f7fbaf7b6cda7c9c164311a402", + "member": "inputs/pr2753/recursive_call.py", + "sha256": "157deaa5972557893d43494a81151483bdc46373448ec677cb6a738c9b7e6f1e" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/recursive_call.py", + "sha256": "157deaa5972557893d43494a81151483bdc46373448ec677cb6a738c9b7e6f1e" + }, + { + "git_blob": "60c2b6d065eba91dd5e0edb7a77fc087971eca3f", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "60c2b6d065eba91dd5e0edb7a77fc087971eca3f", + "member": "inputs/pr2753/scheduler.py", + "sha256": "0d96f7fbd6f90416167c5a52c0e3de942d1a0cae3d2968831932a9576701699f" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/scheduler.py", + "sha256": "0d96f7fbd6f90416167c5a52c0e3de942d1a0cae3d2968831932a9576701699f" + }, + { + "git_blob": "6ba5df130bb4a0fcb06b6c630830ae3a6922921b", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "6ba5df130bb4a0fcb06b6c630830ae3a6922921b", + "member": "inputs/pr2753/stream_runner.py", + "sha256": "b255feaf6cc6e40413ae73fe302bf8f290bf4dd89f4128b23a91cc9860601801" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/stream_runner.py", + "sha256": "b255feaf6cc6e40413ae73fe302bf8f290bf4dd89f4128b23a91cc9860601801" + }, + { + "git_blob": "4b002201ce54cdecec9acf4e874b7f71cd75fe71", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "4b002201ce54cdecec9acf4e874b7f71cd75fe71", + "member": "inputs/pr2753/trace.py", + "sha256": "3a664224c558244f606b603cad816d75e94a17c9b2620a06a1530e893dfceac2" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2753/trace.py", + "sha256": "3a664224c558244f606b603cad816d75e94a17c9b2620a06a1530e893dfceac2" + }, + { + "git_blob": "307c2da733f7f3a76e97c77e71072e811f40df02", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "307c2da733f7f3a76e97c77e71072e811f40df02", + "member": "inputs/pr2769/NOTICE.md", + "sha256": "8640d1b52fd21e5b20e8109ce9c4957ca1e19a95e26a1c80d019a6e6f4d5f178" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2769/NOTICE.md", + "sha256": "8640d1b52fd21e5b20e8109ce9c4957ca1e19a95e26a1c80d019a6e6f4d5f178" + }, + { + "git_blob": "9cd54d9417eb685dcd3f8293f01299ef9046ad31", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "9cd54d9417eb685dcd3f8293f01299ef9046ad31", + "member": "inputs/pr2769/codec.py", + "sha256": "5b9fda8136f7e60bece54e3fcc74f4ea0bec7145fa60e1ae3a4d252741b81fd3" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2769/codec.py", + "sha256": "5b9fda8136f7e60bece54e3fcc74f4ea0bec7145fa60e1ae3a4d252741b81fd3" + }, + { + "git_blob": "cafd614a3b7bc87b019361fcdf890ed976f26d19", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "cafd614a3b7bc87b019361fcdf890ed976f26d19", + "member": "inputs/pr2769/vendor/parking_machine.py", + "sha256": "68134779debfb795468a1aaecbc2b9d321d7d4e451313ce7dc8fa7092561df4c" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2769/vendor/parking_machine.py", + "sha256": "68134779debfb795468a1aaecbc2b9d321d7d4e451313ce7dc8fa7092561df4c" + }, + { + "git_blob": "8d4ba37e2778acb35b34e0719df2caf138fbeb50", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "8d4ba37e2778acb35b34e0719df2caf138fbeb50", + "member": "inputs/pr2769/vendor/words.py", + "sha256": "5c37f57708ba3131bdcb03139f9dbc29886bee44569c09cbba51b68f75acd7f9" + }, + "path": "vendor/binding/vendor/runtime/pr2809/inputs/pr2769/vendor/words.py", + "sha256": "5c37f57708ba3131bdcb03139f9dbc29886bee44569c09cbba51b68f75acd7f9" + }, + { + "git_blob": "c197eb6458be9374cb4684c654bfc99e619dcaf0", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "c197eb6458be9374cb4684c654bfc99e619dcaf0", + "member": "macro_binding.py", + "sha256": "9ef31765d03d2c54fad9296f2ff0707a190ce169e44de4f0f45214e3c410c01a" + }, + "path": "vendor/binding/vendor/runtime/pr2809/macro_binding.py", + "sha256": "9ef31765d03d2c54fad9296f2ff0707a190ce169e44de4f0f45214e3c410c01a" + }, + { + "git_blob": "2f5f8ecfac6457171707b1b5ff02b5071954fcb7", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "2f5f8ecfac6457171707b1b5ff02b5071954fcb7", + "member": "macro_code.py", + "sha256": "f626b018124747a5f17c1603bea36cd74c00a69a0647fd7b10e9c4e2964caea8" + }, + "path": "vendor/binding/vendor/runtime/pr2809/macro_code.py", + "sha256": "f626b018124747a5f17c1603bea36cd74c00a69a0647fd7b10e9c4e2964caea8" + }, + { + "git_blob": "5a032e8923f7f8b22bb98f3e39b804beb9906c16", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "5a032e8923f7f8b22bb98f3e39b804beb9906c16", + "member": "macro_machine.py", + "sha256": "7bc6e42072a09a08ac961e05c3da01cde012d740d4b4c605f298d994f2ad7c5a" + }, + "path": "vendor/binding/vendor/runtime/pr2809/macro_machine.py", + "sha256": "7bc6e42072a09a08ac961e05c3da01cde012d740d4b4c605f298d994f2ad7c5a" + }, + { + "git_blob": "fba75e7649cf77e352a75324495191bbd7853c22", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "fba75e7649cf77e352a75324495191bbd7853c22", + "member": "residual_blocks.py", + "sha256": "ab7f3df8906decd2efecfb138eac1456c106bb520b2598761f699f80680d8331" + }, + "path": "vendor/binding/vendor/runtime/pr2809/residual_blocks.py", + "sha256": "ab7f3df8906decd2efecfb138eac1456c106bb520b2598761f699f80680d8331" + }, + { + "git_blob": "fc48c244eefdbaa3e320e86c75a7d187cb5765ef", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "fc48c244eefdbaa3e320e86c75a7d187cb5765ef", + "member": "role_parking.py", + "sha256": "1884a3c260d81d5efbc0c33d86a810d6728e55e5764cfcd423f858cc685470f3" + }, + "path": "vendor/binding/vendor/runtime/pr2809/role_parking.py", + "sha256": "1884a3c260d81d5efbc0c33d86a810d6728e55e5764cfcd423f858cc685470f3" + }, + { + "git_blob": "0f22807c65d1bca374b905538512bf8c43702070", + "origin": { + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "git_blob": "0f22807c65d1bca374b905538512bf8c43702070", + "member": "scratch_pool.py", + "sha256": "41f1eb93652b7174c3b02f95f70e1a9ce2e2aed0a729e725167c8f226e65d8db" + }, + "path": "vendor/binding/vendor/runtime/pr2809/scratch_pool.py", + "sha256": "41f1eb93652b7174c3b02f95f70e1a9ce2e2aed0a729e725167c8f226e65d8db" + }, + { + "git_blob": "82e9a8b0b50f26844528af9e07632800679805ea", + "origin": { + "commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-gaussian-monomial/PROOF.md", + "repository": "CrocSwap/integer-mult-bounds" + }, + "path": "vendor/monomial/PROOF.md", + "sha256": "20885a8a137fc670121429625912ceae54db95ac5e574b8c64c90f477aebacb7" + }, + { + "git_blob": "e040a558800e719e2d8b6237bec39e7e10a3641b", + "origin": { + "commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-gaussian-monomial/SOURCES.json", + "repository": "CrocSwap/integer-mult-bounds" + }, + "path": "vendor/monomial/SOURCES.json", + "sha256": "0dd57a4fe4fc97826df0eb215975d013ac0e18f185c73cd93e34c95a9a2b4b16" + }, + { + "git_blob": "2251fd98ba01a171f5d39b25a93c895245f10e55", + "origin": { + "commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-gaussian-monomial/monomial_engine.py", + "repository": "CrocSwap/integer-mult-bounds" + }, + "path": "vendor/monomial/monomial_engine.py", + "sha256": "fc02c6c5159d6c258063a36ef3dc9313a34d7ba9781b650e451cc0ce971e9667" + }, + { + "git_blob": "0e467bdb3727d7f354f98dee54f320f1f072aa2c", + "origin": { + "commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-gaussian-monomial/pair_dispatch.py", + "repository": "CrocSwap/integer-mult-bounds" + }, + "path": "vendor/monomial/pair_dispatch.py", + "sha256": "fc0eaa2a9d0855660b15a15d894137eeebc64c6418f52b6af0d0f79d86f2e0d9" + }, + { + "git_blob": "a2f684fb588257cc182dc88dded59ed70f5c2585", + "origin": { + "commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-gaussian-monomial/phase_recipe.py", + "repository": "CrocSwap/integer-mult-bounds" + }, + "path": "vendor/monomial/phase_recipe.py", + "sha256": "8215e5e55daf019694e55b2acfcd42ecf109a2faf767a2181d664ba9b4957e46" + }, + { + "git_blob": "aaa5c663a4bb6b0ca4d9119c1ae92064509d79c8", + "origin": { + "commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-gaussian-monomial/phase_sources.py", + "repository": "CrocSwap/integer-mult-bounds" + }, + "path": "vendor/monomial/phase_sources.py", + "sha256": "3944ecbffe91fb561b2b8a810461cd2b8229f1f2611ca6a70e3d86451efb220b" + }, + { + "git_blob": "5fa4494167c4ba668993a2b1c902969518728a4c", + "origin": { + "commit": "d404b48a1e7b147556b309497d55089c837dddb2", + "original_path": "research/selected-complex-compact-adapters/monomial.py", + "repository": "CrocSwap/integer-mult-bounds" + }, + "path": "vendor/monomial/reference.py", + "sha256": "394f9a465ac9148af0c20844d375e4befbef17d92b2fcc840d83419480dd4740" + }, + { + "git_blob": "bab32b0c5da7f364d6a79171c09b02d123a05bd9", + "origin": { + "commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-gaussian-monomial/signed_phase.py", + "repository": "CrocSwap/integer-mult-bounds" + }, + "path": "vendor/monomial/signed_phase.py", + "sha256": "e21818674133a2bd7e63fadaf719eb45ce80db4b3806ca8ef99c247be22c2a39" + }, + { + "git_blob": "e4a03118d585fb80c9ac932281b528ac394ccc5f", + "origin": { + "commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/p104-helper470-twin-rung-removal/RESULT.json", + "repository": "CrocSwap/integer-mult-bounds" + }, + "path": "vendor/selected/RESULT.json", + "sha256": "84fcbe2a0b64307b5703c363408042bdd91555b0419509aa50daa43b3b1924ad" + }, + { + "git_blob": "22f9ab02d1b73ea0aa4b07ce445a14cc2602c760", + "origin": { + "commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/p104-helper470-twin-rung-removal/WORD.json.gz", + "repository": "CrocSwap/integer-mult-bounds" + }, + "path": "vendor/selected/WORD.json.gz", + "sha256": "7834725d9e34ee846a9ccc615221ea81e0201613938afa185d2eda0c9a6c232f" + }, + { + "git_blob": "166841a037f069249f6f7f6dedb89248812f59e2", + "origin": { + "commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/p104-native-channel/vendor/clifford_exact.py", + "repository": "CrocSwap/integer-mult-bounds" + }, + "path": "vendor/selected/clifford_exact.py", + "sha256": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962" + }, + { + "git_blob": "2c209dfa9cfade3bc20ac5fc9d876b433a147f8c", + "origin": { + "commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/p104-native-channel/vendor/native_verify.py", + "repository": "CrocSwap/integer-mult-bounds" + }, + "path": "vendor/selected/native_verify.py", + "sha256": "3049471905b47b385c88378a1a3be7a18b8858aadd035b8a6da2f4a03b470f38" + } + ], + "schema_version": 1 +} diff --git a/research/current-rounded-lambda/vendor/serial/vendor/monomial/PROOF.md b/research/current-rounded-lambda/vendor/serial/vendor/monomial/PROOF.md new file mode 100644 index 0000000000..5bd585e03c --- /dev/null +++ b/research/current-rounded-lambda/vendor/serial/vendor/monomial/PROOF.md @@ -0,0 +1,449 @@ +# Current coded Gaussian monomial with complete coefficient fibres + +Prepared for **@CubeJerry**, with substantial OpenAI assistance in source +analysis, implementation, mathematical argument, and adversarial verification. +Apache-2.0; predecessor notices and exact computational sources are retained. + +## 1. Claim and non-overlap + +This package supplies the missing format and context join between the physical +Gaussian monomial of [#3087](https://github.com/CrocSwap/integer-mult-bounds/pull/3087) +and the current three-bit `CodedPort` numeric field and twenty-three-field +descriptor. It produces the old layout and signed coefficients through counted +physical operations, executes the unchanged monomial, and returns the complete +current format in place. It preserves the descriptor and all caller ancestors, +and erases every owned current segment, including encoded logical blanks. + +The theorem below is a **structured finite-control, fixed-inventory source +refinement**, relative to the stated completed ordinary supplier and current +port contracts. It is not an emitted flat transition table for the lifecycle +controller. It does not close a universal selected assumption or change kappa. + +The inherited phase formula, affine compiler, signed-pair theorem, Compact +algorithm, and their cost are not new results. Jose Manuel (`jmbarrancoml`), with +OpenAI assistance, already implemented those in #3087, building on #2250, +#2378, #2422, and #3055. [#6293](https://github.com/CrocSwap/integer-mult-bounds/pull/6293) +already treats the all-width phase convention, including the repeated constant. +[#6930](https://github.com/CrocSwap/integer-mult-bounds/pull/6930), pinned at +`c726399fbdb6d80dd13bed760b56572fb4ea1022`, already audits the primary phase +integer of the selected MOVE used here. We inherit those results. + +Chris R (`Clear1nsight`), with OpenAI assistance, supplied the older prepared +QQ16 common-grid conversion and signed packet join in +[#4129](https://github.com/CrocSwap/integer-mult-bounds/pull/4129). Its raw/tagged +packet and caller contracts differ from this current descriptor, current +`CodedPort`, selected source token, and suffix layout. We neither repeat its +quantum conversion nor identify its old component ABI with the current one. + +The separately credited [current Compact binding](https://github.com/CubeJerry/integer-mult-bounds/tree/5629e7772d1720d6727465e328a45694f8620538/research/compiled-compact-native-binding) supplies the +shared current symbol codec, exact header parser, guarded old-tape refinement, +and complete current-segment retirement. We reuse those exact bytes. Its opaque +record permutation by itself does not establish arithmetic on the three-bit +encoding: the new delimiter stripping, signed-field grouping, and exact return +in this package are necessary for that step. + +## 2. Quantified current interface + +Compile a literal invertible binary monomial of fixed rank `1<=m<=73`, with +matrix `L`, offset `v`, constant `c` modulo four, linear coefficients `l_i` +modulo four, and strict-upper quadratic coefficients `q_ik` in `{0,1}`. +Compile its direction and one completed ordinary supplier before numerical +input. The supplier has the unchanged native interface and the contract used +by #3087; its fixture elementary branch is not an admission of its faster rate. + +`Provider(literal,native_factory,inverse=False).bind(work)` fixes a finite set of +physical work ports. `run(field,context)` receives a current `CodedPort` field +and a read-only `BinaryContextPort` descriptor, both at their local origins. +The caller supplies genuinely disjoint physical segments for field, context, +and all work roles. The object-identity guards reject obvious aliasing but do +not prove disjointness of distinct wrappers over the same physical segment. +All current work segments are initially physically blank. Caller ancestors +precede protected local origin markers and are outside the writable segments. + +The exact descriptor order is + +``` +outer, rows, stock, row_bits, within_bits, record_bits, p, d, K, G, H, +q0, qF, qB, D, f, rho, active_start, back_start, selected_axes, +entry_start, remainder, cutoff. +``` + +Each nonnegative integer is represented by a positive unary digit length, +a zero separator, and that many canonical least-significant-first binary +digits. The exact physical frontier follows field 23. All fields are scanned +and returned unchanged; unused large metadata is not free. In particular, +the address reservation `H` is not the signed component width below. + +Write `a=within_bits`, `b=record_bits`, `u=active_start`, `z=back_start`, +`C=outer*rows`, and let `h>=2` be the uniform signed component width. Each +original numeric record contains `r>=1` complex coefficient fields. Each field +has `h` real bits then a component delimiter, and `h` imaginary bits then a +component delimiter. The bits are little-endian two's-complement integers on +one fixed common grid supplied by the caller. Each virtual bit or delimiter +is encoded by the current three-bit code, so + +``` +b=6*r*(h+1), row_bits=2^a*b, V=C*2^a*b. +``` + +The delimiter is virtual symbol 2, physically `010`. A numeric zero component +therefore retains its delimiter; it is not an unformatted run of physical zeros. +Virtual blank 4 is the stream frontier, while physical blank is symbol 6. +No internal physical blank is admitted inside a canonical complete field. + +The required geometry is + +``` +outer,rows,f,K,G,H > 0, 0<=rho L*x_j+v` in each column, and applies `i^P(x)` to every one +of the `r` original complex coefficients. All other address coordinates, +outer-row labels, coefficient ordering, common quantum, and descriptor values +are preserved. The inverse recovers the original address first and applies +`i^-P(x)` there. No precision conversion or rounding occurs. + +## 3. Encoded geometry and the suffix-fibre identity + +Set `s=a-z-t>=0`. The last `s` unselected address bits are a complete consecutive +suffix fibre. Interpret its `2^s` original records as additional coefficient +fields of a single old-format record: + +``` +r'=2^s*r, R=2*h*r', a'=a-s=z+t, +M0=2^a', M=C*M0, v0=M0*R, Vraw=C*v0=C*2^a*2*h*r. +``` + +For `h>=2`, `Vraw/V=h/(3(h+1))` lies between `2/9` and `1/3`, so raw +and current physical payload volumes differ by a bounded constant factor. + +The old field schema is fixed at construction: + +| Field | Width | Current interval | +|---|---:|---| +| `u` | `t` | first front prefix | +| `u_rest` | `H-t` | remainder of first front field | +| `t` | `t` | second front prefix | +| `t_rest` | `H-t` | remainder of second front field | +| `before` | `u-2H` | all positions before the vector blocks | +| `v_i`, each `0<=i1` set + +``` +delta=min(1,(f-1)*(2*2^(-G)+8*2^(G-K))). +``` + +The completed binary ordinary bill `T_B(v,beta)` includes real padding and +restriction, its native work, borrowed preservation, return consumption and +cleanup. #3087 and #3055 give the unchanged old-symbol invoice + +``` +T_old <= S*sum_(j=1)^C T_B(v0,(f-1)G) + + O_(m)((g+1)*(Vraw+M*A^6) + +g*delta*M*A*(R+A)). (1) +``` + +There are actually `S*C` ordinary calls. At `f=1` there are no ordinary calls +or exceptional term; retain `O_m((g+1)*Vraw+M*A^6)`. The phase-only recipe has +`g=0` and still pays its complete coefficient scan and setup. No fixture timing +is used to derive (1). + +The new wrapper incurs no per-payload-bit long length scan. Ripple counter +initialization and decrements for an h-bit component cost `O(h)` in aggregate, +and each current symbol is visited a bounded number of times by the bridge +and guide. Hence signed format conversion costs `O(V)`. The first component +width scan costs `O(h)` and is included in this bound. Since a valid header's +`row_bits` value has at least `a+log2(b)` digits, and `h<=b`, all one-time +geometry arithmetic has operand lengths `O_m(E+1)`. Repeated doublings build +`2^a` and `2^s` in polynomial time in E. A conservative envelope for the fixed +number of products, divisions, comparisons and such loops is `O_m((E+1)^4)`. + +Let `Z=sum_i z_i` denote **this call's** sum of reached old-symbol extents over +all work, setup, bridge and parking roles. A complete current-physical bill is + +``` +T_current <= F_template + C_codec*T_old + + C_m*(V+(E+1)^4+Q) + 64*(Z+Q). (2) +``` + +The fixed `C_codec` covers the whole guarded source-control refinement, +including local head and parking checks; it is not inferred solely from the +constant for one read/write/move. The explicit last term pays current raw +retirement, including encoded blanks and origin work. Every reached symbol +costs a unit move or initialization in this call, so +`Z=O(T_old+V+(E+1)^4+Q)`. Substitution gives the shape of (1), with a fixed +codec factor and the displayed new setup/conversion bill. In contrast to +#3087's specialized f=1 unused-G observation, this adapter reads the complete +current descriptor and charges its E even when a field is unused. + +For occupied workspace, keep the inherited conservative monomial allowance + +``` +6*Vraw+2*delta*M*a'+M+O_m(A+log(C+1)) + +W_B(v0,(f-1)G)+F_native, +``` + +with ordinary and exceptional terms omitted at f=1. Add the borrowed current +field V, header E, setup/header guides `O(E+A)`, and the current field guide +`O(V)`, multiply old-symbol owned extents by twelve, and include the fixed +parking roles. For fresh backing also retain each inherited parent role's +maximum `O(Vraw+A+log(C+1))`, each Compact role's maximum +`O(v0+delta*M0*a'+A+log(C+1))`, protected output, and the actual ordinary +supplier's per-role allowance. Fixed role capacities are genuine constants. +For reuse use the historical maxima in Section 5 rather than fresh size alone. + +A favorable production specialization must state its hypotheses. If `H=dG`, +`m>=2`, and `mf+remainder<=d`, then `f<=d/2` and + +``` +s>=H-(f-1)G>=dG/2, +R=2*h*r*2^s >= 2*h*r*2^(dG/2). +``` + +For m=1 this automatic inequality is unavailable; long-record growth remains +an explicit extra domain premise. In a root regime with `d->infinity`, +`G=4ceil(log2 p)+6`, `A=O(p)`, and `E=O_m(p+log(C+1))`, R exceeds every fixed +power of p. The selected schedule's `K=128G` satisfies the sufficient retained +guard inequality `K>=G+4ceil(log2 p)+10`, giving `delta=O(p^-3)` for `f<=p`. +Then `M*A^6/Vraw=A^6/R` and +`delta*M*A*(R+A)/Vraw=delta*A*(1+A/R)` are bounded by the claimed lower order +terms. The E-polynomial is absorbed using superpolynomial R and +`log(C+1)^k=O_k(C)` for each fixed k. These are additional stated domain +conditions, not consequences of an arbitrary valid finite header. + +If the admitted ordinary supplier has `T_B(v,beta)<=K_q*v*(1+beta^tau_B)`, +the favorable specialization is +`O_(q,m)(V*(1+((f-1)G)^tau_B))`. The retained historical exponent is +`tau_B=99830289/100000000`. It does not imply the smaller current selected +node exponent. Equations (1) and (2), the source supplier premises, and the +backing envelopes remain the complete all-size statement; no new kappa is +claimed. + +## 7. One actual selected source boundary + +`selected_service.py` authenticates the current selected word and canonical +Clifford source. It locates raw event 9896, +`["MOVE",236,3,7,false]`, through the current lifecycle `current_local` lowering. +The exact service token is `("move-in","local",9896,raw_record)` on owner +236, with the matching `move-out` cut. This raw four-field token is the +established source boundary. The guard also accepts a syntactically flat prefix +before that tuple, but this optional flat-prefix ABI is **not** the nested +token emitted by `source_ir.remap`. The actual `caller-local` token contains +the old token as its last tuple member, and is not accepted by this binder. +An enclosing caller therefore still needs a separate typed token adapter; +no complete nested caller-occurrence binding is claimed. The physical owner is +bound explicitly through the event's field list; it is not an implicit global +array reference. + +The event token alone does not normalize the enclosing occurrence's header. +At this boundary the caller must expose the nine current vector blocks and +their span with `selected_axes=9*f+remainder`, in the coordinates admitted in +Section 2. A larger compiler occurrence needs its existing paid placement and +descriptor service to establish this premise, in addition to the token adapter +above. Matching a raw token or flat suffix is not a proof of that geometry. + +The literal comes from the authenticated canonical frame transition 3 to 7. +The existing #6930 audit supplies the width-one phase interpretation. Its +right monomial has constant 1 and the exact rows + +``` +matrix=(21,17,2,20,8,32,64,128,256), offset=1, +linear=(3,0,3,0,2,0,0,0,0), quadratic=(5,0,5,0,0,0,0,0,0). +``` + +The resulting record hash and complete left literal are in `SELECTED-MOVE.json`. +`Service` compiles the right monomial at `move-in`, and the left at `move-out`. +The intermediate rank-one Fourier child is outside this contribution. This +is not a new primary-phase audit, and not a numerical proof of the full MOVE. + +Four selected physical phase-control calls use the actual 23-field descriptor, +native recipe, and codec with f=2,3,4. The zero-column f=2 case produces phase2, +not a copied one-column phase1. A wrong residue and wrong frame token are +discriminating negative controls. These execute the actual selected control +interface but do not materialize its complete rank-nine packet. The all-size +endpoint follows from Sections 2-5 and inherited monomial correctness; the +finite evidence cannot replace those arguments. + +## 8. Evidence, limits, and remaining work + +The author fixture uses a separately coded signed/address endpoint oracle and +complete current physical packets. It covers f=1 with nontrivial K/rho +orientation, f=2 forward and inverse with real Compact/ordinary calls, all +coefficient fields, multiple outer/inner rows, dirty spectators, folded suffix +fibres, nonzero translated origins, later-field signed-headroom rejection and +valid retry, and historical backing reuse. Both normal and optimized Python +must reproduce the same exact action and endpoint receipts. It uses the actual +ordinary elementary branch, never an oracle supplied to the numerical engine. +Independent review is registered separately when its receipt is frozen. + +The selected rank-nine complete packet is not executed. These tests admit +neither the retained faster ordinary rate nor the selected native exponent. +The current placement/row service, actual complete numerical caller, flat-table +export, global width/headroom allocation, full selected recurrence budget, +coefficient arithmetic and analytic recovery remain outside this scoped join. +All five selected framework assumptions remain listed in the receipt. + +## Open next questions + +1. Export the bounded current adapter control into the lifecycle controller's + literal transition-table syntax. First preserve this exact complete-format + endpoint and signed-error boundary on one occurrence; the existing semantic + service token alone is not a machine table. +2. Supply a completed binary ordinary service at the current required rate, + or a different full invoice. Its source preservation, private cleanup and + output consumption must accompany the rate; this adapter cannot upgrade + the historical exponent. +3. Join the current numerical caller's width/common-grid allocation to these + phase-specific headroom conditions and to the paid rank-one child between + the two MOVE monomials. The first useful check is a complete small actual + caller occurrence with its live descriptor and suspended private bank. diff --git a/research/current-rounded-lambda/vendor/serial/vendor/monomial/README.md b/research/current-rounded-lambda/vendor/serial/vendor/monomial/README.md new file mode 100644 index 0000000000..28d2611cd3 --- /dev/null +++ b/research/current-rounded-lambda/vendor/serial/vendor/monomial/README.md @@ -0,0 +1,179 @@ +# Current signed-format Gaussian monomial + +Prepared for **@CubeJerry**, with substantial OpenAI assistance in source +analysis, mathematics, implementation, verification and prose. Apache-2.0. + +This package connects the retained physical Gaussian monomial to the current +numeric field and twenty-three-field descriptor. It reads the actual coded +signed components, preserves every coefficient and delimiter, builds the +native layout with encoded arithmetic, executes the unchanged phase/affine +engine, and returns the complete field with blank private current segments. + +The result is a **source-level finite-control, fixed-inventory refinement** +under explicit completed ordinary-supplier and physical-port contracts. It is +not a new phase identity, a flat lifecycle transition table, a complete selected +replay, or a new kappa. The quantified endpoint and all-size invoice are in +[PROOF.md](PROOF.md). + +## The actual interface that is closed + +A current numeric component consists of fixed-width signed little-endian bits +followed by virtual delimiter 2, all in the three-physical-bit `CodedPort` code. +For `r` complex coefficient fields of width `h`, a complete original record +contains `6*r*(h+1)` physical bits. Treating those encoded bytes as the old +engine's signed bits would be incorrect. + +`phase_adapter.py` strips only the component delimiters, preserving all signed +bits, and reconstructs the exact current format after the whole native call +returns. It changes no common quantum and rounds no coefficient. A lockstep +guide restores the public head and checks the exact complete return frontier. +Every original coefficient receives the same prescribed address phase. + +The descriptor supplies arbitrary positive outer and row counts, current +within-row coordinates, selected width and residue, complete row/record +lengths, and reserved front/back intervals. These stay as encoded Counts. The +adapter maps the current left-counted residue to the native low-bit position +`K-1-rho` and groups a complete untouched suffix of `s` address bits into +`2^s*r` native coefficient fields. This preserves every suffix fibre and the +long-record cost advantage without a hidden field permutation. + +Successful return preserves all 23 descriptor values and caller ancestors, +restores origins, consumes the protected child output, and physically erases +every owned current segment. On the named signed-headroom error for otherwise +valid input, the public field is unchanged and the same inventory permits a +valid retry. No arbitrary-malformation or interruption rollback is claimed. + +## Actual selected source binding + +`selected_service.py` binds event 9896 of the authenticated selected #6030 +word, `MOVE` on owner 236 from frame 3 to frame 7. It obtains the literal from +the canonical Clifford source and connects the raw `current_local` +`move-in`/`move-out` token to its right/left monomial. Its right constant phase +is 1. The optional flat-prefix guard does not accept `source_ir.remap`'s actual +nested caller token. A separate typed token adapter is still required before +using this binder inside that enclosing caller; no full caller-occurrence +binding is claimed. + +The width-one primary phase audit belongs to +[#6930](https://github.com/CrocSwap/integer-mult-bounds/pull/6930), and the +all-width convention belongs to +[#6293](https://github.com/CrocSwap/integer-mult-bounds/pull/6293). This package +executes four actual current-context phase-control cases with f=2,3,4, including +the f=2 zero-column phase2. It rejects a wrong source frame, and discriminates +an unconverted residue and a copied width-one constant. It does **not** execute +the complete rank-nine selected packet or the intervening paid Fourier child. + +The caller must also expose the normalized nine-vector active span and matching +header at this service cut. Inside a larger compiled occurrence, that remains +the paid placement/descriptor service's contract. Matching the raw token alone +does not establish this geometry. + +## Complete cost, including its limit + +Write `a=within_bits`, `z=back_start`, `t=(f-1)G`, `s=a-z-t`, +`C=outer*rows`, and + +``` +a'=z+t, R=2*h*r*2^s, M=C*2^a', v0=2^a'*R, Vraw=C*v0, +A=2+a'+ceil(log2(R+1)), +delta=min(1,(f-1)*(2*2^(-G)+8*2^(G-K))). +``` + +For the fixed affine word let `g_E` count early XOR/toggle gates and `g_L` late +XOR gates, with `g=g_E+g_L` and `S=4g_E+12g_L`. The inherited complete invoice +for f>1 remains + +``` +T_old <= S*sum_(j=1)^C T_B(v0,(f-1)G) + + O_m((g+1)*(Vraw+M*A^6)+g*delta*M*A*(R+A)). +``` + +There are `S*C` actual ordinary calls. The new wrapper pays a fixed whole-source +codec factor, linear current-format conversion, `O_m((E+1)^4)` encoded setup, +positive fixed construction/inventory cost, and explicit retirement of this +call's reached extent. Here E is the physical descriptor length; even unused +large descriptors are charged. At f=1 the ordinary/exceptional terms disappear, +while the complete phase, setup and format traversals remain. + +The proof keeps the completed ordinary workspace and each role's historical +backing maximum. Erasure does not shrink backing. A smaller later call stops +at its own fresh physical frontier and need not rescan the previous maximum. + +A favorable long-record regime can absorb setup and repair overhead. In the +production geometry `H=dG`, fixed rank m>=2 gives `f<=d/2` and an exponentially +long unselected suffix. For m=1, that growth is an explicit extra premise. +All finite-size invoices remain valid without that absorption. The inherited +ordinary exponent `99830289/100000000` does **not** establish the smaller +current selected node exponent. No selected `.0034` rate or new kappa follows. + +## Executed evidence + +The complete normal and optimized replay must produce the same exact +[RESULT.json](RESULT.json), including physical action counts and cleanup. +The ordinary child uses its actual q2 elementary branch; this is not a +faster-rate certificate. No oracle supplies an engine payload. + +| Complete physical case | Original records | Coefficients per record | Ordinary calls | Physical actions | +|---|---:|---:|---:|---:| +| f=1, K=2, signed phase and affine map | 128 | 2 | 0 | 61,104,394 | +| f=2 forward monomial | 128 | 2 | 4 | 612,628,846 | +| f=2 inverse monomial | 128 | 2 | 4 | 612,628,846 | +| f=2 phase, two outer by two inner rows | 512 | 3 | 0 | 368,463,951 | + +Every fixture checks the complete independently computed signed/address +endpoint, exact field frontier, unchanged context, restored heads, physically +blank historical work bodies, and untouched ancestor bytes. A late coefficient +headroom failure preserves input and allows a valid retry. A smaller reused +phase call and a fresh one both take 12,536,555 actions; the reused one retains +294,704 cells, compared with 67,952 fresh cells. + +The separate sparse-hardware review uses its own serialization and value oracle +and covers both residue orientations, non-power-of-two row count, all folded +coefficient fields, inverse recovery, admissible signed minima, and late +rejection followed by retry. Its exact scope and provenance are recorded in +[VERIFICATION.md](VERIFICATION.md). None of these fixtures independently +reproves the retained monomial or ordinary theorem. + +## Replay and exact sources + +Use Python 3.12 and the standard library. From the repository root: + +```sh +python3 -I -B research/current-coded-gaussian-monomial/verify.py +python3 -I -O -B research/current-coded-gaussian-monomial/verify.py +python3 -B scripts/research_package.py --package research/current-coded-gaussian-monomial --check-only +``` + +The package-local closure is authenticated by both Git blob and SHA256 hashes +in `DEPENDENCIES.json`. The current shared codec/header export is pinned at +[CubeJerry/integer-mult-bounds@5629e777](https://github.com/CubeJerry/integer-mult-bounds/tree/5629e7772d1720d6727465e328a45694f8620538/research/compiled-compact-native-binding). +The original #3087 computational files are unchanged. Their discovery shim +selects the shared authenticated native vocabulary; it does not execute or +admit the old full selected theorem. Replay needs no network or external files. + +Canonical provenance in `SOURCES.json` stays at +`7c49fe32c55de02c2c873655c804b16e4c3fef0a`. Selected kappa remains +`781451/250000000`, and all five assumptions remain explicit: +`native_all_columns`, `owned_erasure`, `compiler`, `precision_tape`, and +`analytic_recovery`. + +Credit for the retained physical Gaussian monomial and its phase implementation +belongs to Jose Manuel (`jmbarrancoml`) and predecessors +[#3087](https://github.com/CrocSwap/integer-mult-bounds/pull/3087), #3055, #2250, +#2378 and #2422. The older prepared common-grid binding by Chris R +(`Clear1nsight`) is [#4129](https://github.com/CrocSwap/integer-mult-bounds/pull/4129). +The current codec, lifecycle and row exports retain their own attribution and +the unchanged runtime NOTICE files. No independent human review or proof-kernel +admission is claimed. + +## Open next questions + +1. Export this bounded source control into the actual lifecycle transition + table format, starting with one current MOVE occurrence and preserving its + full format, origin and named-error contracts. +2. Bind a completed ordinary supplier at the selected tariff, with its actual + padding, time, return, cleanup and retained-backing premises. An interface + adapter cannot strengthen the inherited exponent. +3. Join the real caller's common-grid/headroom allocation and the intervening + paid Fourier child. The next useful complete fixture is a small actual + caller occurrence with its live descriptor and suspended private bank. diff --git a/research/current-rounded-lambda/vendor/serial/vendor/monomial/SOURCES.json b/research/current-rounded-lambda/vendor/serial/vendor/monomial/SOURCES.json new file mode 100644 index 0000000000..43555e2f27 --- /dev/null +++ b/research/current-rounded-lambda/vendor/serial/vendor/monomial/SOURCES.json @@ -0,0 +1,162 @@ +{ + "schema_version": 1, + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "d59b5035e7b4cbaa9d688a1d32dd0d6eb79c466a", + "sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec", + "sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81" + }, + { + "path": "research/lockstep-completion-pass/executor.py", + "usage": "provenance", + "git_blob": "9469443a3d7cc6310a7369daf77c7756d5bd3f38", + "sha256": "0bda14a3e5f4da348cd5c89ebe29d717e7a5406ec31b164d5b9e1d25f7f38e0e" + }, + { + "path": "research/p104-6030-deferred-layer/PROOF.md", + "usage": "provenance", + "git_blob": "de725a73e97496836100aa6e0ed9cd70985373da", + "sha256": "3a7ac6dae3b76d5f78849f521635da034fe99b1ea6c942175a3652b53f6262c2" + }, + { + "path": "research/p104-helper470-twin-rung-removal/RESULT.json", + "usage": "provenance", + "git_blob": "e4a03118d585fb80c9ac932281b528ac394ccc5f", + "sha256": "84fcbe2a0b64307b5703c363408042bdd91555b0419509aa50daa43b3b1924ad" + }, + { + "path": "research/p104-helper470-twin-rung-removal/WORD.json.gz", + "usage": "provenance", + "git_blob": "22f9ab02d1b73ea0aa4b07ce445a14cc2602c760", + "sha256": "7834725d9e34ee846a9ccc615221ea81e0201613938afa185d2eda0c9a6c232f" + }, + { + "path": "research/p104-native-channel/vendor/clifford_exact.py", + "usage": "provenance", + "git_blob": "166841a037f069249f6f7f6dedb89248812f59e2", + "sha256": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962" + }, + { + "path": "research/p104-native-channel/vendor/native_verify.py", + "usage": "provenance", + "git_blob": "2c209dfa9cfade3bc20ac5fc9d876b433a147f8c", + "sha256": "3049471905b47b385c88378a1a3be7a18b8858aadd035b8a6da2f4a03b470f38" + }, + { + "path": "research/physical-complex-compact/PROOF.md", + "usage": "provenance", + "git_blob": "f65f38123ca0adb02f6ca69351cbfc933506e5cb", + "sha256": "ec6395822ae500242f3fe5e2cf40caf9a7f9fa259d475d2c14970d951ff4df48" + }, + { + "path": "research/physical-complex-compact/compact_control.py", + "usage": "provenance", + "git_blob": "13af719b5844f14f5cf05c919e84204cd21caf6a", + "sha256": "73a9ace4f91aeb383fdbc6f7762498fe707b4e4b45b1c63920bb90cc8795e284" + }, + { + "path": "research/physical-complex-compact/compact_counts.py", + "usage": "provenance", + "git_blob": "064b508efd12f7d5a33729b2344b6890f0c75d2f", + "sha256": "71c19cfc186aaf0c159ec64ea1a5d58e1fc5fc093d50c7360247559261fad00d" + }, + { + "path": "research/physical-complex-compact/compact_engine.py", + "usage": "provenance", + "git_blob": "5c5ca75567f85b042c156e0ed5a8afe81671b1b8", + "sha256": "2cacff4d36a6e029add115f47cd8ffbf3c61e7ece0900308b98e6032e652f098" + }, + { + "path": "research/physical-complex-compact/compact_layout.py", + "usage": "provenance", + "git_blob": "03ca12aed77741f40d824fcb33cc4eedb85abfd9", + "sha256": "5be2be9c32c15742da18fde438a5559a45a86eb661105027b1b233a7c397e0ce" + }, + { + "path": "research/physical-complex-compact/compact_streams.py", + "usage": "provenance", + "git_blob": "5699cc7f20def3bc873d2da05b13a252246367a1", + "sha256": "3b5cce3be9763c6bd7803d6223d2784d1975eeac6c7c99f5e00dfc49bb11d249" + }, + { + "path": "research/physical-complex-compact/native_sources.py", + "usage": "provenance", + "git_blob": "3d2834c5fff39481c9a0442a514c10eaf50f98d2", + "sha256": "865c97c4f261fde37e86eb16a910eaa5b2f26daaa7d2648ae0322ba8c0286572" + }, + { + "path": "research/physical-gaussian-monomial/PROOF.md", + "usage": "provenance", + "git_blob": "82e9a8b0b50f26844528af9e07632800679805ea", + "sha256": "20885a8a137fc670121429625912ceae54db95ac5e574b8c64c90f477aebacb7" + }, + { + "path": "research/physical-gaussian-monomial/SOURCES.json", + "usage": "provenance", + "git_blob": "e040a558800e719e2d8b6237bec39e7e10a3641b", + "sha256": "0dd57a4fe4fc97826df0eb215975d013ac0e18f185c73cd93e34c95a9a2b4b16" + }, + { + "path": "research/physical-gaussian-monomial/monomial_engine.py", + "usage": "provenance", + "git_blob": "2251fd98ba01a171f5d39b25a93c895245f10e55", + "sha256": "fc02c6c5159d6c258063a36ef3dc9313a34d7ba9781b650e451cc0ce971e9667" + }, + { + "path": "research/physical-gaussian-monomial/pair_dispatch.py", + "usage": "provenance", + "git_blob": "0e467bdb3727d7f354f98dee54f320f1f072aa2c", + "sha256": "fc0eaa2a9d0855660b15a15d894137eeebc64c6418f52b6af0d0f79d86f2e0d9" + }, + { + "path": "research/physical-gaussian-monomial/phase_recipe.py", + "usage": "provenance", + "git_blob": "a2f684fb588257cc182dc88dded59ed70f5c2585", + "sha256": "8215e5e55daf019694e55b2acfcd42ecf109a2faf767a2181d664ba9b4957e46" + }, + { + "path": "research/physical-gaussian-monomial/phase_sources.py", + "usage": "provenance", + "git_blob": "aaa5c663a4bb6b0ca4d9119c1ae92064509d79c8", + "sha256": "3944ecbffe91fb561b2b8a810461cd2b8229f1f2611ca6a70e3d86451efb220b" + }, + { + "path": "research/physical-gaussian-monomial/signed_phase.py", + "usage": "provenance", + "git_blob": "bab32b0c5da7f364d6a79171c09b02d123a05bd9", + "sha256": "e21818674133a2bd7e63fadaf719eb45ce80db4b3806ca8ef99c247be22c2a39" + }, + { + "path": "research/qq16-recursive-binding/PROOF.md", + "usage": "provenance", + "git_blob": "5de56af0213bf710ae3e832f21de74cf0ac9c7b0", + "sha256": "b547277ab5380b218893908a3e8e8874efc0cf3f9717b582f8972698d87418a2" + }, + { + "path": "research/selected-complex-compact-adapters/monomial.py", + "usage": "provenance", + "git_blob": "5fa4494167c4ba668993a2b1c902969518728a4c", + "sha256": "394f9a465ac9148af0c20844d375e4befbef17d92b2fcc840d83419480dd4740" + }, + { + "path": "research/selected-monomial-tape-lift/PROOF.md", + "usage": "provenance", + "git_blob": "69e07e58c5468e2045281335a56f4918b474c79d", + "sha256": "8442243130d4a9932f78eb42419196d2866d4496256e3bb2d6143fd52b44ddb3" + }, + { + "path": "research/selected-monomial-tape-lift/lift.py", + "usage": "provenance", + "git_blob": "167d085a9191e3b3545bcf39d5e6edc94e54d514", + "sha256": "21c77119c004a86a603cca91ce1366629431db18e9e0554942492f1b5afebe4a" + } + ] +} diff --git a/research/current-rounded-lambda/vendor/serial/vendor/monomial/TASK.json b/research/current-rounded-lambda/vendor/serial/vendor/monomial/TASK.json new file mode 100644 index 0000000000..4ab3215b61 --- /dev/null +++ b/research/current-rounded-lambda/vendor/serial/vendor/monomial/TASK.json @@ -0,0 +1,93 @@ +{ + "schema_version": 1, + "task_id": "uniform-transfer-audit", + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_card": { + "id": "uniform-transfer-audit", + "question": "Can one of the selected record's five inherited assumptions be proved at its actual caller?", + "starting_points": [ + "docs/research/current-priorities.md", + "docs/research/research-family-status.md", + "certificates/selected-result.json", + "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md" + ], + "methods": [ + "Construct and independently check one source-bound instance of the stated first experiment.", + "Seek an exact counterexample or target-specific complete-budget obstruction to that same proposed change." + ], + "acceptance_gate": "Identify the proposition and what would change downstream; do not equate a finite replay with a universal proof.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_selected_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read revision 8, the selected review and live exact-source handoffs. Then follow this card's bounded first_experiment.", + "scope": "Source-bound orientation only, not a supplier replay or theorem proof." + }, + "first_experiment": "Choose one assumption ID (native_all_columns, owned_erasure, compiler, precision_tape, analytic_recovery), one quantified implication and exact dependency closure. Check current handoffs, including #5625 row reentry and #5707 root-prefix lowering, without treating their partial scope as the whole theorem. Prove or falsify that implication with a caller-bound argument; stop at the chosen obligation. Finite tests or root digits do not discharge an all-size statement.", + "bottleneck_link": "Judge the actual current supplier contract and complete signed target/paid bill; frozen-profile ceilings require an applicability proof.", + "allowed_variations": [ + "One exact source head, helper/cut region or quantified proposition and changed hypothesis; check live handoffs first. Different seeds are not different scopes." + ], + "scope_change_triggers": [ + "Changing source head, helper/cut domain, operation alphabet or caller boundary without recording the new scope.", + "Treating an archived proposal or local numerical pass as complete supplier admission." + ], + "overlap_terms": [ + "native_all_columns", + "owned_erasure", + "compiler", + "precision_tape", + "analytic_recovery" + ], + "existing_checks": [ + { + "scope": "PR #4100: proposed unconditional construction and finite checks, without independent acceptance.", + "evidence": "research/unconditional-batched-crt/README.md", + "remaining": "Independent proof audit of one caller-bound all-size implication; all other premises remain explicit.", + "status": "author-checked", + "source_commit": "337d04939571a637aeab54a0f58f54fde811663a", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "scope": "Selected PR5599: complete helper-subspace construction and independent caller replay; five framework assumptions remain.", + "evidence": "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md", + "remaining": "The next experiment must identify uncovered source-specific work. Successor archive intake does not transfer this admission.", + "status": "reviewed", + "source_commit": "09dd0965711ca7eeb169057a420abab1c9052137", + "selected_record_sha256": "2a0220e866417774606e0f991e41b9c1d26b1f43b97857238cf478dbc7d330b5" + } + ] + }, + "scope_status": "refined", + "scope_change_reason": "Assigned seed24 current numerical/native interface: join the retained Gaussian monomial to current signed CodedPort fields, all coefficient fibres, and the 23-field context. Phase algebra and primary phase audit are inherited.", + "actual_scope": "Prove and physically verify the paid signed-format/context/suffix-fibre join to unchanged #3087, with complete successful and named headroom-rejection cleanup, honest time/backing costs, and one actual raw current_local MOVE source binding. The existing nested caller token and its normalized local header still require a separate adapter; no full caller-occurrence binding is claimed.", + "bottleneck_link": "Replaces the current-format Gaussian monomial service seam by a source-level fixed-control refinement. The completed ordinary tariff, current numerical width allocation and flat-table exporter remain explicit.", + "stop_rule": "Stop after the current-format signed monomial join, authenticated actual selected record, complete invoice and adversarial physical checks. Do not re-audit phase algebra, claim full selected replay, change kappa, or remove a foundational assumption.", + "evidence": "PROOF.md and exact normal/optimized RESULT.json; independent sparse-hardware review is separately registered.", + "author": "@CubeJerry", + "ai_assistance": "Substantial OpenAI assistance in research, proof development, implementation, tests and documentation; no independent human or proof-kernel admission claimed.", + "outcome": "completed", + "open_questions": [ + { + "question": "Export the current adapter into the literal lifecycle transition-table format.", + "why_it_matters": "The executed source refinement is not a Controller.execute_table native table.", + "first_step": "First adapt the existing nested caller token and establish its normalized local header; then flatten fixed codec, geometry and signed traversal controls while preserving complete field and headroom-return contracts.", + "blocked_by": "A source-equivalent table-format exporter." + }, + { + "question": "Bind an ordinary supplier at the current selected tariff.", + "why_it_matters": "The historical ordinary exponent remains too large for the selected node bound.", + "first_step": "Review a completed exact supplier with time, stock, return and retained-backing contracts on this interface.", + "blocked_by": "A stronger upper-bound implication, not monomial phase algebra." + }, + { + "question": "Join actual numerical headroom and the intervening paid Fourier child.", + "why_it_matters": "A complete MOVE needs both monomials and its paid child on a common live format.", + "first_step": "Run one small complete actual caller occurrence with current descriptor and suspended private bank.", + "blocked_by": "Current numerical width/common-grid allocation and remaining child services." + } + ] +} diff --git a/research/current-rounded-lambda/vendor/serial/vendor/monomial/check_fixture.py b/research/current-rounded-lambda/vendor/serial/vendor/monomial/check_fixture.py new file mode 100644 index 0000000000..1399f50d7b --- /dev/null +++ b/research/current-rounded-lambda/vendor/serial/vendor/monomial/check_fixture.py @@ -0,0 +1,187 @@ +"""Complete current-format physical packets and an independent address oracle. + +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +Fixture construction and observation may inspect arrays; the sealed call cannot. +""" +from argparse import ArgumentParser +import json +from types import SimpleNamespace +from phase_adapter import Provider, SCHEMA, S +from phase_binding import need +from codec import DenseTape +from ordinary import Ordinary +from macro_code import Code + + +def factory(): + return Ordinary(2, SimpleNamespace(codes=SimpleNamespace(q=2)), SimpleNamespace(families=0), + (Code((("unreachable",),), 0),), capacity=64) + + +def literal(affine=True): + return dict(matrix_rows=(1, 3) if affine else (1, 2), offset=0, + linear_Z4=(1, 2), quadratic_rows=(2, 0), phase=1) + + +def coded(symbols): + return [((value >> shift) & 1) for value in symbols for shift in (2, 1, 0)] + + +def header_bits(values): + result = [] + for name in SCHEMA: + digits = [int(bit) for bit in bin(values[name])[2:][::-1]] + result.extend([1] * len(digits) + [0] + digits) + return result + + +def load(tape, body): + tape.cells[tape.origin:] = bytearray(body) + tape.head, tape.high = tape.origin, tape.origin + len(body) + + +def body(tape): + out = [] + for value in tape.cells[tape.origin:]: + if value == 6: + break + out.append(value) + return out + + +def rotate(pair, phase): + a, b = pair + return ((a, b), (-b, a), (-a, -b), (b, -a))[phase % 4] + + +def endpoint(address, values, recipe): + f, K, rho, rank = values["f"], values["K"], values["rho"], len(recipe["matrix_rows"]) + bits, start = values["within_bits"], values["active_start"] + phase, destination = f * recipe["phase"], address + for j in range(f): + positions = [bits - 1 - (start + (i * f + j) * K + rho) for i in range(rank)] + column = sum(((address >> position) & 1) << i for i, position in enumerate(positions)) + phase += sum(recipe["linear_Z4"][i] for i in range(rank) if column >> i & 1) + phase += 2 * sum(1 for i in range(rank) for k in range(i + 1, rank) + if column >> i & 1 and column >> k & 1 and recipe["quadratic_rows"][i] >> k & 1) + result = recipe["offset"] ^ sum(((row & column).bit_count() % 2) << i + for i, row in enumerate(recipe["matrix_rows"])) + for i, position in enumerate(positions): + if ((column ^ result) >> i) & 1: + destination ^= 1 << position + return destination, phase % 4 + + +def encode(records, h): + out = [] + for record in records: + for pair in record: + for value in pair: + need(-(1 << (h - 1)) <= value < 1 << (h - 1), "checker signed component range") + out.extend(coded([(value >> bit) & 1 for bit in range(h)] + [2])) + return out + + +def fixture(recipe, *, f=1, K=1, rho=0, H=1, rows=1, outer=1, h=4, coefficients=2, + inverse=False, bad_field=False): + rank = len(recipe["matrix_rows"]) + e, a = rank * f, 3 * H + rank * f * K + b = 6 * coefficients * (h + 1) + values = dict(outer=outer, rows=rows, stock=1, row_bits=(1 << a) * b, within_bits=a, + record_bits=b, p=max(e, 2), d=e, K=K, G=1, H=H, q0=3, qF=0, qB=0, D=e, + f=f, rho=rho, active_start=2 * H, back_start=2 * H + e * K, + selected_axes=e, entry_start=2 * H, remainder=0, cutoff=rank) + total = outer * rows * (1 << a) + maximum = (1 << (h - 1)) - 1 + modulus = 2 * maximum + 1 + records = [tuple(((i + 3 * c) % modulus - maximum, + (i // modulus + 5 * c) % modulus - maximum) + for c in range(coefficients)) for i in range(total)] + expected = [None] * total + for row in range(outer * rows): + for address in range(1 << a): + destination, phase = endpoint(address, values, recipe) + source_index, target_index = ((row * (1 << a) + destination, row * (1 << a) + address) + if inverse else + (row * (1 << a) + address, row * (1 << a) + destination)) + expected[target_index] = tuple(rotate(pair, -phase if inverse else phase) + for pair in records[source_index]) + if bad_field: + need(not inverse, "this guard fixture uses the forward phase boundary") + bad = max(i for i in range(total) if endpoint(i % (1 << a), values, recipe)[1] == 1) + record = list(records[bad]) + record[-1] = (record[-1][0], -(1 << (h - 1))) + records[bad] = tuple(record) + return values, encode(records, h), encode(expected, h) + + +def run_case(*, reuse=None, return_state=False, affine=True, guard=False, **case): + recipe = literal(affine) + values, initial, expected = fixture(recipe, bad_field=guard, **case) + if reuse is None: + owner = Provider(recipe, factory, case.get("inverse", False)) + work = [DenseTape(3 + i % 5) for i in range(owner.port_count)] + field, context = DenseTape(9), DenseTape(11) + for tape in (*work, field, context): + for i in range(tape.origin - 1): + tape.cells[i] = i % 2 + owner.bind(work) + else: + owner, work, field, context = reuse + need(owner.inverse == case.get("inverse", False), "same compiled direction in reused owner") + load(field, initial) + encoded_header = header_bits(values) + load(context, encoded_header) + ancestors = [bytes(t.cells[:t.origin]) for t in (*work, field, context)] + before = sum(t.actions() for t in (*work, field, context)) + calls_before = dict(owner.engine.compact.calls) + rejected = False + try: + owner.run(S.abi.CodedPort(field), S.abi.BinaryContextPort(context)) + except S.phase.SignedHeadroomError: + rejected = True + need(rejected == guard, "expected phase-specific signed guard outcome") + need(body(field) == (initial if guard else expected), "independent full signed-record endpoint") + need(body(context) == encoded_header, "all 23 context fields preserved") + need(field.head == field.origin and context.head == context.origin, "public and context origin restoration") + need(all(t.head == t.origin and all(x == 6 for x in t.cells[t.origin:]) for t in work), + "all native historical bodies physically erased at current origins") + need(all(bytes(t.cells[:t.origin]) == original for t, original in zip((*work, field, context), ancestors)), + "ancestor bytes and local physical origins protected") + need(not owner.pool.live and owner.engine.closed and not owner.engine.pool.live + and owner.engine.compact.closed, "closed reusable owner and child scopes") + report = dict(case=case, affine=affine, signed_guard_rejected=rejected, + records=values["outer"] * values["rows"] * (1 << values["within_bits"]), + coefficients=case.get("coefficients", 2), physical_bits=len(initial), + physical_actions=sum(t.actions() for t in (*work, field, context)) - before, + native_ports=owner.port_count, retained_cells=sum(len(t.cells) for t in work), + compact_calls={key: value - calls_before[key] for key, value in owner.engine.compact.calls.items()}) + return (report, (owner, work, field, context)) if return_state else report + + +def main(): + parser = ArgumentParser() + parser.add_argument("case", choices=("single", "forward", "inverse", "phase", "guard", "reuse")) + args = parser.parse_args() + if args.case == "single": + result = run_case(f=1, K=2, rho=0) + elif args.case in ("forward", "inverse"): + result = run_case(f=2, K=1, inverse=args.case == "inverse") + elif args.case == "phase": + result = run_case(f=2, K=1, affine=False, outer=2, rows=2, coefficients=3) + elif args.case == "guard": + first, owner = run_case(guard=True, affine=False, coefficients=3, return_state=True) + second = run_case(reuse=owner, affine=False, coefficients=3) + result = dict(rejection=first, valid_retry=second) + else: + first, owner = run_case(H=2, affine=False, return_state=True) + second = run_case(H=1, affine=False, reuse=owner) + third = run_case(H=1, affine=False) + need(second["physical_actions"] == third["physical_actions"], "old backing does not increase a fresh short call") + need(second["retained_cells"] >= third["retained_cells"], "retained backing is honestly charged") + result = dict(large=first, reused_small=second, fresh_small=third) + print(json.dumps(result, sort_keys=True)) + + +if __name__ == "__main__": + main() diff --git a/research/current-rounded-lambda/vendor/serial/vendor/monomial/phase_adapter.py b/research/current-rounded-lambda/vendor/serial/vendor/monomial/phase_adapter.py new file mode 100644 index 0000000000..02f0fdc3ba --- /dev/null +++ b/research/current-rounded-lambda/vendor/serial/vendor/monomial/phase_adapter.py @@ -0,0 +1,213 @@ +"""Paid current signed-format and 23-field context join to unchanged #3087. + +Runtime shapes stay on encoded Count tapes. The complete untouched back suffix +is folded into additional coefficient fields, so every one receives its phase. +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +""" +from contextlib import ExitStack +from phase_binding import activate, need + +S = activate() +from cardinal_counts import Count, positive +from compact_counts import power_two +from encoded import compare, divide, subtract +from records import Tape +from scratch_pool import ScratchPool +from session import OuterScope, erase_marker +from stream import Counter +from codec import Cohort, collect_tapes, execution + +SCHEMA = S.provider.SCHEMA + + +def scale(value, multiplier): + need(type(multiplier) is int and multiplier >= 0, "fixed template multiplier") + if multiplier == 0: + return Count.literal(0) + out = Count(value) + if multiplier != 1: + out.multiply_small(multiplier) + return out + + +class Provider: + def __init__(self, literal, native_factory, inverse=False): + need(type(inverse) is bool, "compiled monomial direction") + self.rank = len(literal["matrix_rows"]) + need(1 <= self.rank <= 73, "fixed source monomial rank") + self.inverse = inverse + self.vectors = tuple("v" + str(i) for i in range(self.rank)) + self.names = ("u", "u_rest", "t", "t_rest", "before", *self.vectors, "after", "b") + with collect_tapes() as tapes: + native = native_factory() + need(type(native) is S.source.ordinary.Ordinary and native.observe is None + and native.runtime.observe is None, "same closed ordinary supplier without payload callback") + self.engine = S.engine.MonomialEngine(self.names, self.vectors, literal, native) + self.pool = ScratchPool(192) + self.scope = OuterScope(self.pool) + self.bridge, self.field_guide, self.header_guide, self.length_guide = (Tape() for _ in range(4)) + self.cohort = Cohort(tapes, native) + self.calls = 0 + + @property + def port_count(self): + return self.cohort.port_count + + def bind(self, work): + self.cohort.bind(work) + + def read_header(self, context): + return S.provider.Provider.read_header(self, context) + + def component_width(self, field): + """Read only the first component's format length, never its integer.""" + width = Count.literal(0) + while field.read() in (0, 1): + width.increment() + field.move(1) + need(field.read() == 2, "first canonical signed component terminator") + remaining = Counter(width) + try: + while not remaining.finished: + field.move(-1) + remaining.decrement() + finally: + remaining.close() + return width + + def prepare(self, header, h, cleanup): + def own(value): + cleanup.callback(value.close) + return value + for name in ("outer", "rows", "row_bits", "record_bits", "f", "K", "G", "H"): + positive(header[name]) + one, two = own(Count.literal(1)), own(Count.literal(2)) + need(compare(h, two) >= 0 and compare(header["rho"], header["K"]) < 0, + "signed width and selected current residue") + n = own(subtract(header["f"], one)) + compact = own(Count.product(n, header["G"])) + rest = own(subtract(header["H"], compact)) + twice_H = own(scale(header["H"], 2)) + before = own(subtract(header["active_start"], twice_H)) + chunk = own(Count.product(header["f"], header["K"])) + active_end = own(scale(chunk, self.rank)) + active_end.add(header["active_start"]) + after = own(subtract(header["back_start"], active_end)) + tail = own(subtract(header["within_bits"], header["back_start"])) + need(compare(tail, header["H"]) >= 0, "entire current back reservation") + suffix = own(subtract(tail, compact)) + fibre = own(power_two(suffix)) + top = own(subtract(header["K"], one)) + rho = own(subtract(top, header["rho"])) + selected = own(scale(header["f"], self.rank)) + selected.add(header["remainder"]) + rank = own(Count.literal(self.rank)) + need(compare(selected, header["selected_axes"]) == 0 + and compare(header["remainder"], rank) < 0 + and compare(header["selected_axes"], header["d"]) <= 0, + "current active width, fixed rank and untouched ordinary remainder") + complete = own(power_two(header["within_bits"])) + expected = own(Count.product(complete, header["record_bits"])) + need(compare(expected, header["row_bits"]) == 0, "exact complete current physical row") + pair_codes = own(Count(h)) + pair_codes.increment() + pair_codes.multiply_small(6) + base_coefficients, remainder = divide(header["record_bits"], pair_codes) + own(base_coefficients); own(remainder) + need(remainder.zero(), "record_bits equals 6 r (h+1)") + positive(base_coefficients) + coefficients = own(Count.product(base_coefficients, fibre)) + rows = own(Count.product(header["outer"], header["rows"])) + widths = (compact, rest, compact, rest, before, + *(chunk for _ in self.vectors), after, compact) + return widths, rho, coefficients, rows + + def rewind_field(self, field): + self.field_guide.rewind() + while self.field_guide.read() != 4: + need(self.field_guide.read() == 1, "complete current field guide") + field.move(-1) + self.field_guide.step(1) + self.field_guide.rewind() + + def import_field(self, field, h): + """Strip actual component delimiters, preserving every signed bit.""" + while field.read() != 4: + for _ in (0, 1): + remaining = Counter(h) + try: + while not remaining.finished: + value = field.read() + need(value in (0, 1), "uniform complete signed component") + self.bridge.append(value) + self.field_guide.append(1) + field.move(1) + remaining.decrement() + finally: + remaining.close() + need(field.read() == 2, "exact signed component delimiter") + self.field_guide.append(1) + field.move(1) + self.bridge.rewind() + self.rewind_field(field) + + def export_field(self, field, returned, h): + """Reinsert the exact complete format at the unchanged common grid.""" + returned.rewind() + self.field_guide.rewind() + while returned.read() != 4: + for _ in (0, 1): + remaining = Counter(h) + try: + while not remaining.finished: + value = returned.read() + need(value in (0, 1) and field.read() in (0, 1) + and self.field_guide.read() == 1, "exact returned signed component") + field.write(value) + field.move(1) + returned.step(1) + self.field_guide.step(1) + remaining.decrement() + finally: + remaining.close() + need(field.read() == 2 and self.field_guide.read() == 1, + "same complete signed component boundary") + field.write(2) + field.move(1) + self.field_guide.step(1) + need(field.read() == self.field_guide.read() == 4, "exact full-format return frontier") + self.rewind_field(field) + self.field_guide.clear() + returned.rewind() + + def run(self, field, context): + """Current CodedPort field and BinaryContextPort at their local origins. + + SignedHeadroomError preserves field and context and allows a valid + retry. The all-size theorem concerns valid format and descriptors; + arbitrary malformed/interrupted execution has no rollback claim. + """ + need(self.cohort.ports is not None and field.tape is not context.tape + and all(field.tape is not port and context.tape is not port for port in self.cohort.ports), + "distinct public/current-context and private physical segments") + self.cohort.start() + try: + with execution(), self.scope.installed(), ExitStack() as cleanup: + header = self.read_header(context) + for value in header.values(): + cleanup.callback(value.close) + h = self.component_width(field) + cleanup.callback(h.close) + widths, rho, coefficients, rows = self.prepare(header, h, cleanup) + self.import_field(field, h) + with self.scope.suspended(): + returned = self.engine.run(self.bridge, widths, header["f"], header["K"], + header["G"], rho, h, coefficients, rows, self.inverse) + self.export_field(field, returned, h) + returned.clear() + erase_marker(returned) + self.bridge.clear() + self.pool.empty() + self.calls += 1 + finally: + self.cohort.finish() diff --git a/research/current-rounded-lambda/vendor/serial/vendor/monomial/phase_binding.py b/research/current-rounded-lambda/vendor/serial/vendor/monomial/phase_binding.py new file mode 100644 index 0000000000..7f51953eb9 --- /dev/null +++ b/research/current-rounded-lambda/vendor/serial/vendor/monomial/phase_binding.py @@ -0,0 +1,80 @@ +"""Authenticate and bind unchanged #3087 to the current physical vocabulary. + +Only source discovery is replaced. All phase, signed-pair, monomial, Compact, +Count and Tape computational source bodies remain their pinned bytes. +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +""" +from hashlib import sha1, sha256 +import importlib.util +import json +from pathlib import Path, PurePosixPath +import sys +from types import ModuleType, SimpleNamespace + +HERE = Path(__file__).resolve().parent +_state = None + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def authenticate(root=HERE): + rows = json.loads((root / "DEPENDENCIES.json").read_text())["files"] + seen = set() + for row in rows: + name = PurePosixPath(row["path"]) + need(not name.is_absolute() and ".." not in name.parts and name.parts[0] == "vendor", + "regular relative frozen source path") + path = root / str(name) + need(str(name) not in seen and path.is_file() and not path.is_symlink(), + "unique regular frozen source") + seen.add(str(name)) + raw = path.read_bytes() + need(sha256(raw).hexdigest() == row["sha256"] + and sha1(b"blob " + str(len(raw)).encode() + b"\0" + raw).hexdigest() == row["git_blob"], + "unchanged source bytes: " + str(name)) + return len(rows) + + +def load(name, path): + need(name not in sys.modules, "cold phase source module " + name) + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + sys.modules[name] = module + exec(compile(Path(path).read_bytes(), str(path), "exec"), module.__dict__) + return module + + +def activate(): + global _state + if _state is not None: + return _state + authenticate() + binding, monomial = HERE / "vendor/binding", HERE / "vendor/monomial" + sys.path.insert(0, str(binding)) + base = load("binding_sources", binding / "binding_sources.py") + state = base.activate() + reference = sys.modules["compact_reference"] + need("compact" not in sys.modules and "phase_sources" not in sys.modules, + "cold shared monomial source namespace") + sys.modules["compact"] = reference + finite = load("monomial_reference", monomial / "reference.py") + shim = ModuleType("phase_sources") + shim.activate = lambda: (sys.modules["native_sources"], reference, finite) + sys.modules["phase_sources"] = shim + sys.path.insert(0, str(monomial)) + codec = load("codec", binding / "codec.py") + provider = load("provider", binding / "provider.py") + phase = load("signed_phase", monomial / "signed_phase.py") + recipe = load("phase_recipe", monomial / "phase_recipe.py") + pair = load("pair_dispatch", monomial / "pair_dispatch.py") + engine = load("monomial_engine", monomial / "monomial_engine.py") + need(engine.Count is state.counts.Count and engine.Tape is state.records.Tape + and phase.Count is engine.Count and recipe.Count is engine.Count, + "one actual Count/Tape vocabulary across the complete monomial") + _state = SimpleNamespace(source=state, codec=codec, provider=provider, + phase=phase, recipe=recipe, engine=engine, + reference=finite, pair=pair, abi=state.abi) + return _state diff --git a/research/current-rounded-lambda/vendor/serial/vendor/monomial/selected_service.py b/research/current-rounded-lambda/vendor/serial/vendor/monomial/selected_service.py new file mode 100644 index 0000000000..fc3cbdc16b --- /dev/null +++ b/research/current-rounded-lambda/vendor/serial/vendor/monomial/selected_service.py @@ -0,0 +1,76 @@ +"""One current #6030 MOVE boundary, with its actual source monomial. + +The width-one phase record and its tensor convention are inherited from #6293 +and #6930. This file binds the actual source token and owner to the current +signed-format service; it does not re-audit the primary native recorder. +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +""" +import gzip +from hashlib import sha256 +import json +from phase_binding import HERE, authenticate, load, need +from phase_adapter import Provider + +_selected = None +EVENT = 9896 +RAW = ("MOVE", 236, 3, 7, False) + + +def source_boundary(): + global _selected + if _selected is not None: + return _selected + authenticate() + root = HERE / "vendor/selected" + word = json.loads(gzip.decompress((root / "WORD.json.gz").read_bytes())) + need(tuple(word["program"][EVENT]) == RAW, "actual selected MOVE source record") + ir = load("selected_phase_current_ir", HERE / "vendor/binding/vendor/lifecycle/source_ir.py") + events, stats = ir.current_local(word) + entry = next(e for e in events if e.op == "SERVICE" and e.token == ("move-in", "local", EVENT, RAW)) + leave = next(e for e in events if e.op == "SERVICE" and e.token == ("move-out", "local", EVENT, RAW)) + need(entry.fields == leave.fields == (236,), "actual selected field owner at both monomial cuts") + clifford = load("selected_phase_clifford", root / "clifford_exact.py") + start = clifford.canonical_frame(9, tuple(word["frames"][3])) + stop = clifford.canonical_frame(9, tuple(word["frames"][7])) + record, _compiled = clifford.lower_child(start.adjoint().then(stop)) + need(record["rank"] == 1 and record["right"]["phase"] == 1 + and record["left"]["phase"] == 0, "inherited #6930 actual chart record") + raw = json.dumps(record, sort_keys=True, separators=(",", ":")).encode() + report = dict(event=EVENT, raw=RAW, owner=236, rank=record["rank"], + right=record["right"], left=record["left"], source_token=entry.token, + record_sha256=sha256(raw).hexdigest(), + source_phase_audit="unpaidmoon/integer-mult-bounds@c726399fbdb6d80dd13bed760b56572fb4ea1022", + phase_algebra_inherited_from=[3087, 6293, 6930], + current_source_events=stats["events"], selected_frontier_changed=False) + _selected = entry, leave, record, report + return _selected + + +class Service: + def __init__(self, event, native_factory): + entry, leave, record, self.report = source_boundary() + need(event.op == "SERVICE" and len(event.fields) == 1 and len(event.token) >= 4, + "actual single-owner current MOVE service") + tail = event.token[-4:] + need(tail in (entry.token, leave.token), "fixed current source chart and occurrence token") + self.token, self.owner = event.token, event.fields[0] + self.side = "right" if tail == entry.token else "left" + self.provider = Provider(record[self.side], native_factory) + self.field = self.context = None + + @property + def port_count(self): + return self.provider.port_count + + def bind(self, work, fields, context): + need(self.owner in fields, "actual current MOVE owner has its physical field") + self.field, self.context = fields[self.owner], context + self.provider.bind(work) + + def run(self): + need(self.field is not None, "fixed current source/field/context binding before input") + self.provider.run(self.field, self.context) + + +if __name__ == "__main__": + print(json.dumps(source_boundary()[3], sort_keys=True)) diff --git a/research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/DEPENDENCIES.json b/research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/DEPENDENCIES.json new file mode 100644 index 0000000000..9e68f72266 --- /dev/null +++ b/research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/DEPENDENCIES.json @@ -0,0 +1,724 @@ +{ + "schema_version": 1, + "files": [ + { + "group": "lifecycle", + "repository": "CubeJerry/integer-mult-bounds", + "published_commit": "ab239cb6ee884e7a900dd9101c34448077fad0b0", + "original_path": "research/compiled-owned-bank-lifecycle/machine.py", + "local_path": "vendor/lifecycle/machine.py", + "git_blob": "acf475e4fccaff2fb64bd5b0b3f3fc0d246dc592", + "sha256": "ec597bce13275003ff30e4be481c936401826c1d4af642b55eec0c410774d1df" + }, + { + "group": "lifecycle", + "repository": "CubeJerry/integer-mult-bounds", + "published_commit": "ab239cb6ee884e7a900dd9101c34448077fad0b0", + "original_path": "research/compiled-owned-bank-lifecycle/source_ir.py", + "local_path": "vendor/lifecycle/source_ir.py", + "git_blob": "79c95fa79439f3c893de52991173bd3a5eae2729", + "sha256": "54dd93bc50bd10e974c70794df1c13da27f0e3d8cdb6cfe6791a63280096f1b1" + }, + { + "group": "lifecycle", + "repository": "CubeJerry/integer-mult-bounds", + "published_commit": "ab239cb6ee884e7a900dd9101c34448077fad0b0", + "original_path": "research/compiled-owned-bank-lifecycle/PROOF.md", + "local_path": "vendor/lifecycle/PROOF.md", + "git_blob": "605981247e27de68fe78d3a36e2b454efbd6b11e", + "sha256": "9a088fa00f10e59df48090b67c6ef7c3641bc9cc36b223deb917740372d57993" + }, + { + "group": "dispatch", + "repository": "CubeJerry/integer-mult-bounds", + "published_commit": "5c59d247d51c6e1fca0dead3ed2139b6802b3a15", + "original_path": "research/compiled-row-stock-dispatch/row_programs.py", + "local_path": "vendor/dispatch/row_programs.py", + "git_blob": "30ba41725f7e1ba3dd058abd30c66d19820a008d", + "sha256": "a59510516d1397382de6141edc1eb69cf3ba5e6e330198deb5e335e543300be4" + }, + { + "group": "dispatch", + "repository": "CubeJerry/integer-mult-bounds", + "published_commit": "5c59d247d51c6e1fca0dead3ed2139b6802b3a15", + "original_path": "research/compiled-row-stock-dispatch/compiler_routes.py", + "local_path": "vendor/dispatch/compiler_routes.py", + "git_blob": "5752189b8a838596346df8dde89024621b513e41", + "sha256": "d375f8c2e666ffd2ebe6de34ccb7756ac9fa4a4cd5f866cb025a781f8538c599" + }, + { + "group": "dispatch", + "repository": "CubeJerry/integer-mult-bounds", + "published_commit": "5c59d247d51c6e1fca0dead3ed2139b6802b3a15", + "original_path": "research/compiled-row-stock-dispatch/PROOF.md", + "local_path": "vendor/dispatch/PROOF.md", + "git_blob": "96b032f662397d496c4d827839441b6794881a53", + "sha256": "b0ed45deb84fa2ce835246d7de3c85ccdacf24ab68235cf1138fe6ff4c4ce5d9" + }, + { + "group": "dispatch", + "repository": "CubeJerry/integer-mult-bounds", + "published_commit": "5c59d247d51c6e1fca0dead3ed2139b6802b3a15", + "original_path": "research/compiled-row-stock-dispatch/vendor/row_padding.py", + "local_path": "vendor/dispatch/vendor/row_padding.py", + "git_blob": "1e3533efa92c3bab35916ae6844290586d18ff27", + "sha256": "24270408e87b028791670cd63908adeb03162f0919237e8644065c5898fecf2f" + }, + { + "group": "dispatch", + "repository": "CubeJerry/integer-mult-bounds", + "published_commit": "5c59d247d51c6e1fca0dead3ed2139b6802b3a15", + "original_path": "research/compiled-row-stock-dispatch/vendor/occurrence_geometry.py", + "local_path": "vendor/dispatch/vendor/occurrence_geometry.py", + "git_blob": "9c3c97d86a7bdd7b95944218bf1e6e4a5a1746a1", + "sha256": "f3504a73803da120040cc62ee8f5e8b849237daf508a7146272d55624c3f8396" + }, + { + "group": "compact", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-complex-compact/compact_engine.py", + "local_path": "vendor/compact/compact_engine.py", + "git_blob": "5c5ca75567f85b042c156e0ed5a8afe81671b1b8", + "sha256": "2cacff4d36a6e029add115f47cd8ffbf3c61e7ece0900308b98e6032e652f098" + }, + { + "group": "compact", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-complex-compact/compact_control.py", + "local_path": "vendor/compact/compact_control.py", + "git_blob": "13af719b5844f14f5cf05c919e84204cd21caf6a", + "sha256": "73a9ace4f91aeb383fdbc6f7762498fe707b4e4b45b1c63920bb90cc8795e284" + }, + { + "group": "compact", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-complex-compact/compact_counts.py", + "local_path": "vendor/compact/compact_counts.py", + "git_blob": "064b508efd12f7d5a33729b2344b6890f0c75d2f", + "sha256": "71c19cfc186aaf0c159ec64ea1a5d58e1fc5fc093d50c7360247559261fad00d" + }, + { + "group": "compact", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-complex-compact/compact_layout.py", + "local_path": "vendor/compact/compact_layout.py", + "git_blob": "03ca12aed77741f40d824fcb33cc4eedb85abfd9", + "sha256": "5be2be9c32c15742da18fde438a5559a45a86eb661105027b1b233a7c397e0ce" + }, + { + "group": "compact", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-complex-compact/compact_streams.py", + "local_path": "vendor/compact/compact_streams.py", + "git_blob": "5699cc7f20def3bc873d2da05b13a252246367a1", + "sha256": "3b5cce3be9763c6bd7803d6223d2784d1975eeac6c7c99f5e00dfc49bb11d249" + }, + { + "group": "compact", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-complex-compact/native_sources.py", + "local_path": "vendor/compact/native_sources.py", + "git_blob": "3d2834c5fff39481c9a0442a514c10eaf50f98d2", + "sha256": "865c97c4f261fde37e86eb16a910eaa5b2f26daaa7d2648ae0322ba8c0286572" + }, + { + "group": "compact", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/physical-complex-compact/PROOF.md", + "local_path": "vendor/compact/PROOF.md", + "git_blob": "f65f38123ca0adb02f6ca69351cbfc933506e5cb", + "sha256": "ec6395822ae500242f3fe5e2cf40caf9a7f9fa259d475d2c14970d951ff4df48" + }, + { + "group": "ordinary", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "original_path": "research/physical-ordinary-interchange/binary.py", + "local_path": "vendor/ordinary/binary.py", + "git_blob": "651185a9eec51438949580a34e707f6dd1adbd4b", + "sha256": "578fb5bc793fc544dca8111605bf9f6067b8ba7dc7489a3ac243e1df3cd37953" + }, + { + "group": "ordinary", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "original_path": "research/physical-ordinary-interchange/encoded.py", + "local_path": "vendor/ordinary/encoded.py", + "git_blob": "2280fa98ff5e4da7c4909814ce4a1c405605ada8", + "sha256": "10ad2fa5902a48d49cf2b89a30b3f2711d63a6a43b9512a6427affcdf07335a7" + }, + { + "group": "ordinary", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "original_path": "research/physical-ordinary-interchange/ordinary.py", + "local_path": "vendor/ordinary/ordinary.py", + "git_blob": "81b330a4b886a0f4deab7b0811478bab3fbc107a", + "sha256": "7f8338e748bcd42fbef1e7cc47b6c5040dfb3aad216e34759bcb12b8e14f7705" + }, + { + "group": "ordinary", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "original_path": "research/physical-ordinary-interchange/physical_words.py", + "local_path": "vendor/ordinary/physical_words.py", + "git_blob": "44b464714277786297c8ee7fd04470dc6394896d", + "sha256": "89ba40442297ec35368e426770f44852b39807ca426710ded2735678651bef61" + }, + { + "group": "ordinary", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "original_path": "research/physical-ordinary-interchange/session.py", + "local_path": "vendor/ordinary/session.py", + "git_blob": "09f645bbf0c6c3d41d0c03e8031adc4e81744ac1", + "sha256": "45ee809b27a69ca5576361922fd2760f568c9a98864d4c55c4fee3003ee3c9ad" + }, + { + "group": "ordinary", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "original_path": "research/physical-ordinary-interchange/source.py", + "local_path": "vendor/ordinary/source.py", + "git_blob": "8594fc62cee8a111958561b75045c8ec16ebfa47", + "sha256": "4bd047a1272374880962d3074f1e50de717518a3a181f11607e820afe50dd4e5" + }, + { + "group": "ordinary", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "original_path": "research/physical-ordinary-interchange/PROOF.md", + "local_path": "vendor/ordinary/PROOF.md", + "git_blob": "12be1f06062090fcc68e598bae250f185e3d8524", + "sha256": "8a1c2145cd8f080026488a571d95813c09679aa323f19aeaef0ea98030136e1c" + }, + { + "group": "reference", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "d404b48a1e7b147556b309497d55089c837dddb2", + "original_path": "research/selected-complex-compact-adapters/streams.py", + "local_path": "vendor/reference/streams.py", + "git_blob": "61542ce4c9eb51bfc113475b4f98649cb90a853e", + "sha256": "718a582a50aee8f1f04945ed942be1d4162962fe47dbf05c6ff37b7fb8c61257" + }, + { + "group": "reference", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "d404b48a1e7b147556b309497d55089c837dddb2", + "original_path": "research/selected-complex-compact-adapters/compact.py", + "local_path": "vendor/reference/compact.py", + "git_blob": "60bc206c78150f23563a4775800b0dd32025843d", + "sha256": "0e1027a60f38c21cfd808c8ce44dcc2423810efdab0e15f02b07f261ad48fc3c" + }, + { + "group": "reference", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "d404b48a1e7b147556b309497d55089c837dddb2", + "original_path": "research/selected-complex-compact-adapters/NOTICE.md", + "local_path": "vendor/reference/NOTICE.md", + "git_blob": "e82bfef53054bd753ba0aa8a966f84427faa2293", + "sha256": "74a9f03e9ce467c75f5f7cf1b8465d349ea38ef114afad261824c3bcf13da00f" + }, + { + "group": "record_lift", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/selected-monomial-tape-lift/lift.py", + "local_path": "vendor/record_lift/lift.py", + "git_blob": "167d085a9191e3b3545bcf39d5e6edc94e54d514", + "sha256": "21c77119c004a86a603cca91ce1366629431db18e9e0554942492f1b5afebe4a" + }, + { + "group": "record_lift", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/selected-monomial-tape-lift/PROOF.md", + "local_path": "vendor/record_lift/PROOF.md", + "git_blob": "69e07e58c5468e2045281335a56f4918b474c79d", + "sha256": "8442243130d4a9932f78eb42419196d2866d4496256e3bb2d6143fd52b44ddb3" + }, + { + "group": "compiler", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/lockstep-completion-pass/executor.py", + "local_path": "vendor/lockstep_executor.py", + "git_blob": "9469443a3d7cc6310a7369daf77c7756d5bd3f38", + "sha256": "0bda14a3e5f4da348cd5c89ebe29d717e7a5406ec31b164d5b9e1d25f7f38e0e" + }, + { + "group": "selected", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "certificates/selected-result.json", + "local_path": "vendor/SELECTED-RESULT.json", + "git_blob": "d59b5035e7b4cbaa9d688a1d32dd0d6eb79c466a", + "sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa" + }, + { + "group": "deferred", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "research/p104-6030-deferred-layer/PROOF.md", + "local_path": "vendor/DEFERRED-PROOF.md", + "git_blob": "de725a73e97496836100aa6e0ed9cd70985373da", + "sha256": "3a7ac6dae3b76d5f78849f521635da034fe99b1ea6c942175a3652b53f6262c2" + }, + { + "group": "task", + "repository": "CubeJerry/integer-mult-bounds", + "published_commit": "5c59d247d51c6e1fca0dead3ed2139b6802b3a15", + "original_path": "research/compiled-row-stock-dispatch/TASK.json", + "local_path": "vendor/dispatch/TASK.json", + "git_blob": "70bb2c54a6dbf9f17a55bbae8383d9bfde933e52", + "sha256": "6b5334d10044644ba646452b0e9e21528061768726d124a4a97af26785aa9ec9" + }, + { + "group": "task", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_path": "docs/research/agent-task-catalog.json", + "local_path": "vendor/TASK-CATALOG.json", + "git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec", + "sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81" + } + ], + "archive_members": [ + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/consumer.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/consumer.py", + "sha256": "2f2a8604c23fb2c81f24320c71ed0142118d98dde3be6086adad28e89954a777", + "git_blob": "a66d9276f829ce2c619871866816649d5f3687fd" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/driver.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/driver.py", + "sha256": "ceaf8f75de9810a05ebf8f65780b6f8bd7599a5768401d5e4386182afe615cdf", + "git_blob": "5b7846a70aada53d87480b337e1c04217118771b" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/evidence/NOTICE.md", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/evidence/NOTICE.md", + "sha256": "fd7c42e89878cda6df86dde8720ece34625a337cf5edd795a421e2d3b42919e9", + "git_blob": "d0318d43ed420e21dc52166a19de703aa87fbb3e" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/evidence/pr2688-NOTICE.md", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/evidence/pr2688-NOTICE.md", + "sha256": "c899fccf7bd32397f0ddd85e4af35a166cefb3e3ae3407ec40edc3ab2051b617", + "git_blob": "f2b49cdef83a4a685fad32c01fba93e12cfcb5a8" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/layout.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/layout.py", + "sha256": "3beef6534b02c3b011b741f957a7d9fb05a9ac0bba1fed53b2c71834e4ea6bc1", + "git_blob": "aa554b14fe0f6b308d9fba0a2afc92e5a28e20cb" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/linear_sign.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/linear_sign.py", + "sha256": "73e895fc701a4145cbe89d60f5775128354e7f08d0a45eacf22f423913f54e67", + "git_blob": "6a6e5c02f299fad8c4f7ab724fc36e14a22ab13c" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/node.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/node.py", + "sha256": "0bd4f640cafb5c8f070c161d86445910f77578a672bf5886936ed89e7f6bd21b", + "git_blob": "28c98a3573b458f7a055678d70b602b80e6e959e" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/packet_engine.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/packet_engine.py", + "sha256": "c80fc3aa9092f91cc309b2fb2dbc3618bf96bdb9b8498503993ea161f0ae2134", + "git_blob": "72543f684f38fefeacc2ee66d81661f1a2439cf7" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/peel.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/peel.py", + "sha256": "8b20888f74b4cd814a97b42ec72528fbfb6d2e936c5022df726f0785d0d01a2e", + "git_blob": "38502515afc928082c849cd2cda8578d33a5050a" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/NOTICE.md", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/NOTICE.md", + "sha256": "c446b32b8a621844fb2fbe654810c8122035bdd43fed2132f1137d98cb6f9943", + "git_blob": "ef9f81510db86eaf2f0a7191d85e92a6db30ddc0" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/cardinal_counts.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/cardinal_counts.py", + "sha256": "59ddeac102a0cc51fa49b15aae6aeb68cd68ed217fa974ce916372a177d2ec8f", + "git_blob": "6a14feac45094ae9156e8c2c982d6727544f180e" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/catalogue.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/catalogue.py", + "sha256": "83ea88f82d4a83c5f889774bfe3519b7ebaa24b6a0e2a969dafff012107a89bf", + "git_blob": "0efc0575a7623ac41c094d2e8772beda5a9fdc29" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/control.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/control.py", + "sha256": "d3a93e54bb7d333b73917586407d11674d38b5c3fda4fbdc436fb5293ae7786a", + "git_blob": "4f6ac09bffab43dbccc470bd0bde2ffbe969a8b2" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/fresh_rows.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/fresh_rows.py", + "sha256": "e4ae08fbd658add630eb7754ebe0cbcb42c6f39cf4128f9cb92e27fcf5213a7d", + "git_blob": "aa3a327604308d3a5c7a27b65f5e631d430ab093" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/topology.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/topology.py", + "sha256": "384d456ddba76de137a63b50019d5bba2e9f6daa4177c91643e0565d4cf1d44b", + "git_blob": "39a2916c207d04be5efc44750d8606f5da0c2990" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/binding.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/binding.py", + "sha256": "20169a8af6ed2b34069fd353a2bc1c42335ab686c58de8479baef33dd3fb493b", + "git_blob": "21a5a21220a18ab62a19ac403a9944bc3a8665c8" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/bitstream.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/bitstream.py", + "sha256": "f78bac9641007dbd8824984edcac057274fe016ce78bd9cb512d0c0913274783", + "git_blob": "4d1fd4abb0f2aabe833e5cbc9efb51039739e7ca" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/cardinality.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/cardinality.py", + "sha256": "505d5e560c5a507e6184edcc19a87cf1fed243eb34a5cb21fbe1e4fe017e7f22", + "git_blob": "b8ba857e32c5903408e1e61ff916300848b4a208" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/children.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/children.py", + "sha256": "a78866939631214c1d1659203b2b5fc062e3c6255e9f11f975c310046b010bd6", + "git_blob": "ce4935f838516e2b08d13bec767cb803786fbc6b" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/controller.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/controller.py", + "sha256": "fa09146991f6c04e6f4b6eb9bf0c8e103e70e90a0e402ff3d69814e6aac8ff8c", + "git_blob": "c631a9e77fbcccf0e8f448adc22978728aed7b60" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/counts.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/counts.py", + "sha256": "00b476dbda0e8cc99886bf794439e1cb9e775f435f599a3557e99321fe084069", + "git_blob": "81b48940ce222290a40d4fb349ce827f4788469d" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/directory.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/directory.py", + "sha256": "4270e370b2bfe38ef73aadcd97d1b3496b56bd582115d74331eb9e5ceb90bec7", + "git_blob": "c74cacf5ce809c0561d374f137a52df0992b4226" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/episode.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/episode.py", + "sha256": "38f79cb2a370548471063952d5f7c74bd795a2a8496fdcf3ce0996d79e3adaff", + "git_blob": "30d11ff4f333813855d36da3eb5a1ab0e154bafe" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/forms.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/forms.py", + "sha256": "1fdf9d31b7eb107c396e33f94dad61c9d3f2c709cae61178268a44ca80dbc0b4", + "git_blob": "6667c0b772a63f0059c7caffec63e0d919a92398" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/low_codes.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/low_codes.py", + "sha256": "f657e17f6088c840e3f7783e662257630f6d2c1e71c217721ffbca4d6ac93e87", + "git_blob": "737edfc4a10f4b7b3b97a7cef4b40864efd806e6" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/matrices.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/matrices.py", + "sha256": "00b687434039b54529ee092e34f9435cfcd66e0816eb3bd2a6688c73f4e01459", + "git_blob": "5d497353efbb9eeaaf4facd96ab40ffb0f3aa20d" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/numeric.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/numeric.py", + "sha256": "7327b05c4ec3e0f6d9c352cc7de85bfd4ebe940482553e77c59a773a8c09c514", + "git_blob": "6d4ebca8398008375b8f4762d1a9f1514e8c2611" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/oracle.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/oracle.py", + "sha256": "7bd18089e32ce48085b5e3a75159f6a82cdb2649ec682c53db05e399d97aef67", + "git_blob": "244f131466698a3ace10b657242fe1f65c07fd1f" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/packet.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/packet.py", + "sha256": "970e7fe0719e3dfe122b248941e6f21cd90d7dd62089fa6acbd0e5412ce083a5", + "git_blob": "ebc9b616514412b80c56d523776e6ba5d6766453" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/plan.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/plan.py", + "sha256": "d9c8dc93762db4d3a449814aa51e2211460648694469854d89cb48cb04188cf3", + "git_blob": "48255d5454308c07635fae4e7eb4873b0bd2a4f8" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/records.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/records.py", + "sha256": "0c9c4b23e998597fb877bb1a29da69ac869b68262abe635b162b4dba9c69b372", + "git_blob": "4f00467a0ff580954ad2fd0c7380240c753ddef3" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/routes.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/routes.py", + "sha256": "ed7dc3679451696ab1dd841146b215c9515a3eec5e4ff3763f33c315f1696ada", + "git_blob": "35531201dc349a811dfabc6f1f6e64697d665194" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/selection.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/selection.py", + "sha256": "bc8e371fb1fa0b41fb05ef0b34d0f4c317b2396f9833d91f44f95c2b54b4052b", + "git_blob": "2c28f1aaec104a75c4e6c170b3e6a60300ee6700" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/sources.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/sources.py", + "sha256": "f102edc7816d742bd89db8097254c19b843d0ef5cf6758ad42e93bcc0b214c62", + "git_blob": "16d5e7e6a28018f1e2d76d61efe2d54f6a6941d4" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/predecessor/vendor/stream.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/predecessor/vendor/stream.py", + "sha256": "c7dc7da5b00f27016982ada4c0416f8328568b00df16d97012f33d4b372d79b5", + "git_blob": "5e5a4bb0f98971447043e25d4dd6991bfc070389" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/recursive_call.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/recursive_call.py", + "sha256": "157deaa5972557893d43494a81151483bdc46373448ec677cb6a738c9b7e6f1e", + "git_blob": "6d33224145aa04f7fbaf7b6cda7c9c164311a402" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/scheduler.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/scheduler.py", + "sha256": "0d96f7fbd6f90416167c5a52c0e3de942d1a0cae3d2968831932a9576701699f", + "git_blob": "60c2b6d065eba91dd5e0edb7a77fc087971eca3f" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/stream_runner.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/stream_runner.py", + "sha256": "b255feaf6cc6e40413ae73fe302bf8f290bf4dd89f4128b23a91cc9860601801", + "git_blob": "6ba5df130bb4a0fcb06b6c630830ae3a6922921b" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2753/trace.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2753/trace.py", + "sha256": "3a664224c558244f606b603cad816d75e94a17c9b2620a06a1530e893dfceac2", + "git_blob": "4b002201ce54cdecec9acf4e874b7f71cd75fe71" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2769/NOTICE.md", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2769/NOTICE.md", + "sha256": "8640d1b52fd21e5b20e8109ce9c4957ca1e19a95e26a1c80d019a6e6f4d5f178", + "git_blob": "307c2da733f7f3a76e97c77e71072e811f40df02" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2769/codec.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2769/codec.py", + "sha256": "5b9fda8136f7e60bece54e3fcc74f4ea0bec7145fa60e1ae3a4d252741b81fd3", + "git_blob": "9cd54d9417eb685dcd3f8293f01299ef9046ad31" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2769/vendor/parking_machine.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2769/vendor/parking_machine.py", + "sha256": "68134779debfb795468a1aaecbc2b9d321d7d4e451313ce7dc8fa7092561df4c", + "git_blob": "cafd614a3b7bc87b019361fcdf890ed976f26d19" + }, + { + "local_path": "vendor/runtime/pr2809/inputs/pr2769/vendor/words.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "inputs/pr2769/vendor/words.py", + "sha256": "5c37f57708ba3131bdcb03139f9dbc29886bee44569c09cbba51b68f75acd7f9", + "git_blob": "8d4ba37e2778acb35b34e0719df2caf138fbeb50" + }, + { + "local_path": "vendor/runtime/pr2809/macro_binding.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "macro_binding.py", + "sha256": "9ef31765d03d2c54fad9296f2ff0707a190ce169e44de4f0f45214e3c410c01a", + "git_blob": "c197eb6458be9374cb4684c654bfc99e619dcaf0" + }, + { + "local_path": "vendor/runtime/pr2809/macro_code.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "macro_code.py", + "sha256": "f626b018124747a5f17c1603bea36cd74c00a69a0647fd7b10e9c4e2964caea8", + "git_blob": "2f5f8ecfac6457171707b1b5ff02b5071954fcb7" + }, + { + "local_path": "vendor/runtime/pr2809/macro_machine.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "macro_machine.py", + "sha256": "7bc6e42072a09a08ac961e05c3da01cde012d740d4b4c605f298d994f2ad7c5a", + "git_blob": "5a032e8923f7f8b22bb98f3e39b804beb9906c16" + }, + { + "local_path": "vendor/runtime/pr2809/residual_blocks.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "residual_blocks.py", + "sha256": "ab7f3df8906decd2efecfb138eac1456c106bb520b2598761f699f80680d8331", + "git_blob": "fba75e7649cf77e352a75324495191bbd7853c22" + }, + { + "local_path": "vendor/runtime/pr2809/role_parking.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "role_parking.py", + "sha256": "1884a3c260d81d5efbc0c33d86a810d6728e55e5764cfcd423f858cc685470f3", + "git_blob": "fc48c244eefdbaa3e320e86c75a7d187cb5765ef" + }, + { + "local_path": "vendor/runtime/pr2809/scratch_pool.py", + "archive_name": "pr2809.tar", + "archive_sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "member": "scratch_pool.py", + "sha256": "41f1eb93652b7174c3b02f95f70e1a9ce2e2aed0a729e725167c8f226e65d8db", + "git_blob": "0f22807c65d1bca374b905538512bf8c43702070" + }, + { + "local_path": "vendor/runtime/pr2808/outer.py", + "archive_name": "pr2808.tar", + "archive_sha256": "2ab59c6d0ad00c001ecbe44090b66871ec3d2c1fdc51daa503109e56f3285cab", + "member": "outer.py", + "sha256": "9a26702a853805da7f97da7272d3b610c4d69767ecc6b450efbc4b6722dc3f19", + "git_blob": "1341d394481fb13beb826b944409b11083d8e7f8" + }, + { + "local_path": "vendor/runtime/pr2808/vendor/pr2786/padding.py", + "archive_name": "pr2808.tar", + "archive_sha256": "2ab59c6d0ad00c001ecbe44090b66871ec3d2c1fdc51daa503109e56f3285cab", + "member": "vendor/pr2786/padding.py", + "sha256": "9f58bf2d343e13a70dc765d86c590b912d5987669d507ab14bd36deed94a76ee", + "git_blob": "0229304638de6c78ebc519b33a6ce34b1d396ca7" + } + ], + "archives": [ + { + "name": "pr2809.tar", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "original_path": "research/physical-ordinary-interchange/inputs/pr2809.tar", + "git_blob": "21ff4b5b9942dbc82b60b4546d39785daa22ba86", + "sha256": "ee1d4ec05e3c872d264be3b38f71a8c153acf37427f5d3ba87f8e15440c9ccf0", + "bytes": 962560 + }, + { + "name": "pr2808.tar", + "repository": "CrocSwap/integer-mult-bounds", + "published_commit": "2f0911ad735643a069b9790302fbf179e49f74f8", + "original_path": "research/physical-ordinary-interchange/inputs/pr2808.tar", + "git_blob": "191b0b3342d12a630d60643439afa3284641c2d5", + "sha256": "2ab59c6d0ad00c001ecbe44090b66871ec3d2c1fdc51daa503109e56f3285cab", + "bytes": 296960 + } + ], + "extraction": "Full local archive SHA256 matched the freshly fetched public ordinary/source.py anchors. Only the51 computational import-closure/NOTICE members listed here are exported. Member git_blob values are hashes of exact archive-member bytes, not separate API claims." +} diff --git a/research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/PROOF.md b/research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/PROOF.md new file mode 100644 index 0000000000..859eb593d3 --- /dev/null +++ b/research/current-rounded-lambda/vendor/serial/vendor/monomial/vendor/binding/PROOF.md @@ -0,0 +1,490 @@ +# Retained Compact on the current complete coded field + +Prepared for **@CubeJerry**, with substantial OpenAI assistance in source +analysis, mathematics, implementation, checking and prose. Apache-2.0. + +## 1. Scoped result and exact predecessors + +This package supplies one selected-bit XOR service for the actual record grammar +emitted by the current compiler/occurrence route binder. It produces the retained +Compact layout from the current twenty-three-field encoded descriptor, executes +the actual retained operation on A's coded ports, and returns the same complete +field and unchanged descriptor, with all private current segments physically +blank. Both source orders and the separate `f=1` case are covered. + +This is a **structured finite-control, fixed-tape source refinement**. It is not +an emitted flat transition table, and its tests do not run this service through +A's `Controller.execute_table`. Section 6 gives the finite-control refinement +argument. A table-format exporter remains an integration task, not an experiment +claimed to have been performed here. + +The exact predecessors are: + +* [#3055](https://github.com/CrocSwap/integer-mult-bounds/pull/3055), + `research/physical-complex-compact`, at canonical + `7c49fe32c55de02c2c873655c804b16e4c3fef0a`: encoded Compact controls, + literal rotations, complete exceptional repair, final bit gate, fixed roles, + and the completed ordinary boundary. These mechanisms are inherited. +* Its ordinary supplier [#2899](https://github.com/CrocSwap/integer-mult-bounds/pull/2899) + at `2f0911ad735643a069b9790302fbf179e49f74f8`, and compact word + [#2250](https://github.com/CrocSwap/integer-mult-bounds/pull/2250) at + `d404b48a1e7b147556b309497d55089c837dddb2`. +* [#5445](https://github.com/CrocSwap/integer-mult-bounds/pull/5445), + `research/selected-monomial-tape-lift`, at the same canonical base: + `XROW(target,source)` acts on every selected column with zero phase. +* [#5443](https://github.com/CrocSwap/integer-mult-bounds/pull/5443)'s executor + and [#6878](https://github.com/CrocSwap/integer-mult-bounds/pull/6878)'s + occurrence interface, through the exact public current-source exports + [A, owned lifecycle](https://github.com/CubeJerry/integer-mult-bounds/tree/ab239cb6ee884e7a900dd9101c34448077fad0b0/research/compiled-owned-bank-lifecycle) + and [B, row/occurrence dispatcher](https://github.com/CubeJerry/integer-mult-bounds/tree/5c59d247d51c6e1fca0dead3ed2139b6802b3a15/research/compiled-row-stock-dispatch). + +The new content is the actual complete-field/descriptor/encoding join and its +whole current-call cleanup. It is not another construction of Compact or a +record-list census. The ordinary supplier's all-size endpoint, rate and backing +contracts remain named predecessors. A valid common numeric record format, +current source placement, root descriptor and ordinary-caller contract are +inherited from A/B. No Gaussian phase, nonpermutation native operation, scalar +precision estimate, root producer or analytic recovery theorem is supplied. + +The pinned historical exponent is `tau_B1=99830289/100000000`. It is not the +selected `.0034` primitive saving. Section 9 gives the exact rate implication +limit. All five selected assumptions and `kappa=781451/250000000` remain unchanged. + +## 2. Complete current input and requested endpoint + +Fix a final template rank `N>=2` and distinct compiled block indices `s,t=1`, `K,G,H>0`, `0<=rho_B