From 00f326845c0614366bef11ee6901ae6295af4999 Mon Sep 17 00:00:00 2001 From: William Lawyer <341818318+WilliamLawyer@users.noreply.github.com> Date: Tue, 13 Oct 2026 00:17:35 -0600 Subject: [PATCH] Audit radix-9 coefficient and factor certificates algebraically Contribution attributed to William Lawyer, with substantial OpenAI Codex assistance in derivation, implementation, verification and writing. No new kappa or defect is claimed. --- .github/workflows/radix9-algebraic-audit.yml | 36 + research/radix9-algebraic-audit/CLAIM.md | 75 ++ research/radix9-algebraic-audit/EXPECTED.json | 648 ++++++++++++++++++ research/radix9-algebraic-audit/NOTICE.md | 55 ++ research/radix9-algebraic-audit/PROOF.md | 202 ++++++ research/radix9-algebraic-audit/README.md | 48 ++ research/radix9-algebraic-audit/SOURCE.json | 30 + research/radix9-algebraic-audit/VALIDATION.md | 55 ++ .../radix9-algebraic-audit/test_verify.py | 97 +++ .../vendor/FACTORS.json | 402 +++++++++++ .../radix9-algebraic-audit/vendor/NOTICE.md | 24 + .../radix9-algebraic-audit/vendor/SOURCE.json | 18 + .../vendor/interval_kernel.py | 61 ++ research/radix9-algebraic-audit/verify.py | 400 +++++++++++ 14 files changed, 2151 insertions(+) create mode 100644 .github/workflows/radix9-algebraic-audit.yml create mode 100644 research/radix9-algebraic-audit/CLAIM.md create mode 100644 research/radix9-algebraic-audit/EXPECTED.json create mode 100644 research/radix9-algebraic-audit/NOTICE.md create mode 100644 research/radix9-algebraic-audit/PROOF.md create mode 100644 research/radix9-algebraic-audit/README.md create mode 100644 research/radix9-algebraic-audit/SOURCE.json create mode 100644 research/radix9-algebraic-audit/VALIDATION.md create mode 100644 research/radix9-algebraic-audit/test_verify.py create mode 100644 research/radix9-algebraic-audit/vendor/FACTORS.json create mode 100644 research/radix9-algebraic-audit/vendor/NOTICE.md create mode 100644 research/radix9-algebraic-audit/vendor/SOURCE.json create mode 100644 research/radix9-algebraic-audit/vendor/interval_kernel.py create mode 100644 research/radix9-algebraic-audit/verify.py diff --git a/.github/workflows/radix9-algebraic-audit.yml b/.github/workflows/radix9-algebraic-audit.yml new file mode 100644 index 0000000000..fa86e67fc9 --- /dev/null +++ b/.github/workflows/radix9-algebraic-audit.yml @@ -0,0 +1,36 @@ +name: Radix-9 algebraic coefficient audit + +on: + push: + paths: + - 'research/radix9-algebraic-audit/**' + - '.github/workflows/radix9-algebraic-audit.yml' + pull_request: + paths: + - 'research/radix9-algebraic-audit/**' + - '.github/workflows/radix9-algebraic-audit.yml' + workflow_dispatch: + +permissions: + contents: read + +jobs: + audit: + runs-on: ubuntu-24.04 + timeout-minutes: 5 + strategy: + matrix: + python-version: ['3.11', '3.14'] + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + with: + persist-credentials: false + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7 + with: + python-version: ${{ matrix.python-version }} + - name: Check independent coefficient and factor evidence + run: python -B -I -O research/radix9-algebraic-audit/verify.py + - name: Check failure detection and offline relocation + run: python -B -I -O research/radix9-algebraic-audit/test_verify.py + - name: Require unchanged tracked inputs and receipts + run: git diff --exit-code diff --git a/research/radix9-algebraic-audit/CLAIM.md b/research/radix9-algebraic-audit/CLAIM.md new file mode 100644 index 0000000000..90c04565c0 --- /dev/null +++ b/research/radix9-algebraic-audit/CLAIM.md @@ -0,0 +1,75 @@ +# Sprint claim + +- Contributor: William Lawyer, with substantial OpenAI Codex assistance. +- Track: adversarial mathematical audit; operating-system assignment seed 73 + (one Python `secrets.randbelow(100)` draw). +- Base commit: `66849e1475c930fd7732b1a0067ffee7e1e95f60`. +- Scope: PR628's radix-9 kernel coefficient enclosures and the coefficient-error + interface of its submitted approximate factor certificate. Pin: + `0768f97d06c623b8211e651543c66135796b62bf`. +- Method: isolate the real algebraic root of `x^3-3x+1` in `(3/2,8/5)`, + use a rational square-root enclosure for its positive imaginary component, + and derive kernel coefficients by division in `Q[X]/(X^6+X^3+1)`. + This is separate from PR628's Machin-pi/Taylor-exponential enclosure engine. +- Domain: all six primitive embeddings of radix 9, plus every radix-9 row in + the pinned factor certificate. Seed 73 selects index `73 mod 3 = 1` from + the candidate radices `[7,9,16]` and will select coefficient mutation sites. +- Deliverable: scoped audit note, independent exact checker, deterministic + evidence and mathematical negative controls; no new kappa claim. +- Start: 2026-10-13 05:27:13 UTC (2026-10-12 23:27:13 America/Denver). +- Finish deadline: 2026-10-13 06:27:13 UTC. Verification and handoff receive + at least the final 15 minutes of the 60-minute budget. + +## Selection and overlap + +Three narrow candidates were inspected: (1) PR628's coefficient enclosure / +factorization interface; (2) PR666's excluded-prime modular lifting interface; +(3) selected cold-helper lifetime / no-later-touch accounting. Candidate (1) +was chosen because the independent closed-coefficient checks in PR628 cover +radices 4 and 8, while radix 9 can use a different exact algebraic method. +PR666 already supplies its own modular witnesses, and PR729 specifically +audits helper lifetimes. Neither rejected candidate is reopened here. + +The required contribution guide, selected certificate, status, review ledger, +selected construction/review, retained recurrence note and research index +were inspected. At the recorded base, main selected #626 with #543, conditional +`kappa=0.001635527380375392`; this audit does not modify those sources. + +The public inventory contained 597 distinct open PRs across six pages, with +a created-order refresh through #786 immediately before this local claim. +Related #663/#673/#689/#730/#744/#758/#784 concern dirty echoes; +#692 concerns weighted-stride inverses; #764 sharpens scan rounding; +#666/#668/#736 concern cyclic nonvanishing or arithmetic replay. +Their work is distinct from the radix-9 coefficient audit. Pending work is +not treated as accepted. A final overlap refresh is required before handoff. + +The open issue search returned only #650 (Discussions), with no pinned sprint +coordination issue visible. The claim is therefore recorded locally, as +permitted by the sprint instructions; no reservation issue is created. + +## Result update + +Completed a scoped independent audit: all 54 coefficient rectangles across +six primitive radix-9 embeddings contain the independent algebraic enclosures. +Both submitted radix-9 factor rows pass the inherited target budget, and all +15 mathematical controls are rejected. No defect or new kappa is claimed. +See [PROOF.md](PROOF.md), [EXPECTED.json](EXPECTED.json) and +[VALIDATION.md](VALIDATION.md). Attribution is to William Lawyer with the +assistance disclosure and predecessor credits in [NOTICE.md](NOTICE.md). + +The initial handoff refresh through #799 found the related #796 p-adic +valuation audit; it is credited and distinguished from this complex-enclosure +check. Main and the pinned PR628 head remained unchanged. Publishing access +was unavailable at that handoff, so a focused clean patch and prepared PR +description were produced. The subsequent publication refresh at +2026-10-13 06:07:46 UTC covered arrivals through #810. Related #803 and #804 +were inspected and credited in NOTICE.md; neither checks these complex +coefficient rectangles and submitted factor residuals. Main and PR628 +remained at the recorded pins. No remote coordination claim was posted. + +The final submission check at 2026-10-13 06:14:25 UTC covered arrivals +through #811 (an unrelated JP8 circuit contribution). Main had advanced to +`7ee02b7c96d85f22b38d28bd7ed49bb8c1aeb261`; its selected certificate and +current-status note now identify #741 with #589 on #555, conditional +`kappa=0.001661202643272239`. The research base and audited PR628 head +remain pinned above. This audit neither changes nor verifies that new frontier. diff --git a/research/radix9-algebraic-audit/EXPECTED.json b/research/radix9-algebraic-audit/EXPECTED.json new file mode 100644 index 0000000000..f9f427e96c --- /dev/null +++ b/research/radix9-algebraic-audit/EXPECTED.json @@ -0,0 +1,648 @@ +{ + "status": "PASS_RADIX9_ALGEBRAIC_AUDIT", + "contributor": "William Lawyer", + "assignment_seed": 73, + "base_commit": "66849e1475c930fd7732b1a0067ffee7e1e95f60", + "predecessor_head": "0768f97d06c623b8211e651543c66135796b62bf", + "root_isolation_bits": 2048, + "field_modulus": [ + 1, + 0, + 0, + 1, + 0, + 0, + 1 + ], + "root_rectangle": [ + [ + "12378131459585036376716719627041847824756556358968491351632824477440404409330594830088100063831555657505644166603178330369984550414718912098857721994444059460598253390486481221823199773174889713184274374091524388624004014169960034191017261762504254807804693522370998313169173640216200914288341768861668389784260367209296761780434481466265714334593048975087784046910444238477255306585570129733516477306602795486371452430688678846240404630388811099550635333907856118690034067780626182464887939959088084457490861190405850405262854536583754352341093401726958704716713564569702590897850899069416345430828388027818442399451/16158503035655503650357438344334975980222051334857742016065172713762327569433945446598600705761456731844358980460949009747059779575245460547544076193224141560315438683650498045875098875194826053398028819192033784138396109321309878080919047169238085235290822926018152521443787945770532904303776199561965192760957166694834171210342487393282284747428088017663161029038902829665513096354230157075129296432088558362971801859230928678799175576150822952201848806616643615613562842355410104862578550863465661734839271290328348967522998634176499319107762583194718667771801067716614802322659239302476074096777926805529798115328", + "49512525838340145506866878508167391299026225435873965406531297909761617637322379320352400255326222630022576666412713321479938201658875648395430887977776237842393013561945924887292799092699558852737097496366097554496016056679840136764069047050017019231218774089483993252676694560864803657153367075446673559137041468837187047121737925865062857338372195900351136187641776953909021226342280518934065909226411181945485809722754715384961618521555244398202541335631424474760136271122504729859551759836352337829963444761623401621051418146335017409364373606907834818866854258278810363591403596277665381723313552111273769597805/64634012142622014601429753377339903920888205339430968064260690855049310277735781786394402823045826927377435921843796038988239118300981842190176304772896566241261754734601992183500395500779304213592115276768135136553584437285239512323676188676952340941163291704072610085775151783082131617215104798247860771043828666779336684841369949573129138989712352070652644116155611318662052385416920628300517185728354233451887207436923714715196702304603291808807395226466574462454251369421640419450314203453862646939357085161313395870091994536705997276431050332778874671087204270866459209290636957209904296387111707222119192461312" + ], + [ + "41545942169606762910341391005790769870179846902833357667371563296595763976151319416575501592751956329947598746358283688816138326211818826332542075881732187402664308378693978820323157163631504498258246974981515365925379192570507972236503127443219038907561552834416076220177660787930451443784538248522885010216531057750850775832885183656677915665249633631638093134914032665268810397798921234316701829152154219223249618935914189739264003956839261519970344558107203020887039237209812486327244007707626033802635125737134493333467629692242726057479735832083093275394847256621110241945921697050811675650409294360946899467485/64634012142622014601429753377339903920888205339430968064260690855049310277735781786394402823045826927377435921843796038988239118300981842190176304772896566241261754734601992183500395500779304213592115276768135136553584437285239512323676188676952340941163291704072610085775151783082131617215104798247860771043828666779336684841369949573129138989712352070652644116155611318662052385416920628300517185728354233451887207436923714715196702304603291808807395226466574462454251369421640419450314203453862646939357085161313395870091994536705997276431050332778874671087204270866459209290636957209904296387111707222119192461312", + "1298310692800211340948168468930961558443120215713542427105361353018617624254728731767984424773498635310862460823696365275504322694119338322891939871304130856333259636834186838135098661363484515570570217968172355185168099767828374132390722732600594965861298526075502381880551899622826607618266820266340156569266595554714086744777661989271184864539051050988690410466063520789650324931216288572396932161004819350726550591747318429352000123651226922499073267440850094402719976162806640197726375240863313556332347679285452916670863427882585189296241744752596664856088976769409695060810053032837864864075290448779590608359/2019812879456937956294679793041871997527756416857217752008146589220290946179243180824825088220182091480544872557618626218382472446905682568443009524153017695039429835456312255734387359399353256674753602399004223017299513665163734760114880896154760654411352865752269065180473493221316613037972024945245649095119645836854271401292810924160285593428511002207895128629862853708189137044278769634391162054011069795371475232403866084849896947018852869025231100827080451951695355294426263107822318857933207716854908911291043620940374829272062414888470322899339833471475133464576850290332404912809509262097240850691224764416" + ] + ], + "primitive_embeddings": [ + 1, + 2, + 4, + 5, + 7, + 8 + ], + "exact_coefficients_power_basis": { + "1": [ + [ + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "2/3", + "2/3", + "2/3", + "1/3", + "1/3", + "1/3" + ], + [ + "0", + "1/3", + "2/3", + "0", + "2/3", + "1/3" + ], + [ + "0", + "0", + "1/3", + "0", + "1/3", + "1/3" + ], + [ + "0", + "0", + "0", + "0", + "1/3", + "0" + ], + [ + "1/9", + "1/9", + "1/9", + "-1/9", + "2/9", + "2/9" + ], + [ + "0", + "1/9", + "1/9", + "-1/9", + "1/9", + "1/9" + ], + [ + "1/9", + "0", + "1/9", + "0", + "0", + "1/9" + ], + [ + "1/9", + "0", + "0", + "0", + "0", + "0" + ] + ], + "2": [ + [ + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/3", + "1/3", + "1/3", + "-1/3", + "2/3", + "-1/3" + ], + [ + "0", + "1/3", + "-1/3", + "0", + "2/3", + "-2/3" + ], + [ + "0", + "1/3", + "-1/3", + "0", + "1/3", + "-1/3" + ], + [ + "0", + "0", + "-1/3", + "0", + "0", + "-1/3" + ], + [ + "2/9", + "2/9", + "-1/9", + "1/9", + "1/9", + "-2/9" + ], + [ + "1/9", + "1/9", + "0", + "1/9", + "1/9", + "-1/9" + ], + [ + "1/9", + "1/9", + "0", + "0", + "1/9", + "0" + ], + [ + "1/9", + "0", + "0", + "0", + "0", + "0" + ] + ], + "4": [ + [ + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "2/3", + "-1/3", + "-1/3", + "1/3", + "1/3", + "-2/3" + ], + [ + "0", + "-2/3", + "-1/3", + "0", + "-1/3", + "-2/3" + ], + [ + "0", + "-1/3", + "0", + "0", + "-1/3", + "-1/3" + ], + [ + "0", + "-1/3", + "0", + "0", + "-1/3", + "0" + ], + [ + "1/9", + "-2/9", + "1/9", + "-1/9", + "-1/9", + "-1/9" + ], + [ + "0", + "-1/9", + "0", + "-1/9", + "0", + "-1/9" + ], + [ + "1/9", + "0", + "0", + "0", + "0", + "-1/9" + ], + [ + "1/9", + "0", + "0", + "0", + "0", + "0" + ] + ], + "5": [ + [ + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/3", + "1/3", + "1/3", + "-1/3", + "-1/3", + "2/3" + ], + [ + "0", + "1/3", + "2/3", + "0", + "-1/3", + "1/3" + ], + [ + "0", + "0", + "1/3", + "0", + "-1/3", + "0" + ], + [ + "0", + "0", + "1/3", + "0", + "0", + "0" + ], + [ + "2/9", + "-1/9", + "2/9", + "1/9", + "-2/9", + "1/9" + ], + [ + "1/9", + "0", + "1/9", + "1/9", + "-1/9", + "1/9" + ], + [ + "1/9", + "0", + "0", + "0", + "-1/9", + "0" + ], + [ + "1/9", + "0", + "0", + "0", + "0", + "0" + ] + ], + "7": [ + [ + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "2/3", + "-1/3", + "-1/3", + "1/3", + "-2/3", + "1/3" + ], + [ + "0", + "1/3", + "-1/3", + "0", + "-1/3", + "1/3" + ], + [ + "0", + "1/3", + "-1/3", + "0", + "0", + "0" + ], + [ + "0", + "1/3", + "0", + "0", + "0", + "0" + ], + [ + "1/9", + "1/9", + "-2/9", + "-1/9", + "-1/9", + "-1/9" + ], + [ + "0", + "0", + "-1/9", + "-1/9", + "-1/9", + "0" + ], + [ + "1/9", + "0", + "-1/9", + "0", + "0", + "0" + ], + [ + "1/9", + "0", + "0", + "0", + "0", + "0" + ] + ], + "8": [ + [ + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/3", + "-2/3", + "-2/3", + "-1/3", + "-1/3", + "-1/3" + ], + [ + "0", + "-2/3", + "-1/3", + "0", + "-1/3", + "1/3" + ], + [ + "0", + "-1/3", + "0", + "0", + "0", + "1/3" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1/3" + ], + [ + "2/9", + "-1/9", + "-1/9", + "1/9", + "1/9", + "1/9" + ], + [ + "1/9", + "-1/9", + "-1/9", + "1/9", + "0", + "0" + ], + [ + "1/9", + "-1/9", + "0", + "0", + "0", + "0" + ], + [ + "1/9", + "0", + "0", + "0", + "0", + "0" + ] + ] + }, + "exact_geometric_inverse_identities": 48, + "exact_recurrence_identities": 48, + "exact_conjugation_identities": 27, + "coefficient_comparisons": [ + { + "embedding": 1, + "coefficients": 9, + "real_intervals": 18, + "independent_enclosures_contained": true + }, + { + "embedding": 2, + "coefficients": 9, + "real_intervals": 18, + "independent_enclosures_contained": true + }, + { + "embedding": 4, + "coefficients": 9, + "real_intervals": 18, + "independent_enclosures_contained": true + }, + { + "embedding": 5, + "coefficients": 9, + "real_intervals": 18, + "independent_enclosures_contained": true + }, + { + "embedding": 7, + "coefficients": 9, + "real_intervals": 18, + "independent_enclosures_contained": true + }, + { + "embedding": 8, + "coefficients": 9, + "real_intervals": 18, + "independent_enclosures_contained": true + } + ], + "factor_certificates": [ + { + "embedding": 1, + "inner_factors": 1, + "outer_factors": 7, + "beta": "1/1024", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128, + "coefficient_residual_le_power2": -1020, + "rounded_execution_error_le_power2": -659, + "total_error_le_power2": -658, + "inverse_norm_bound": "10880332376531662572355584", + "scope": "Coefficient interface and inherited norm/rounding inequalities; no scan replay." + }, + { + "embedding": 2, + "inner_factors": 0, + "outer_factors": 8, + "beta": "1/128", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128, + "coefficient_residual_le_power2": -1020, + "rounded_execution_error_le_power2": -689, + "total_error_le_power2": -688, + "inverse_norm_bound": "648518346341351424", + "scope": "Coefficient interface and inherited norm/rounding inequalities; no scan replay." + } + ], + "positive_conjugation_controls": [ + { + "control": "conjugated factors", + "embedding": 8, + "inner_factors": 1, + "outer_factors": 7, + "beta": "1/1024", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128, + "coefficient_residual_le_power2": -1020, + "rounded_execution_error_le_power2": -659, + "total_error_le_power2": -658, + "inverse_norm_bound": "10880332376531662572355584", + "scope": "Coefficient interface and inherited norm/rounding inequalities; no scan replay." + }, + { + "control": "conjugated factors", + "embedding": 7, + "inner_factors": 0, + "outer_factors": 8, + "beta": "1/128", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128, + "coefficient_residual_le_power2": -1020, + "rounded_execution_error_le_power2": -689, + "total_error_le_power2": -688, + "inverse_norm_bound": "648518346341351424", + "scope": "Coefficient interface and inherited norm/rounding inequalities; no scan replay." + } + ], + "factor_reordering_controls": 2, + "mathematical_negative_controls": [ + { + "name": "wrong embedding enclosure", + "rejected_by": "coefficient enclosure j=1 axis=1" + }, + { + "name": "omitted conjugation", + "rejected_by": "coefficient enclosure j=1 axis=1" + }, + { + "name": "seed-selected coefficient perturbation", + "rejected_by": "coefficient enclosure j=1 axis=0" + }, + { + "name": "k=1: unit root", + "rejected_by": "stable factor margin" + }, + { + "name": "k=1: missing root", + "rejected_by": "factor count" + }, + { + "name": "k=1: insufficient precision", + "rejected_by": "complete target error" + }, + { + "name": "k=1: changed root", + "rejected_by": "Neumann residual admission" + }, + { + "name": "k=1: wrong factor embedding", + "rejected_by": "Neumann residual admission" + }, + { + "name": "k=1: omitted 1/r normalization", + "rejected_by": "Neumann residual admission" + }, + { + "name": "k=2: unit root", + "rejected_by": "stable factor margin" + }, + { + "name": "k=2: missing root", + "rejected_by": "factor count" + }, + { + "name": "k=2: insufficient precision", + "rejected_by": "complete target error" + }, + { + "name": "k=2: changed root", + "rejected_by": "Neumann residual admission" + }, + { + "name": "k=2: wrong factor embedding", + "rejected_by": "Neumann residual admission" + }, + { + "name": "k=2: omitted 1/r normalization", + "rejected_by": "Neumann residual admission" + } + ], + "scope": "Finite radix-9 audit; conditional on PR628 scan and operator analysis. No new kappa, complete multiplication proof, or all-radix claim." +} diff --git a/research/radix9-algebraic-audit/NOTICE.md b/research/radix9-algebraic-audit/NOTICE.md new file mode 100644 index 0000000000..3df6189d0c --- /dev/null +++ b/research/radix9-algebraic-audit/NOTICE.md @@ -0,0 +1,55 @@ +# Attribution, license and assistance disclosure + +Contribution attributed to **William Lawyer**. Substantial OpenAI Codex +assistance was used for task selection, derivation, code, tests, review and +writing. No independent human mathematical review is claimed. + +Chafik Boukhalfa / chafreaky's PR628 +(`0768f97d06c623b8211e651543c66135796b62bf`) supplies the audited interval +implementation, dyadic factor nominations, stable-factor model, scan bounds +and coefficient-to-operator perturbation context. Its radix-4 and radix-8 +algebraic crosschecks are acknowledged predecessors of this radix-9 audit. +The original interval code, factor file and notices are preserved unchanged +under `vendor/`. + +Ali Romman / aliromman's incorporated PR621 +(`520774462b19b29af41554b74def31f9d01e997e`) supplies prime-power circle +nonvanishing and the uniform inverse-conditioning context. OpenAI's pinned +exact-DFT preprint (`adc7f1241b42e322a6451854ab7e4b4c146bf78a`), classical +q-Pochhammer/Newton factorization, Alexey Kuznetsov's cited q-calculus work, +Pan's approximate-factorization theorem as presented by Mehlhorn, Sagraloff +and Wang, and Brent's elementary-function algorithms retain the specific +credits recorded in `vendor/NOTICE.md` and `vendor/SOURCE.json`. The new +independent enclosure code does not implement those numerical algorithms. + +Concurrent related work is credited without being imported or treated as +accepted: PR663 audits nonlinear restoration; PR692 checks weighted-stride +inverses; PR764 sharpens cyclic-scan rounding; PR666 supplies composite +Bezout certificates; PR668 checks resultants with CRT; PR736 improves the +incorporated resultant replay. This contribution isolates a different +coefficient-enclosure dependency and imports none of those implementations. + +The final overlap refresh also found Hao Yan / FanPUYen's PR796 +(`22902155c7875139e43e4fdf15723142d6709bdd`), which derives nonarchimedean +root valuations and independently reconstructs cyclotomic coefficients. +That related exact arithmetic work is credited; it does not audit PR628's +complex coefficient rectangles or the two dyadic factor residuals checked here. +No PR796 implementation or result is a dependency of this package. + +The publication refresh found Rafael Guevara / alephnan's PR803 +(`d213ac12d4a1ab8f717d942e844df318ceb395fb`), a degree-controlled complex +inverse-norm bound, and navinor's PR804 +(`1f387e7090359165a0df046183eb8fa16c246d7d`), integral-divisibility +verification of the p-adic valuations with additional radix-81 coverage. +Both are related context, with different obligations from this finite +radix-9 interval-containment and submitted-factor audit. Neither is imported +or used to change the inherited execution-error formulas. + +The cubic/cyclotomic identities, bisection, rational interval arithmetic and +finite geometric inverse identity are standard. No literature-priority claim +is made. "Independent" describes a separate arithmetic implementation and +algebraic derivation; it does not mean independent human authorship, formal +verification, maintainer acceptance, or a new multiplication exponent. + +New code and documents are provided under the repository's Apache-2.0 +license. The unchanged predecessor files retain their original notices. diff --git a/research/radix9-algebraic-audit/PROOF.md b/research/radix9-algebraic-audit/PROOF.md new file mode 100644 index 0000000000..a10b9a4a56 --- /dev/null +++ b/research/radix9-algebraic-audit/PROOF.md @@ -0,0 +1,202 @@ +# Radix-9 coefficient-interface audit + +This note audits the coefficient input to Chafik Boukhalfa's PR628, pinned at +`0768f97d06c623b8211e651543c66135796b62bf`. It uses a different exact construction +from that package's Machin-pi/Taylor-exponential interval engine. No defect was +found in the stated finite scope. This is an independent arithmetic path, not +independent human review or a proof-assistant theorem. + +## Object and dependencies + +For `u = exp(2*pi*i*k/9)`, `k in {1,2,4,5,7,8}`, the subject is + +``` +h_0 = 1, +h_j = h_(j-1)/(1-u^j), 1 <= j <= 8, +P_k(z) = sum_(j=0)^8 h_j z^j. +``` + +PR628's `interval_kernel.kernel(9,k)` encloses these coefficients by evaluating +the backward tail products using a 1536-bit interval approximation of the root +of unity. Its submitted factor rows for `(9,1)` and `(9,2)` are claimed to give +small coefficient residuals, which enter an inverse-operator perturbation bound. +The predecessor's independent closed-coefficient checks cover radices 4 and 8; +the present audit supplies an algebraic path for radix 9 and all its embeddings. + +The subject and its original notices are copied byte for byte in `vendor/`. +`SOURCE.json` binds the Git head, original paths and SHA256 values. The full +original `FACTORS.json` is retained to make selecting its two radix-9 rows +reviewable; other radices are neither accepted nor audited by this checker. + +## 1. Select the primitive root without pi or trigonometry + +Let `t` be the unique root of + +``` +p(t) = t^3 - 3t + 1 +``` + +in `(3/2,8/5)`. At the left endpoint `p=-1/8`; at the right endpoint +`p=37/125`. The derivative `3t^2-3` is positive throughout the interval. +Consequently a sign-changing bracket in this interval identifies exactly one +root. The checker bisects on a fixed integer grid `S=2^2048`, checking the +integer polynomial numerator at each comparison. It returns adjacent grid +points `a/S < t < b/S` and rechecks their strict signs. + +Define + +``` +u = (t + i sqrt(4-t^2))/2, +``` + +with the positive square root. Then `|u|=1`, `Re(u)>3/4`, `Im(u)>0`, and +`u+u^-1=t`. The cubic identity implies + +``` +u^3 + u^-3 = -1, +u^6 + u^3 + 1 = 0. +``` + +Thus `u` is a primitive ninth root. The real and imaginary signs select the +root with angle between zero and `pi/3`; its cube is the upper primitive cube +root. It is therefore `exp(2*pi*i/9)`. This argument identifies the embedding; +no numerical value of pi, exponential or trigonometric function is evaluated. + +For the imaginary part, monotonicity gives + +``` +sqrt(4-(b/S)^2) < sqrt(4-t^2) < sqrt(4-(a/S)^2). +``` + +The lower endpoint is bounded downward by +`isqrt(4S^2-b^2)/S`; the upper endpoint is bounded upward by +`(isqrt(4S^2-a^2)+1)/S`. Integer squaring checks those directions. +Dividing both real and imaginary intervals by two gives a rational rectangle +containing exactly the intended root. Subsequent arithmetic uses exact +`Fraction` endpoints without floating-point rounding. + +## 2. Construct the coefficients in a cyclotomic field + +Work in `K=Q[X]/(X^6+X^3+1)`, with `X` corresponding to the root above. +The modulus is `Phi_9`, so the six power-basis coordinates determine an +element uniquely. Multiplication reduces by `X^6=-X^3-1`. + +For each of the six primitive embeddings use `u_k=X^k`. For `1<=j<=8`, +put `v=u_k^j`. Its order is either 3 or 9, hence `v^9=1`, `v!=1`, and +`sum_(a=0)^8 v^a=0`. Telescoping then gives + +``` +(1-v) sum_(a=1)^8 a v^a = -9, +(1-v)^-1 = -(1/9) sum_(a=1)^8 a v^a. +``` + +This includes `j=3,6`; it does not incorrectly require every `u_k^j` to be +primitive of order 9. Starting at `h_0=1`, multiply by this exact inverse for +each successive `j`. The checker separately verifies all eight inverse +identities and all eight recurrences for every embedding in the quotient +field. It also verifies `h_8=1/9` and the 27 conjugation identities pairing +embeddings `(1,8)`, `(2,7)` and `(4,5)`. + +This construction uses forward division via a finite weighted geometric sum. +It imports neither the predecessor's tail-product code nor its arithmetic. +Exact rational interval Horner evaluation at the independently isolated `X` +then encloses each coefficient's real and imaginary components. + +## 3. Audit the predecessor's enclosures by containment + +For each embedding, the independent rectangle is required to be wholly +contained in the predecessor's rectangle, component by component. Merely +overlapping intervals would not suffice: both could overlap while the claimed +outer rectangle misses the true coefficient. Independent containment, together +with Sections 1-2, proves the claimed inclusion for these 54 coefficients. +All 108 real-component containment checks pass. + +`EXPECTED.json` contains the isolating root rectangle and all 54 exact +six-coordinate field elements, in addition to the summarized comparisons. +For example, embedding 1 gives `h_4=X^4/3` and `h_8=1/9` exactly. + +The exact algebraic coefficients and their enclosures are computed before the +subject module is loaded. That module is used solely to supply the rectangles +being audited. Its pi/Taylor implementation is not an oracle for the audit's +field elements, embedding choice, square roots or factor residuals. + +## 4. Audit the two submitted factor certificates + +For each submitted radix-9 row, expand the eight given dyadic complex roots +exactly to form + +``` +Q(z) = (1/9) product_(j=1)^8 (z-rho_j). +``` + +Check the declared dyadic representation limit and, using rational squared +moduli, the row's stable margin `beta`: + +``` +|rho| <= 1-beta for an inner root, +|1/rho| <= 1-beta for an outer root. +``` + +For every coefficient of `Q`, maximize the absolute difference against both +endpoints of each independent real and imaginary interval. Summing these +maxima bounds `||P-Q||_1`, because `|a+ib| <= |a|+|b|`. Round that bound upward +to the next power of two. Both submitted rows give + +``` +||P-Q||_1 <= epsilon = 2^-1020. +``` + +The remaining operator/scan analysis is inherited from PR628; this audit +checks its rational substitutions, rather than claiming another execution +replay or a new proof of its scan theorem. In its unit-shift model, +`A=9 beta^-8` bounds `||Q(W)^-1||`. With `A epsilon < 1`, the Neumann +perturbation bound gives + +``` +||P(W)^-1-Q(W)^-1|| <= A^2 epsilon/(1-A epsilon). +``` + +For unit-bounded input, grid `u=2^-w`, and +`alpha=beta^-1+7u beta^-3`, the predecessor's rounding recurrence has the +closed form + +``` +E_8 = 7u beta^-3 sum_(j=0)^7 alpha^(7-j) (9 beta^-j + 1). +``` + +The independent checker evaluates this sum exactly, checks +`u<=beta^2/2`, and rounds `E_8` upward to a power of two. It adds the +perturbation bound and checks the submitted `2^-128` target. + +| Embedding | Inner / outer factors | beta | Coefficient residual | Execution bound | Combined bound | +|---|---:|---:|---:|---:|---:| +| 1 | 1 / 7 | 1/1024 | <= 2^-1020 | <= 2^-659 | <= 2^-658 | +| 2 | 0 / 8 | 1/128 | <= 2^-1020 | <= 2^-689 | <= 2^-688 | + +These are conservative bounds on the existing 768-bit certificate settings, +not observed errors, new execution settings, or a performance improvement. +Reversing the roots preserves the result; conjugating all roots validates +the corresponding embeddings 8 and 7 as positive controls. + +## 5. Adversarial evidence and limits + +Fifteen mathematical mutations must fail at the named condition: wrong +embedding enclosure; omitted conjugation; a `2^-256` perturbation to the +seed-selected coefficient; and, for each submitted row, a unit-circle factor, +a missing factor, 128-bit working precision, a `1/16` root perturbation, +wrong factor embedding, and omission of the `1/9` normalization. +The seed selects coefficient `73 mod 9 = 1` and factor `73 mod 8 = 1`. +Valid conjugation and factor reordering are accepted, so the tests do not +merely require the original literal row to remain unchanged. + +This is exhaustive over the six primitive radix-9 embeddings and both +radix-9 rows in the pinned certificate. It is not a parameter search, +an impossibility theorem, or a uniform verification over all radices. +No issue is alleged in PR628. Its scan analysis, factor-preparation +complexity, phase approximation, dirty restoration, routing, full-transform +composition and all multiplication interfaces remain outside the audit. +The inherited selected result is conditional and remains unchanged. + +Prepared for William Lawyer with substantial OpenAI Codex assistance. +Attribution and related work are in `NOTICE.md`; no literature-priority, +independent human review, or formal full-theorem claim is made. diff --git a/research/radix9-algebraic-audit/README.md b/research/radix9-algebraic-audit/README.md new file mode 100644 index 0000000000..e0fe1edda2 --- /dev/null +++ b/research/radix9-algebraic-audit/README.md @@ -0,0 +1,48 @@ +# Independent algebraic audit of radix-9 coefficient certificates + +**Result:** PR628's 54 radix-9 kernel coefficient enclosures are independently +corroborated for all six primitive embeddings. Both submitted radix-9 factor +certificates meet their inherited `2^-128` error target. All 15 mathematical +negative controls are rejected. No defect or new kappa is claimed. + +The new checker isolates an algebraic cubic root and works in +`Q[X]/(X^6+X^3+1)`. It uses neither pi nor Taylor/trigonometric approximation +to obtain its independent coefficients. The predecessor's interval engine +is retained solely as the audit subject. See [PROOF.md](PROOF.md). + +From the repository root, with Python 3.10+ and no third-party dependencies: + +```sh +python -B -I -O research/radix9-algebraic-audit/verify.py +``` + +Expected: + +```text +PASS_RADIX9_ALGEBRAIC_AUDIT: 6 embeddings; 54 coefficient enclosures; 2 submitted factor certificates; 15 rejected controls +``` + +The command verifies source hashes and byte-compares its deterministic result +with [EXPECTED.json](EXPECTED.json). An optional `--output fresh-file.json` +writes a new receipt without overwriting an existing file. `--generate` is +an explicit authoring mode that skips the expected-receipt comparison. + +Run the failure-detection and portability checks with: + +```sh +python -B -I -O research/radix9-algebraic-audit/test_verify.py +``` + +Base: `66849e1475c930fd7732b1a0067ffee7e1e95f60`. +Audited PR628 head: `0768f97d06c623b8211e651543c66135796b62bf`. +[SOURCE.json](SOURCE.json) pins original input bytes and paths. +[CLAIM.md](CLAIM.md) records the seed-73 assignment, selection and overlap. +[NOTICE.md](NOTICE.md) retains predecessor credit and AI disclosure. + +This package adds finite evidence at one coefficient interface. The operator +and scan error analysis is inherited from PR628; the audit does not replay its +scan, root finder, phase oracle, dirty restoration, or full transform. It does +not prove the all-radix or full multiplication theorem. The selected frontier +and `upstream/` are unchanged. + +Contributor: **William Lawyer**, with substantial OpenAI Codex assistance. diff --git a/research/radix9-algebraic-audit/SOURCE.json b/research/radix9-algebraic-audit/SOURCE.json new file mode 100644 index 0000000000..27efe9e557 --- /dev/null +++ b/research/radix9-algebraic-audit/SOURCE.json @@ -0,0 +1,30 @@ +{ + "base_commit": "66849e1475c930fd7732b1a0067ffee7e1e95f60", + "predecessor_pr": 628, + "predecessor_head": "0768f97d06c623b8211e651543c66135796b62bf", + "original_factor_path": "research/prime-power-cyclic-scan/FACTORS.json", + "original_factor_sha256": "643d60ac24d5e67f6c9305175bd1c99bf5e42edfef6d1995c051e0b98ba446a7", + "extraction": "All and only rows with radix == 9, preserving field values and order. Two rows, embeddings 1 and 2.", + "files": { + "vendor/interval_kernel.py": { + "sha256": "9b7bb24640a9a7d3f83c7951dfef483ec933db4c50de6c0130b85f450eeddfbe", + "upstream_path": "research/prime-power-cyclic-scan/interval_kernel.py", + "git_blob_sha1": "1182175a55cb871481de0f56ea9ae56e474705fe" + }, + "vendor/NOTICE.md": { + "sha256": "abeacf1ad1491d5797cfcf1f3832799bbf3b24b99597229d7bc884059a51ec68", + "upstream_path": "research/prime-power-cyclic-scan/NOTICE.md", + "git_blob_sha1": "22fbeb8ef0a28dd6b3feea718492091319ceb96e" + }, + "vendor/SOURCE.json": { + "sha256": "38a425e2d3a72a5e39b18b54c728e40407e121d481a1c6423edd5c18e9b68a04", + "upstream_path": "research/prime-power-cyclic-scan/SOURCE.json", + "git_blob_sha1": "59bddaea4d66725bf675a67b6d2cf85a061b1fae" + }, + "vendor/FACTORS.json": { + "sha256": "643d60ac24d5e67f6c9305175bd1c99bf5e42edfef6d1995c051e0b98ba446a7", + "upstream_path": "research/prime-power-cyclic-scan/FACTORS.json", + "git_blob_sha1": "d3894bd2a1660229f1a7ed16c9d982689effc96f" + } + } +} diff --git a/research/radix9-algebraic-audit/VALIDATION.md b/research/radix9-algebraic-audit/VALIDATION.md new file mode 100644 index 0000000000..95332b8780 --- /dev/null +++ b/research/radix9-algebraic-audit/VALIDATION.md @@ -0,0 +1,55 @@ +# Validation and handoff scope + +Local environment: Windows 10 build 26200 as reported by Python; +CPython 3.10.9, MSC v.1934, 64-bit AMD64. No third-party Python packages. + +The following checks passed: + +1. Normal exact replay and isolated optimized replay (`-B -I -O`). The + deterministic receipt records all 54 coefficient enclosures, 48 inverse + and 48 recurrence identities, 27 conjugation identities, both submitted + factor certificates, 15 rejected mathematical controls, two valid factor + reorderings and two valid conjugated factor certificates. +2. Eight focused tests cover invalid primitive embeddings, nested algebraic + root enclosures, rejection of mere interval overlap, upward dyadic bounds, + source/factor corruption, escaping manifest paths, offline relocation into + a path containing spaces, output overwrite protection and forged receipts. +3. All four unchanged vendored files match both SHA256 values and the Git + blob identities returned by GitHub for the pinned PR628 file list. +4. `python -X utf8 -B scripts/verify_selected_result.py` passed: selected + kappa, finite certificate, original source inventory and proof supplements. +5. Staged whitespace validation (`git diff --cached --check`) passed. + +The final exact coefficient/root-rectangle data were added to the receipt +without changing any earlier result: removing those additional certificate +fields reproduces the preceding JSON object exactly. + +This is a new, isolated audit package. It changes neither a production +generator nor the selected construction. The full regenerating `make verify`, +supplier cold replay, PR628 execution/phase/dirty suites, Linux execution, +proof-assistant checks and independent human review were not run or claimed. +The added scoped workflow is configured for Python 3.11 and 3.14; local +validation does not establish its remote CI result. + +The publication metadata refresh at 2026-10-13 06:07:46 UTC covered arrivals +through PR810. Main was `66849e1475c930fd7732b1a0067ffee7e1e95f60`; +PR628 was open at `0768f97d06c623b8211e651543c66135796b62bf`. +PR796's new prime-power valuation audit was inspected and credited in +`NOTICE.md`. It concerns p-adic valuations, not the complex interval and +factor-residual interface investigated here. No competing radix-9 complex +enclosure audit was identified in the inspected metadata. PR803's +degree-controlled inverse norm and PR804's integral-divisibility valuation +checks were also inspected and credited; neither is a dependency. + +At the final submission refresh (2026-10-13 06:14:25 UTC, through PR811), +main had advanced to `7ee02b7c96d85f22b38d28bd7ed49bb8c1aeb261`, selecting +#741 with #589 on #555 at conditional `kappa=0.001661202643272239`. +PR628 remained unchanged. The selected-record integrity check reported above +was run on this audit's original base, not on that subsequent integration. +This standalone audit retains the original base and source pins. + +At the initial patch handoff, submission access was checked through Git's credential manager and the +available browser session. Neither had a signed-in GitHub account, and the +GitHub connector was not installed. A clean patch and prepared PR description +were provided. Connection and publication are a subsequent step; a GitHub PR +or CI result is not implied by the local checks above. diff --git a/research/radix9-algebraic-audit/test_verify.py b/research/radix9-algebraic-audit/test_verify.py new file mode 100644 index 0000000000..49eeb8d2c2 --- /dev/null +++ b/research/radix9-algebraic-audit/test_verify.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python3 +"""Failure-detection and portable offline replay tests for the radix-9 audit.""" +import importlib.util +import json +from pathlib import Path +import shutil +import subprocess +import sys +import tempfile +import unittest +from fractions import Fraction as F + +sys.dont_write_bytecode = True +ROOT = Path(__file__).resolve().parent +spec = importlib.util.spec_from_file_location('radix9_audit', ROOT / 'verify.py') +audit = importlib.util.module_from_spec(spec) +spec.loader.exec_module(audit) + + +class TestAudit(unittest.TestCase): + def test_nonprimitive_embeddings_rejected(self): + for k in (0, 3, 6, 9, -1): + with self.subTest(k=k), self.assertRaisesRegex(audit.AuditError, 'nonprimitive'): + audit.coefficients(k) + + def test_root_enclosures_nest_and_select_positive_chart(self): + coarse, fine = audit.algebraic_root(32), audit.algebraic_root(256) + for outer, inner in zip(coarse, fine): + self.assertLessEqual(outer[0], inner[0]) + self.assertLessEqual(inner[1], outer[1]) + self.assertGreater(fine[0][0], F(3, 4)) + self.assertGreater(fine[1][0], 0) + + def test_overlap_alone_is_rejected(self): + inner = [((F(1), F(2)), (F(0), F(0)))] * 9 + outer = [((F(3, 2), F(3)), (F(0), F(0)))] * 9 + with self.assertRaisesRegex(audit.AuditError, 'coefficient enclosure'): + audit.require_contained(inner, outer) + + def test_upward_power_bounds_at_boundaries(self): + for exponent in (-2048, -128, -1, 0, 1, 64): + value = audit.power2(exponent) + self.assertEqual(audit.upper_power2(value), exponent) + self.assertEqual(audit.upper_power2(value * F(15, 16)), exponent) + self.assertEqual(audit.upper_power2(value * F(17, 16)), exponent + 1) + + def test_modified_subject_and_factor_file_rejected(self): + for name in ('interval_kernel.py', 'FACTORS.json'): + with self.subTest(name=name), tempfile.TemporaryDirectory() as tmp: + target = Path(tmp) / 'audit' + shutil.copytree(ROOT, target) + path = target / 'vendor' / name + path.write_bytes(path.read_bytes() + b'\n') + with self.assertRaisesRegex(audit.AuditError, 'source drift'): + audit.verify_sources(target) + + def test_manifest_cannot_read_outside_package(self): + with tempfile.TemporaryDirectory() as tmp: + target = Path(tmp) / 'audit' + shutil.copytree(ROOT, target) + manifest = json.loads((target / 'SOURCE.json').read_text()) + manifest['files']['../outside'] = {'sha256': 'irrelevant'} + (target / 'SOURCE.json').write_bytes(json.dumps(manifest).encode()) + with self.assertRaisesRegex(audit.AuditError, 'source path containment'): + audit.verify_sources(target) + + def test_offline_relocation_optimized_and_output_protection(self): + with tempfile.TemporaryDirectory(prefix='radix9 audit ') as tmp: + location = Path(tmp) + package = location / 'copied package' + shutil.copytree(ROOT, package) + output = location / 'result.json' + command = [sys.executable, '-B', '-I', '-O', str(package / 'verify.py')] + result = subprocess.run(command + ['--output', str(output)], cwd=location, + capture_output=True, text=True, timeout=60) + self.assertEqual(result.returncode, 0, result.stdout + result.stderr) + self.assertEqual(output.read_bytes(), (ROOT / 'EXPECTED.json').read_bytes()) + original = output.read_bytes() + result = subprocess.run(command + ['--output', str(output)], cwd=location, + capture_output=True, text=True, timeout=60) + self.assertNotEqual(result.returncode, 0) + self.assertIn('output already exists', result.stderr) + self.assertEqual(output.read_bytes(), original) + + def test_forged_expected_receipt_is_rejected(self): + with tempfile.TemporaryDirectory() as tmp: + target = Path(tmp) / 'forged.json' + target.write_bytes(b'{"status":"PASS"}\n') + result = subprocess.run([sys.executable, '-B', '-I', '-O', str(ROOT / 'verify.py'), + '--check', str(target)], cwd=tmp, + capture_output=True, text=True, timeout=60) + self.assertNotEqual(result.returncode, 0) + self.assertIn('expected evidence differs', result.stderr) + + +if __name__ == '__main__': + unittest.main(verbosity=2) diff --git a/research/radix9-algebraic-audit/vendor/FACTORS.json b/research/radix9-algebraic-audit/vendor/FACTORS.json new file mode 100644 index 0000000000..d3894bd2a1 --- /dev/null +++ b/research/radix9-algebraic-audit/vendor/FACTORS.json @@ -0,0 +1,402 @@ +[ + { + "radix": 3, + "embedding": 1, + "roots": [ + [ + "-49530798732358771146118901080958076273052470912342260266258914227109710325121387637640669783171544976658235453737966492290535102314016775076196131137253281608605845416954368911072190053165368500463077348683479820730223655747230034954087192637416985282711781569366341015472238222901103154593890125768068166111/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "13475305001181955152635744113343228941870362999235845156852762789867665164197346764233250937361286208084929252607275859697194884125876348244811537318304219573113812813781235059890295167053180994008138010725194287959555680271101985158640265590661977057048524039192974778963502923615772560082862029626247356915/11235582092889474423308157442431404585112356118389416079589380072358292237843810195794279832650471001320007117491962084853674360550901038905802964414967132773610493339054092829768888725077880882465817684505312860552384417646403930092119569408801702322709406917786643639996702871154982269052209770601514008576" + ], + [ + "-170592372764629843867157976456437557496591605016661465377627293282379593058008669423781376417268214078363699912331157051907114448593591383586878883684704623349440149303389490092308949295538404178253469730760549011796778712019234252302695280536406885179602202888146765328976392461917368148065254242900199873601/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-46411209039859540974176647362240554857493432165837745376222291831822369430116719300153189465225800706342648078500395279868781491155333745970178758722507111433403998868313736485156740909917748907461424289090884948593897673112150836753179290605396652366677201787911857343898640266500768045571317618646184981515/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152" + ] + ], + "beta": "1/32", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128 + }, + { + "radix": 4, + "embedding": 1, + "roots": [ + [ + "18839227606306460928750436776825014273496077882053237212856774153163841259423959845929808348046828320902424357370784726029073309579224150022196016795678227966011136545266483378669974662335269472502528125472018535885295396863622929964034462260120294171947340433492325221872688727385544533583048885326400903597/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "12796926340379968523293584046788682991068081520875261248350397459182248423294625032260126325308015563095435234200881380927938236702421262255195096551267084999719624023209458696352316971284756123109784206671973205284974765619111294724890379061690528176512207203087118838657451331182211930074180553022205037717/11235582092889474423308157442431404585112356118389416079589380072358292237843810195794279832650471001320007117491962084853674360550901038905802964414967132773610493339054092829768888725077880882465817684505312860552384417646403930092119569408801702322709406917786643639996702871154982269052209770601514008576" + ], + [ + "-67937135992698413485848028692002309503217002121030373236286063853851112002834956545147982981350737462809662177353146777437281023159349478379475061510263643694108201092716816673971478633600166383954345966000686009575573734331558302198133439150275018280298091260360209316562436177361876091474717502741308380027/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304", + "5835616822424528393018276731807351617575339522981934688817604363901147520344005371600541622764811103253229296878826668528234697818556822582094397306602957922127281544555831623274134108430066605792876461395490781682749981003075479237572505884700169238753265724966398880489058963937223602091905317904711941499/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304" + ], + [ + "73140002878255602241711158912281750377574232707837598458857400104507930946414903201953646254948585509216110472170409026061261014243757141002856798605902222432653774400735298040913720270819301943861772786445719733578848858120147397354586183800152541785894513923362213804429810043582243527480464796014608479295/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-101965650555502300179425242688687701922297090080040644000576714490063310164897746283818166254598757360914998703650200531654685086831846027226086641171539829015447750993610037727758956893880614628095284026104635045032186714065136378505612299766669091235639722208461448795105675773286000398597466612399588126671/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304" + ] + ], + "beta": "1/32", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128 + }, + { + "radix": 5, + "embedding": 1, + "roots": [ + [ + "18410399432434593285169076294769602275894540638275295419244544381879773242101229303192661033873560946309710294140171891893900372823577853227464636318197065166893737578492060390055766605671671799743745029504200984650324085253453636489088551766233790345264477955593735634726155875498225455897152145422527110857/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304", + "88926944313291886897540182389959275756316664511795052113045934836868436387626350644157761509746590523735127289561482706452011713192888368531757723983026280383546034048812998372260884484021077768824721106874944498264700931287184901932524740060871613024772296891180592599727648764929046216006068462246504374811/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "-167545453603640477774873977068820521490816283320967799058419418306745166535530698475752796883467944874062781699503482002031721106189111733803133269028126037337336557647540282023493990675410251006273872459992624200925878916492155324954465535073616098706096481035319289799489810569175272312690818408702357774707/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "154556349957963769064367096421348364953192572923709918873780464142362058554060160862470338328380796109257170485631887393041866922712420579126848130118663444268007905141768967672162702816973919207497792878550271826416467017062585388767141690359055369161984340591026398951036705551282299373389928249065466957777/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-246025941110189748337782398645962696281966535596390989644134716992878047915802819087254020031137007742552596547220618828803263741659091725736455982888598484589330876923271022291321628747736395867996706991862080909718783945688678933156172363230796038024619721716767295126085355526352538295019215908632644428645/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-80017827675325207808535539612151904575968566998857213977754346138586638701168117409273474539675100516306047838318004762335480802433891996015633286597935493715465198565408881501720917279311214162172063959383782684101469915657487668687514739767345963311117394934914437584673901163128059865890829000565376585079/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "215712256432223249791838888842272962081449782057642246390000600800148072180501294511436300947360881829332748816482640829932179778301978229874156851415522923858548828681148808544326153700577210577826268148302190110772732181100719565734873230271520263077404047413202169567004576671193383551882477838906429979943/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-343345360254883912964398674422494284929201599795775129858953529504351638375339699421889616865554200011416676596545392950323715795619267003477668104686330984199520110843844773329958643601792506764296355657817381043552933491542452533905205092594361844214785757345776857492089057313413558295951124845050277505639/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ] + ], + "beta": "1/64", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128 + }, + { + "radix": 7, + "embedding": 1, + "roots": [ + [ + "120836177722361423700961200616746340939117621826067821546283999942075497210076949759460370715678904626969473270870038244427213482017330996532718477962097048482765518680096123147561488619800104812093083654163138766755667970537231472653449243809561047362543545086368385980168510507433365046715788937161703716085/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "68125532188584294286663341974472312621216872199921619246009406654878430278942492383247031997235044995684216361049673718348715972217344544049530857813500428243332162775155119877092074201530144921889140264057120091137424453307505120185335081880162914431352955991832950471916200413514695655590549673800742347681/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "-23352251484866588814984102757151938020295470378892869474143458720257279649755690100107547794252764950418419952156812046731260229125257633674879904341802608588717478148648944135150233501962993159400202815681865439334171539946279604850805926161998688918951893236128852170350420117380648887992523528703050194783/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "12132115037519896013585104434007386698287966150528447173769745653094849377705471451533571302407701987585405260939215552836593163546110098278844478687559077536413118639791236269008047600329470759689721901333721666143586701098282693338033702985076136987291514686849805451278368411427725280317893977203863584583/11235582092889474423308157442431404585112356118389416079589380072358292237843810195794279832650471001320007117491962084853674360550901038905802964414967132773610493339054092829768888725077880882465817684505312860552384417646403930092119569408801702322709406917786643639996702871154982269052209770601514008576" + ], + [ + "-92291382711014775221380021171202817794657125260699000287682436525116249639100986456003288102293593362503506340776371812568234629218022304094954295338321708547490187028615230917002633870289187269289797994714342072570440381702763361962356356505306507682202967183538465154964375441642931008189553934230981931559/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "119712689918657651145189233762925546457090337327810229148877839636675818166345698397220337691661044465436596246450977563970023691296540621113539611731979073364553791157261962787179002477238112224575127636003783615332436194461854998451162028079761177278027679849503098212639903585808693056859631675024978403655/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-241550214101542094297167535638151897507830585201411331736006717246868123702109366984690181768784545848116906421886000314994526788327659530751761942604584557795696877540130891932133377552105984741145270626005788962709578395270874088233819746015884483414705471639012552028950063730900626438412769308246134412423/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-44636521770478560155358654717184927568066750073373513015128082461673476496822166780757639936727928123676721979818426533919863914831246651250724819329685161786373417321779253128206274251444083819402120012005681947845516990805594334226921578412078056649090375828519802643691118444466847932595531100425230751867/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "-30203061381136258809439665112684149466527548721381460346906377733218206927673101886508360525270680857362678859262610296498976901610754244593890353821856268232116927740493603349537265139809747876075016798077935946460243881062966294672661437770702005876180419387161259974619074523496342984580783717368906963491/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "-305110068800135848497848181573777483300901124284310624770759696080464881064477659631992063113691884421747360163819890589058455217115247182223505704124808283746309249249359889226760626023333388774388559141421503453637601946482828567415910388069454422041311561341290600832629150554612317238895704865818852456303/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "321370196207928824720915204711075455015246912340098126751032311594524033112453537345445629309422537818066392684089031234715114932786141935425039670921672922753033036803089443416637226862726853593951312786044577899391357952048006221305816041423551248138900234992740786667031784280806046850529260976098348049203/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-24530473927531504467392407392323938052443883461832126187972943992643983667419063708657378422819680820353364287646948211385092126125885316040368239976682069981937416789728921378575979136146542456286295719081463657034678512460199743093437741946258402070242087927157968777687527815825283515074190769218475070497/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152" + ] + ], + "beta": "1/512", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128 + }, + { + "radix": 8, + "embedding": 1, + "roots": [ + [ + "8676521756510435418408946804461767324891306204862417174847745121263025946650658922911780062841899310292089809846830833767424385518217195893825119278967539421517248349379935548836275419185719990536047729374806106190931483190985689626709113976582272252929209174868395094303365494483709135736692733466731317795/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "46927175506395187795687931561127127492542914401987186784106756230323458946080644106593751363160127877209084537223858819579870206674713563202937305209536930043680869885123270522345465099010053820092378973496193748874813123926250211050432217802376301722910925291572156201602782436939032617502745379314433603689/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304" + ], + [ + "66202580992830939447277596770820976547224187818360015042315917699790056190563629777404288554237323292216596605503553003282188641500233854198283302909676455062335042428271478810798541736972692302397024682764300702362971680590029381246736867638520196791172922404288387541122616211813091943463685403402194819637/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "121765996413538109244722158430733772946581021648295379494316178425975201830123378250127037871022862140665047768946333869871635524590445958253367982270652171353818448747755198251644533171986927552011666923832137891571028711514868831622149886611924577771659219065857057020727239216653669500246218019089692681775/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-63004972185514719302016938882476801018029290150894658797428428794872008178224844068489106570343956469890320581237050176572657244106576400241496924996645905145525690133237596136064437406720491787085549650786601720713499367232077045311041089715211178346785441054922158278590254819899949862505839484404422514173/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "162089912107789904580698670024539381013319877304490279642065801647607770297007606234339566380838505368774389327096714260667996331814249381137709093996072587356720324791880511287815302447216666542808264118488552050522502999610415668210833042811542567219354932850746955158614010677677778588862432609198364889609/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-114541150781975074659493858700499576773418741657487570824179357865241951223155018561684267907712799100922762526706741412523928902105409038951683693424204620570355075936652546398681787931145609090635335092259268023627437543404884939870413071359280803563668076790897925194743799223677433801998275248938099138653/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "28536383328959703993730430075303364190020911254551649423945663982045094704274492977093462377686393175454598424578736919668575596341930388955047068633656361481992620692814813327812876623975978375572536423322145652113828759035405388077251778997084312380853597717028602612494470837499099867849196700594746333193/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-201517388249894989478411032097072751718656423446768498708508564928448662660651229648295542554051448907899318156973678948290345776073447986354173204606393763408869392055271224486081374851034619526102418795206963640221560398265963426462213308991975932816594775660953319668579841424702426262528857537080463794965/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-174513042277315163849266924439208792551210027773319873062117112212107791949617487997311514602133978721591638988373550045126013490861600577744660221983293741489328994487990284644844821816190752936317045684025385986252691736431523152528005392504331486525860129092504396317973074372934850065698391093382548690683/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "20853952201633312877387277508463847055126394746254519899742972932555894208910866792849243688527659586695779456772099102381103863965624564255350878448532450809472846089800434934408081189773222964612807975923115727341248896300480297539550915338524351483735093086771402116129065052573895987568833471894650866121/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-312641081391502269606656250395689464714521237121044730843195101985540858918629890694914712449559446202158312842962672451031785756934401273144496289056535368585556084621907933962326641902682587075123817870096547428328478755021925309233810847720403976729205559662801376490464233034499544774061638742784145893525/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "166672131806845776192896885973661042124973372869940345006468266318743480528703466414015865739675637832291806442497067063319157094307655919219743641987468037062277740025664176448810213542701871758655081692776525610517996057224630655703118199190067622390022656134231632552577778502578893106037108271941930607565/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "-4376967838200489497250994948825473623872235696381225795629850903139948925947408138790254476399212615558494266176816561458243901205759824715627651584088611054101239737165343081922176424447484738906847833188948761892037696110205922052863065492314158621446222809067390965832669530284377833079714832042153910245/5617791046444737211654078721215702292556178059194708039794690036179146118921905097897139916325235500660003558745981042426837180275450519452901482207483566386805246669527046414884444362538940441232908842252656430276192208823201965046059784704400851161354703458893321819998351435577491134526104885300757004288" + ] + ], + "beta": "1/8192", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128 + }, + { + "radix": 9, + "embedding": 1, + "roots": [ + [ + "333910482659483459438655528550746003905249000982454975806894848438737707753764976869561366054330641369183833856032301628669487010009234742939505872476695122089942073608783197493524773122513229557328670182714416409970596568787760524274687406159411184511162472265702547672362929076759614595740589264277517789373/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-47752137171466876261593994891268639759720371836251849522631883826242730835462895269072450253303956251409642499713362915697132486294075863280378249136595798406260146271799670133428231669418934780402000503782168565275986637683350570973550359499708480182227099344116449794282936783930506661431843381346792007145/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "180857061429154340683796569249229633634282740219290917942321763794161703285567755908320831766805092839199995120635992701965884419377793868614453316178802274842846369150241658175248894374357637462187419868434067659967756992677108864166432671147587357826434832424046949718532074646758771501650950393504125313/702223880805592151456759840151962786569522257399338504974336254522393264865238137237142489540654437582500444843247630303354647534431314931612685275935445798350655833690880801860555545317367555154113605281582053784524026102900245630757473088050106395169337932361665227499793929447186391815763110662594625536", + "89031252177887495190665762976190738719635134333314194291508015840329805457255816648024444476560108063934040996807695532427466053700897943316995019084184510458211965571902286576252834532496294909472140013944090159918770767649059087712467909540838463240479671623720707864757601071992191516521915069518033316617/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "-77570549831923552874388989142731030044682007042905840083400846000380141528891579777851595702752702328774473303959132662315889278783543232097424451580806347987068043391866782113060657867967927073555566291117612044119958405987268589066112630178066419315079209294063775976558795584459682150886660045413954013769/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "179897435173147029214413437523250288359207247872041518170502120727641382930349650875642891171666569302908673314657961466832174273548337212606432197485311335192890539535613453859826823968059826198019685012450454506061510186429992789952527736462387221084655053453668251388987921959301870000019796834301705370287/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-190010959094347690462269137172070133553459071158786598796602362999138607180514755593009011514443911574926856975116553278070950196565545016104446202259984121956425990468540175254088981798543541253103375431235218242689895049528330746625788021572824829150972581783014458284949616718799691063891716331606263765491/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "99030770506346274571412767249597026710488468973300656614141769044065104917082032751052659130642873032747152401206156730746432904390655127956658220469005080826426402974997601139897941906522466353259384287497934337081931282143875656631456401729850661272991846764776573277336890519241664182121666563815825108741/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-233081207055107292068614793986538528139321828237103534257403268711362307316433680696116996201453280211587720811602707281081949546040375748910078559633641468576989928431965548210945788819468022114946692214502141994372721141673746177085180557226353646152761400166555794272666489885938550232614191513505184437909/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-55943527093538648994131853774327760706423292404958516460832453352530715831038895988364294084379075527404154738093222713072803156085772412806543739693673201174982311509658713101771928709767111169834072902328747368130517026338521314072319621096339894710376582330134409800137590938355592424671582274968784888015/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-73674816051867153651072739874884099639564752966078427342019842615755828513593612394516445502429253037266855084255963456491511864584968452239949356574902784890872662314770973795626380106098390700582613148829779523841278267045301960823172752044249996830463280555136131109752238430106594324223891786255349386507/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "-229807430732849177117110644126555193643659835289545136715286801956254443227030503648670842696618870987609340139528277927495657195520865722750609252335913869508408276603724155327353030563572875987772902902949206596449124196495306939290344827467222870442728695524546121120411264232478377181674795998646854090937/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "21321939274995178538221961206791871382984274797017580984543305003879576871583449027897925288200755917559935688963418115740792809342472296149539253956569356996997885510566587640382490543578910073936695660519193238722044786613345993169911490333550849222184308269478701581148338439803843307487853418615205531513/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304", + "-150737439183938417466026541943664853780573301677390200716773762546802420416786746939455291356847900573293657693272612561521417054798588970409780434875913176859075028648525952666660665297532915477471545641607412073362848129142966744244476665807658602486321803579387819475245914693110974696229125922432406831735/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "35114167688248708489705226725520322239757602458420567049561448419515293002391419875052402245031950661384666638645168035176238701372703027255979313802828205032500024750897988872631333460681293263507451895457087663973744113306278768660451880594853026913028478026418649968409550880245338037923086078312777680791/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304", + "27546478297781289342951459913655862154150871859653605939980547557514582388613385010841997426553751173842745619847075795184069081850799605852120546322776304239444231584968459156764651674979961647993059971657017151034383284332304041936961882154160895082836934427447719866692376787959364467530446014008721598863/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304" + ] + ], + "beta": "1/1024", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128 + }, + { + "radix": 9, + "embedding": 2, + "roots": [ + [ + "36627579605007658966659778461203634251371697379108157264801251842963340495317878340007270952160418991100126967216105106719737629728806468143838917422932843178173126209184087556635317452073232467886327807084905993395510516160589404741476340166934455525421308327705599519861799297110888754524674156034983913189/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "91213904696706307172757488630720409637634441273504301106383789102894171902182804905443189017899008504696948838212829861096814223539148482614848676923111790231266756795679293509188920363735763072749479237417340538439822705330283204140328446148978965322292213168306231351893475906153300657761895447665575697199/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "84035680545684351602473661021561463081168863906638834415994052385965625479101474846868259017791131826318727391437910192088726625481437554020823348149067175314300228396308280676735847981399985641700401470915484644497581666130585473688371033657369860576189725447930344844832440162634723948823836250202417994515/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "8148013099263468190653788738472861941241579884501632117571698363380494060372231299699288233780855988276576215383902261263316045847213105572379987687627519561818982137927974561918890474195006623065707914273566644830852081228319342987631236139162161704438123829472498354324469835175859687317768243701014103519/11235582092889474423308157442431404585112356118389416079589380072358292237843810195794279832650471001320007117491962084853674360550901038905802964414967132773610493339054092829768888725077880882465817684505312860552384417646403930092119569408801702322709406917786643639996702871154982269052209770601514008576" + ], + [ + "-100078953961497513827019582958503948692313436745489773412119737617020533859319405373115780371895107700252180090915260674831636736234959936041881253145088199481284819872914984423224863245178613426667354296068721645475017118632587754300463918861969486842414948740548757053004934043822785610986714760398365599679/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "3398809930139403861148899090261015484845408816967426658162601582201664636905280230206674173374829015640972007851858863447180055375534479268107072312487849563160091306886763149122921123989532906823269948436995082554330272656634564774170850622113683532802699002449190529818559937755553698477368426140195610501/2808895523222368605827039360607851146278089029597354019897345018089573059460952548948569958162617750330001779372990521213418590137725259726450741103741783193402623334763523207442222181269470220616454421126328215138096104411600982523029892352200425580677351729446660909999175717788745567263052442650378502144" + ], + [ + "-183338193122679443380740560128812455004059475231783258422114826847995734608876245819348478430541727370982727757486771145154226239259518782402684145929956021883455556122678489997638290182053381073341880321623966722662080562479192139016173619844654784754986657599090969957280567175733144107276191731039944767793/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "69544043884892615520046310400849713710736128335193355114162837516266036707296210585162307101033581669414559740283356404136662487557992456157952373635087040782218145130401822170858673477542223017483990259128019803079762888726928377309670948765232529247230492706760919274284002471550667971352710783976141811759/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-286271387236816925280241522879228420963755468856311152978521691079419985629370744590058055558139090150368540678259547716089060942385350516235204508672078069739575899105386310373908278914441421362759756269445058265422389064137253935790453915270461746334070802354549224387950778330302172659661620800950476186749/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-82918958338806825753830833680976263062074588869905593699233198939242160296448906481827055827641905389023514571488788279137339639543608846689251136263565750412573086750041060060195606898601160434500732786154396471493243930049913562346718453598705146259982726005531537274756750753151714066487137785910761431947/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-49807632985904636056327801309165668569949679703177249904015612774568110724009981257491882061879367530463687202275856313301341867893146717453038446249068471976860842053788497157502426856271448101222353866671376525212460060433231010076669364400926876741344107657680474212816727791674300296404422336397687738749/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "-177362022940644076757392587993194089526114195004881930778497281946886928035272836044916000656700084837927346549061559295412976727004631522383668857538236746314783697433474028860696915143971089197553031019918950340000537004506529613569767212474004309695951498140271896557248889203205304701749822638973665710421/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "151726435005196152503621229407512430240201194430624150994328999718615893705101127231153874291153282523199899481986566943279721987880106907314573029521495326835809641098557389722103622116104726637641894632029695112812573695921454951502415653852282073265566820064948245713045069992446951560447509654860385758977/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-384822354883360534431812042911405387725218348666290124845083009057711843252196160570381320302098793490714437674025650657316209395944001060980319931861297115592823638687839794408498221389027544281560445374349368840423996714188312856799321242909238654232390908052313482832343212428064897303568712693638467285975/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "41081431198079572611558466625440658048255168639522243169055624589826066923314664776521434977008446938486253681718692790654307094043265416041383699295454020975360572161215700150415363540172271447445087225207715238810462166560904016969936740545340760747113041037652787910341644753600676564529962945902837220001/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304", + "-4118711747111065465143117971635801376758138406433752164082253287354658505291179385338879623132445718177109921503638931942611426340975801223027948444391682221345950298080184044770827371312364405460096337648485815254515555637274146065727250436766509743948076237782619108756462233723207660043495600271274827343/5617791046444737211654078721215702292556178059194708039794690036179146118921905097897139916325235500660003558745981042426837180275450519452901482207483566386805246669527046414884444362538940441232908842252656430276192208823201965046059784704400851161354703458893321819998351435577491134526104885300757004288" + ] + ], + "beta": "1/128", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128 + }, + { + "radix": 11, + "embedding": 1, + "roots": [ + [ + "19987067627228188344629069299179400482723624880399215433823291767545287429199097189201872739530866475858846834340571882225835111913315556842511345498467666815253246841468908666504463346483028254245326381190693095283853100267355904488055841487849491381199845949444150700195520393828374821557134768600767466237/11235582092889474423308157442431404585112356118389416079589380072358292237843810195794279832650471001320007117491962084853674360550901038905802964414967132773610493339054092829768888725077880882465817684505312860552384417646403930092119569408801702322709406917786643639996702871154982269052209770601514008576", + "-16371177452751777825563018362473384628992592467063145384041920070193938502884230358731455517486303546488422975735506625293320144959392098974784869852824091878513232785682339953450977565251051966045793101131935501779170807314388776610230256291440229867741336996952861254445223349520745729923222550176564288491/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "18856846747548568697588208088342677025973301317628666942362894682533954455666322781604686688583386331954228030929273184779113235417601784513933283718249884792714800236464676089878514996628927413059992636963593921322785923317037817194703770654332326501994334024022987493666601426630817081203976984338145763405/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152", + "92987134558769461110036206867296860043881621638534166853641725913226172224366088756826381486275497978147294133585381794639930001435905110892538226145300666954747499650465654558096450639522609112222032585019033582960779504653453557208357386268301504380446208517791958035784800586179182112037390042935466531117/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-8755627176049049991226664047137245698863739906064153437347452970558147035098726451283760392997679178295614102787623006912674241102405755920868082634752574119386112664741472162925566921061850884242496676415467646079844403140934545444691802820099406918031463518136566579394224020189874248767924449767942783925/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "184869178819451977603611176386928738242876901648101569688171783567941034492292441694469196166591126057251772941746470171157037212752090292935695497021766339398687078438294125034073412980357691297887600434603353395394298477189459158524716423700412207205879422399971470449045719677938588065634394716581191836817/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-54478583300645253822831870111416997505140953588934025523583341251965664154365796078024298205741864555549713807076133144301802106929744713687687990384993502959532496048549753489310281500438525352868503316582822328826656480517864695496618221362284012857411443021555596782792697074220181225526863918268300639411/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "20286205262628437605254043475721537150966571526564811549532640552204714056754728803364947802459551692869353686447919641018139868478560640763273306515452613049046891837083267506195031814938252858003236870013002284111289860505997396859958206617069856782707127987927582577818632717973254483287992421656734652759/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152" + ], + [ + "-95898183509014184241500254592800463383859036505354131097291586846162888704186664657955359052988941231121132518651068021267889402827792190056019212109768207300155797496969688201128119018149578616452527735438289364195597833846776297049494445152908588057194749724385825905412784224692093180207921450384112242461/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "42778814428655042090098870059327487099864258445354926673871694836725119840952203199861360259612720795076463940032853087688047118369165810858094712277252996243488507752097503657331562950399220905133886815882248888535031166708361760343306732503522179656046809130881476963896662304795263022774723587080694995587/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "-225921504279610020642388278131970798218208536978767361355204927337288732255627291982651523854880824990070444198973400989148467743303745890374317986738214990201636073279077380395278347044974050305694703888747355737926977743906487115905900433985192373300492134362778507994126188996113276482333293522946874166163/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-18512006630388580492498585919316792146843256940712140321718354870283077911759945301636725256521424427374811915420777847665766697831971631267719642616122994338671795328699256187096082707061323572720759145517912510241431847044219321767359552211168619158510793131072148281713269420146872738380344999839805482673/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "-180384503040408332969274788910647993002194348933408627006352614755504198801432827860872973900664892565262188160970148757056307523990146812970216425530483920281444046886004414828488834832305952363622670602928505922661923912562146105294903808098488454307366830380059864074416998974794846587590490652864169574297/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-176646969751708359448147936704547232946199217170499539675033536510376224673878639512761397186205834591084970427821916955369563206972314869103885725048066220048023304706002429705664922747797907812155061260294680552052160516977538525542207321666484952876348281560646346378263539923187144743564731897674171100239/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-38861837212388384976420529976991509417115833041275628837436068047549600060280382176786322036369939502791851622004559175908329336385610877310085063200757697917251570206071466998822689139170709736990644246151849501271239337143095479406182219416332143451639476774213058321348321744184322700650862375330310963823/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-277565260286031004677878130054188583191705289863934684844268782639173497999273973903587616669187872134632967542328894598608374892255412381085758974558621898023147837402060395658900058771526410416451986547731710938161234642213649079303903522523174051553608817790842230009020182395206171132818408527279761433361/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "21488211622826500960553162925976956012202845211007392491489641798267308432671711630040098232679466316650764179735598419427366676486749904192558644332299235921421144714023516384651586190355271133895433014816047193327744219762731373547159612179053454955452144677625900088969121688703953521421817439565637653255/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152", + "-128511894661549286531404877158872813325425204854650114042374504318410629316789283103583139449251533177702910299315398368686906037165442415057629373076402635077289348627984153358667785498500978795932314288919594386024513282286275663286707605543358820950021120445081138909212973329449308021598533550888061275955/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "83585712907819930372525737678387002726043373066088394654745598301106562580077687197093984735045193590830082209556833412016347775904780083057550263000319559749883171904511683435215084292917686994094634613938974636571702338378693688527807890580242888639214849494751714712417179164070115873698326690655414974855/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "39527043648482950010229499119972439999724135181397298119791477377378696955872414923351111484626654042810194997537223158576386497412597956774521165982556008744194574609655834444282255397016231889321227196472166056329130778270908426382465705876154201534793629442915901015100724328325125021229484333621969864103/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304" + ] + ], + "beta": "1/1024", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128 + }, + { + "radix": 13, + "embedding": 1, + "roots": [ + [ + "18692326237161478268382893815511145026088685648190526628486457135249558896952920917514467617130261745382206732573150104474804362843637309165023312885970700945843085407379411136466208630482730176116475442280579227987505293153616103902239142645063037996256214288997875546400775697052054140996875722199535144377/11235582092889474423308157442431404585112356118389416079589380072358292237843810195794279832650471001320007117491962084853674360550901038905802964414967132773610493339054092829768888725077880882465817684505312860552384417646403930092119569408801702322709406917786643639996702871154982269052209770601514008576", + "6486859248533430000780273205701654512173970909417755732036832012643583151844496919483104176207017793400666110165169957902541959012070998111285223760348081928328199544477282093388192150307015875863662558373792923793254558604148460967249276341192795957495960108311024542088237938103987924150576546911604521261/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "157323348664187956666822829330189664661635426810358914253796127992247865612061106690649235990527526045899298682970108967127473022845446753514004123946631683036181536536551113663594714055940804627834938973774495105472785669307840365432825878956659739101252967010629991460289857031165177301889783427611928177035/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "40452681226070075570072472344401074944712003983589808887925600577667159697646220867905051803615621855045591166578947446549771630680539405755136473452812017494827925564012739248547906421181216869880258586492201563801160785331284811700400735399327336162196251093715630564873576011674857714278044254516933544179/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "34899392812722428966123339680611544816703491872217428378010116691058846226498126253227436478273425414652638211700583485046158136663268894227982165278243907434398134769506468269248093633129553630375056939180388351514797408409815225914896580843925098996214002147635347069013543757886234918338529369491958625833/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "88011579740709610420551536777095471880520733731329804909182057295159138856658844441946791253952523971367978325361906101288855444899057938251340285018035035161867960959529967697490808156919827046584265520088861647898766523277648589169329276572810161414081405603460615665641982272371797657744614418548585824559/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "-23632344362636047103245294315793142313888805211632242345277872394180256512662942947584023084035033218243173110811282908595282258284332226870800162079433188907613058231842037992245668397834548268318570993706111537983389312729510092584842380438077530588177371098312347383358971591168761951695032633273140864129/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "179549417839364571074172991064461500088264697781045040638237379539937742850790852186678832881823049512825498163936194969819369072795634141188946475578546985346143228307209114122988494462198458310511930360221307110264021454197646686772971727200632632260525068224424641531327341793787119527322865955849707710265/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-64171504828073803152954152937711567711542666684035601356646712378688470076580612870475769092135067000533842853688036144897397023533079657883641351971704778429165978068814538057468601770310658772323207554597087096804145799486637998411913965567996425496787598923735682562388421874636442133233905377559485353157/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "73251115769149306473345828646266294966486765451643471177403942814435204983959223865491318323457407052192740413543012493039306909122000661827522200300183854470520931139463523567192277441532807875169028627798601616463280909274217382738236473252288608372738895951142823317852525506369814133883275719630758807137/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "-96104599738951769633676493389601285253005282559510584694569816846333257502863917660923538247139087495252208921646849092614916922614604316843162321832456288793741483649147875280476706456286703917113215728033231503625203893643516836727765185675495923663427569333306934484123850806643288701454825729811953604323/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "9516631030430603547304258413179041787814767345466107116984577378638068226215235344637777767447480019230821635109605408066669055840851972438579815757178810228708736258218847736218387748283693992362423328654952423382366630325601232318115927373324378897688359132242894713899973429384583590542101150580140274839/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152" + ], + [ + "-55062228354540215497376005863565840475664320925484203015301893653352734911931366500499734179862501376983233255651835114951841126300871292416409994938947913247339808265695383764522624850188675657931604747407328681915351414694957246542297547449812418192888195444651234827845753423977115916824720713929628153581/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304", + "-12496569895905601754496446211252110954226257293968968523070001442676531897713204634587293165700868423273240811744498014947415054071256992206134858336956107724864774886993506222731936628197452918495709094251331874681454069575341628004137867852588704373449128871488326320348282721855230926986775081427488534319/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "-97236621922926488171753094952475321839966850867104708437058094218576032195216305246450562921641655245078955900922369570464505990156267416121818652856643194067118861143473065056879134133679172250527578434553971705148706518072819842042031704168804575722945478691295867602666460085505768296696878111825723393123/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "-139974366379725222238941562299015165007954582856054307766040303104694071987798318784342412584103837521837750166553176969910384907399840762917340723142586181202439284159762153726030716323608885065258852362112003980666178559063919724073261539914546317386542228981943211320210328234291676368809663605528890583427/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-12916153817227395308964320333307521693172637922378933961237847141531974139138197199274579477201858620610500507563920459598428400153777012639967564196276145126945301605944903521853118392469464413956941118844472993633600262566258024731392397410303362620852019080248276163503519613363724636522615542062596291175/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152", + "-238994272365838385358698151204558291126185120423482408759980968611149377358699437412307564621248256757262516810026759206258728546995344843798934973819120821031754741483239472065190876326354096946934497360840975069467809446930323282385605750700824263085431792466905140472727845592124191127039452483105619360915/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "6013043937133886929785992231257511969627667249481246735439580322562221982328578577554836403334984733439034934735034117774148354364364987263562214790340175882986670622045334794157783337444852881404655139096629253059946504379613666594193738691315078072319789952637941430021364779329441507323583528933381210005/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152", + "-278679923529189704360039255534940158059487346553817563199472560610069982490137529352759281333079523373930862003820159709004193000121849875645389874369158065539387537232566451095140876980715405549825629533527920059018461562814145916859044343901996440993708624557401126980979858868823094800991662382134844602877/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "109989007535808651476018626898092526943022773744744817418914845584436965704556653332778848051969834606627072091810750458326495050646220897112757542708660487042684367750689381549049479775617896373974012758542109149431726669145658671611746929890662655791701705849605871346529807065359253700271713756945440448383/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "-51882011778821188484364240793453110774348786484062001914177257798483135937985388930919631365603190565770832669699636056548063889192925119116887789197614808884804148831874399739412809224443826013793004508047851389354227654919416055982643722487389332768423157423587133671627261738239235292352438537394793285609/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304" + ], + [ + "105894466188666824637797522379481298816044382741836996193011641682857452110816736028928950018833122381771371198703803457128745525851017334778410249826879397875759195534689495859965994904874626346162905042038177007336006951294064455526202243127641508935278616124494878183999313811884724475030368145374684989523/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "70513352389598145213663477133635023707890899921823566159207226270576916995395924683079445594271942693838367850660040457845959093720558038483352469338574636265642119180155548293660979873985809604194360555360145016038237726142654627699688283243073137486408739406691752226458425337231524766414622661143826464579/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ] + ], + "beta": "1/4096", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128 + }, + { + "radix": 16, + "embedding": 1, + "roots": [ + [ + "134039650432496433101295605159145494804947147618859989214825957778126813783946265379824234530653079795983300535220081531974499830210731306488624875267801121995052729438299927149721093666927526785655754801147235486784301827065913383198135946696241002975265831017168785200446019385215181318777012203053206775435/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "10043776175087489111857420427705466089122018604250422834704851221257606484042652956267827527042103582138401817998484317090147751084140645935922861891946502301969712627060390112286498548692413675638854082746767615556998261778873625372575511704320589333963130560858950109780981665146820923938000446283595843981/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304" + ], + [ + "163698198267763187271175317732354162942142798991132287897605537834861074139898973926663170112137318749861087075458509497866923709014367775583409379820255381037822285641799332965596998682187512678394888610812074850883841645394925104103931217581714852536893012837648469034763538149987146660169793180318525683963/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "34154907814115855601778002615718880203068084565931904547779687937911408288344869439590995495717368706638636414617448243280929199776252293685154663952500722290615662112290390816093868694604275838431637064859423302174318393837094657848778434379080583038727143019868879816065247203874832557642095346180510541817/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "125972697409629971610668644095806954773026269483836139794069300342348858033512225247311677027781101220433900638850299785029618718841248714192496025858197851778421685409754264599923508300047622246726630559684778235132368096407527643305232066166954976575730325609055979040383084148029612053926198944646591312277/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "15167790659874947924589060300057100404989113576637779018845337397852208471948163165837442910874732484685189549202575299032263922362242746686661085009319025178790114153139930066286476936454793858408781296809315075998603335912470151363640101092646280120351957483245267415973808462131927199015047640649421685169/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152" + ], + [ + "13853536865015261579911150032049872304272006558508656999350196565098776518334784731805531655741656799427586114638867558728051351302042284720128353136488689847220369858233808059733505486343038607449224336533854935610047845464572670709769013819513710914519750342782309697087053886069773135656466958608061541769/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "177545851147179895490196191648273709559870852473948635168982933050035672511543664292889660396400875012049726711091359491491643948309945736293014186853449971590825791166882789030071391843162221062181697202769315484013800917514554939433749527198631298084673567294376435632058165815416832640235572073617726120941/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-52210378056113995222526794456200026551550434350267615704607002484161409961625123864247636241912256583356359184500954597575895892110205892926433892520877857803012652172002684435938465544783335544671181399418477865628149454975798200306362483024809010252305140774988065045567446320437361416053738363358747644443/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "87648308710707093471187039917458706451472578491021738770540393300719242093206053400276097328660396266053722682800563211432811793974391639650142917556304518681178604701687327846402527191048522814812999729648713916842250073122954579935163661634587626288322854319550536493507991774193503157659239580292987842157/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608" + ], + [ + "-116664073824034912718051835779935450320038013857443941308097484208019490686854521720422334021093095268154662714097019061138743852755115144088228123078315232346900394049166264273018455963049040513237001187564736700035245183063339192035351382225907798789582613795974065118752512750692942562782534375193614661861/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "149449269678260753521945326074791968079519019469792743136375292271466248404832296872514640066703937306939051683043529915596390678603913779661604066173180108039752595884583226240160259044735240089986116711339120429442816430176353855415258845446067522565220002881930958366647672375789662340506634532555558066251/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-85610957404387028634243322426648242688663257839375635069698465559559419377521551982033761821736612609921595358004172251326835155119996617686944093557730406618580170261786725657706867217353963671009491290423195732204000640025294244393939752267572032643929785491689258684316664163295188812404572449637311320451/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "99615833663101054301816080147826293655285718447019552564330413357835145945778960092597289825973787281964918942430276502793281215764935713502351704443126657759517272838966727793208748184206115834330960302736430555573552466912693730743584134891685941797179902285300308856534717258649051539716231977831990434935/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-206470925126790414958903095327931072696188278347167769164325237872418927430185815104414777620540205015448274164195641352218542457975169039791010753378777708716944076446597350330115681723054142766603880278838717720575430103778172708862328494065918713903827091679242299103863352097855468435963485647011288487845/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "28326730094049526360308020645864856724598891128838513609367588904514833835204347361667185978800994436970191543152173345365891935121884286237303162650500563575271973969509154285033455092089962932786873166080400502570268738193931444116625301385853996639117280974700258567439169279262226550039720244993440086577/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-212793201622109962448330100692808593439645159644577548679667883054110536914612983822159045347472254754395342771708966598767283083523909873556284381276124835470115664134649247694090104295004718385271153849431718533152316853933967919972046963990390480364949318130626453951329110678301062337081449200475601735875/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-57964249005932469131896837719919287256295100537523457777437606447238450243954529094264672294496860934864424519386491456408615251057823684209861120741434670159618673936343232127524840096572869938406481577342691505214852241781904532730223280532007263456890157126325151281429988053858853115810915974956182248013/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-181906514405143036384357434995971625275836390798303598349017616251000415282024441569357952686816616444878672327665448828051994214624348737805868406889846662816154885625310561267277397135353478192043756460106331313083421328902239020972755544322708347048855909898995764083966273823919667161396109476550719848725/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-147945663340461763698212430143771286414026284146309945071685010721085537380641268203814890803383015075422455405339014135542776026293391412163500686456905034790428849048670266153134094858649998069511486106390629359568273414843847740088984032890568291491121209596476991217967574780912075401622245788540973317237/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "-109295650712632922954470152700014140962344687784228817505917409852933900860213282982253187319663670767937851495649957296830456277490544817826798947725684889752695688092754004821393186285277520453649669774004548684876352062161227459330029625465970767406457202300678613241928430071212855440266575276167464763807/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "-56200741848002868079111868432724886507129621548125121648642474266599250489673841691778046881437449293933434722648357280706913445930283045991236908716738562916199191451345481529063774448710946467551285759609323141571550416355308596877200595274065373565280076263027603986562578831336689401091825392816459762247/44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304" + ], + [ + "15968822176892792285891476438139425317687583108455281192008770761103687215213981897594608046751009662616135817210933151016991807601573680585709456982599855455736137633949541869722566316681492518193528500018722529515726386747292338115274696063766393314538517893691137581991598848479112650484943606294759671/1404447761611184302913519680303925573139044514798677009948672509044786529730476274474284979081308875165000889686495260606709295068862629863225370551870891596701311667381761603721111090634735110308227210563164107569048052205800491261514946176100212790338675864723330454999587858894372783631526221325189251072", + "-266324790638046954468748086815326096854011998014910958879637384810491281671701735342579622902906841022217262017537242815542832447116697353634706329017518582629343845840130883918382746688279956080610789278337184153491906948023245930590272626869013417164765399270940382908317755754807962553226947387458433481969/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "1060865642031292630770255648031651464303955219241748845301061404301449150107131123877033982501236564870546734157170738071205142825981730629211934466958373310795930234883644313113012070731987912222503770737372313560840648279391481374684780737322726034313967342539259478356716096981485614792922808816297076935/1404447761611184302913519680303925573139044514798677009948672509044786529730476274474284979081308875165000889686495260606709295068862629863225370551870891596701311667381761603721111090634735110308227210563164107569048052205800491261514946176100212790338675864723330454999587858894372783631526221325189251072", + "-246799233700152837800565619104070457222176842192478672102595825359550055541867252492449227477274629665694532828700249246838030620913792598556947021011742874894999694125075108903854687975235844168506798118891370394456073402356817011957930168970746212902758217822556747842079095849448037149783703853881509351465/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "74864797941206513281047175374406371423373655545874336711328481273747977974984455616940936075339467433634151221026156653070150698647294564580345247390350645817572015177013890581338145235391049860293804890641833349803840457797326162410138640935908664989180260619163393823243511563841284652103776498758852275761/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216", + "158507016237416030279508951176317259509379692049347194102510424353036380843727700204504205980624447511489013333078714007658126019484831026660454241743943509290714726174111157436372813963025263036212831092360360315950519574485871493725846468575071813444421951074798721371147434849601216160281721594412331444679/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ], + [ + "126287595802823388378145790573347116516250877023657551588569070335106577368621778092749228800089231992059072999369812292461321688715048725080489109408634374024142218044000898630952519239661477382516567361587110636505950019813691734756152201601098996057298499115007197346303456331071237494888612444968034206643/89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608", + "-143526397691224128056251209454968080411106577138808675995376721394908697117978740021220231248704896684803444156609685788793425078524968774144075750535259582404256698559171991950020896681595928832179228331976729295065837037698098662420392076528307364731612360503267270299597486337931330781272500922478650324859/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216" + ] + ], + "beta": "1/512", + "factor_bits": 1024, + "working_bits": 768, + "target_bits": 128 + } +] diff --git a/research/radix9-algebraic-audit/vendor/NOTICE.md b/research/radix9-algebraic-audit/vendor/NOTICE.md new file mode 100644 index 0000000000..22fbeb8ef0 --- /dev/null +++ b/research/radix9-algebraic-audit/vendor/NOTICE.md @@ -0,0 +1,24 @@ +# Attribution and scope + +Ali Romman's PR621, exact head 520774462b19b29af41554b74def31f9d01e997e, +supplies the prime-power kernel circle bound. Its kernel attribution is +OpenAI's exact-DFT preprint at adc7f1241b42e322a6451854ab7e4b4c146bf78a +(`loc:newton`, `loc:fourier-factorization`) and classical q-Pochhammer/Newton +factorization, including Alexey Kuznetsov's cited q-calculus work. This +package does not claim to originate those constructions. + +Pan's approximate-factorization theorem is used in the form stated by +Mehlhorn, Sagraloff and Wang; Brent's work supplies fast elementary-function +evaluation. Causal/anticausal recursive filtering is standard, as illustrated +by the Briand-Davy source listed in SOURCE.json. Sources are cited for these +specific tools, not as proofs of this package's complete claim. + +The scan rounding analysis, explicit budget composition, interval and +factor certificates, routed reference execution, and packaging were +prepared with substantial OpenAI Codex assistance for chafreaky. The dense +matrix solver and algebraic coefficient crosschecks provide independent +computational paths, not human peer review or formal Lean verification. + +No new multiplication exponent, literature priority, maintainer acceptance, +physical tape execution, or production performance result is claimed. +The code and documents use the repository's Apache-2.0 license. diff --git a/research/radix9-algebraic-audit/vendor/SOURCE.json b/research/radix9-algebraic-audit/vendor/SOURCE.json new file mode 100644 index 0000000000..59bddaea4d --- /dev/null +++ b/research/radix9-algebraic-audit/vendor/SOURCE.json @@ -0,0 +1,18 @@ +{ + "upstream_kernel_pr": "https://github.com/CrocSwap/integer-mult-bounds/pull/621", + "upstream_kernel_head": "520774462b19b29af41554b74def31f9d01e997e", + "upstream_proof_url": "https://github.com/CrocSwap/integer-mult-bounds/blob/520774462b19b29af41554b74def31f9d01e997e/research/prime-power-cyclic-inverse/PROOF.md", + "upstream_proof_sha256": "2b8056c88e66f692f407450fff0414d41bcd09db8597be22e274a6c3dc20eb9e", + "factorization_primary": "https://arxiv.org/pdf/1301.4870", + "factorization_result": "Theorem 2 and Corollary 1, PDF page 8, crediting Pan", + "elementary_functions_primary": "https://maths-people.anu.edu.au/~brent/pub/pub034.html", + "recursive_filter_primary": "https://www.ipol.im/pub/art/2019/257/article_lr.pdf", + "local_provenance": { + "stable-cyclic-scan": "bc36a9d44893f9cd25225b64b08f1f3e938a248f39c16fa50d71e84eb0a1b0ef", + "stable-cyclic-mixed": "df063d9ec36d95a65119af4518137f78935ac6fac0e88de11e6a7212492afe4a", + "uniform-neighbor-cyclic-inverse": "1f8fc021a466d03d62ccf708ef6cc83d2b38b340b50893fbcceb39c704922a71" + }, + "base_commit": "ed49217ad6244f1d3bfe4588f122fa861849739c", + "reference_runtime": "Python standard library; no external packages or historical workspace files required.", + "unimplemented": "Pan worst-case factorizer, fast elementary-function implementation, literal tape simulator, dirty-scratch restoration, complete multiplication reduction." +} diff --git a/research/radix9-algebraic-audit/vendor/interval_kernel.py b/research/radix9-algebraic-audit/vendor/interval_kernel.py new file mode 100644 index 0000000000..1182175a55 --- /dev/null +++ b/research/radix9-algebraic-audit/vendor/interval_kernel.py @@ -0,0 +1,61 @@ +"""Outward-rounded rational enclosures for prime-power cyclic kernels.""" +from fractions import Fraction as F +import math +from functools import lru_cache + +BITS=1536 +SCALE=1<4:raise ValueError('angle bound') + itheta=(point(0),theta) + total=term=ONE + # Taylor remainder for complex exp: <=exp(4)*4^(N+1)/(N+1)! <128*... + n=0 + while True: + n+=1;term=cmul(term,itheta);term=(scale(term[0],F(1,n)),scale(term[1],F(1,n)));total=cadd(total,term) + remainder=F(128*4**(n+1),math.factorial(n+1)) + if remainder1. Integer bisection + returns adjacent dyadics; isqrt then gives directed sqrt bounds. + """ + require(type(bits) is int and bits >= 8, 'root precision') + scale = 1 << bits + lo, hi = 3 * scale // 2, (8 * scale + 4) // 5 + + def numerator(t): + return t**3 - 3 * t * scale**2 + scale**3 + + require(scale < lo < hi < 2 * scale, 'positive cubic chart') + require(numerator(lo) < 0 < numerator(hi), 'cubic isolating bracket') + while hi - lo > 1: + mid = (lo + hi) // 2 + if numerator(mid) < 0: + lo = mid + else: + hi = mid + require(numerator(lo) < 0 < numerator(hi), 'strict final root bracket') + slo = isqrt(4 * scale**2 - hi**2) + shi = isqrt(4 * scale**2 - lo**2) + 1 + require(slo**2 <= 4 * scale**2 - hi**2, 'sqrt lower bound') + require(shi**2 > 4 * scale**2 - lo**2, 'sqrt upper bound') + return ((F(lo, 2 * scale), F(hi, 2 * scale)), + (F(slo, 2 * scale), F(shi, 2 * scale))) + + +def evaluate(poly, root): + result = point((0, 0)) + for a in reversed(poly): + result = cadd(cmul(result, root), point((a, 0))) + return result + + +def kernel_boxes(embedding, root): + return [evaluate(h, root) for h in coefficients(embedding)] + + +def require_contained(inner, outer): + require(len(inner) == len(outer) == 9, 'coefficient count') + for j, (small, large) in enumerate(zip(inner, outer)): + for axis in (0, 1): + a, b = small[axis] + c, d = large[axis] + require(c <= a <= b <= d, f'coefficient enclosure j={j} axis={axis}') + + +def zmul(a, b): + return a[0] * b[0] - a[1] * b[1], a[0] * b[1] + a[1] * b[0] + + +def zadd(a, b): + return a[0] + b[0], a[1] + b[1] + + +def norm2(a): + return a[0]**2 + a[1]**2 + + +def power2(exponent): + return F(1 << exponent) if exponent >= 0 else F(1, 1 << -exponent) + + +def upper_power2(value): + """Smallest integer e with positive value <= 2**e, using only integers.""" + require(value > 0, 'positive error bound') + e = value.numerator.bit_length() - value.denominator.bit_length() + if power2(e) < value: + e += 1 + require(power2(e - 1) < value <= power2(e), 'dyadic upper bound') + return e + + +def factor_certificate(row, boxes, normalize=True): + require(row['radix'] == 9 and row['embedding'] in EMBEDDINGS, 'factor domain') + beta = F(row['beta']) + w, p, fb = row['working_bits'], row['target_bits'], row['factor_bits'] + require(0 < beta < 1, 'margin domain') + require(all(type(v) is int and v > 0 for v in (w, p, fb)), 'precision domain') + require(fb <= 1024, 'factor precision cap') + raw = row['roots'] + require(len(raw) == 8 and all(len(z) == 2 for z in raw), 'factor count') + roots = [tuple(F(v) for v in z) for z in raw] + q = [(F(1), F(0))] + inner = 0 + for z in roots: + require(all(v.denominator & (v.denominator - 1) == 0 and + v.denominator <= 1 << fb for v in z), 'dyadic factor') + radius = norm2(z) + inside = radius < 1 + inner += inside + stable_radius = radius if inside else 1 / radius + require(stable_radius <= (1 - beta)**2, 'stable factor margin') + next_q = [(F(0), F(0))] * (len(q) + 1) + for j, a in enumerate(q): + next_q[j] = zadd(next_q[j], zmul((-z[0], -z[1]), a)) + next_q[j + 1] = zadd(next_q[j + 1], a) + q = next_q + if normalize: + q = [(a / 9, b / 9) for a, b in q] + require(len(q) == len(boxes) == 9, 'polynomial degree') + residual = sum(max(abs(qj[axis] - end) for end in box[axis]) + for qj, box in zip(q, boxes) for axis in (0, 1)) + # Round bounds upward to powers of two for compact, exact public receipts. + residual_exponent = upper_power2(residual) + epsilon = power2(residual_exponent) + A = F(9) / beta**8 + require(A * epsilon < 1, 'Neumann residual admission') + perturbation = A * A * epsilon / (1 - A * epsilon) + u = power2(-w) + require(u <= beta**2 / 2, 'periodic closure precision') + # Closed sum solving E_j=alpha*E_(j-1)+7u/beta^3*(9 beta^-(j-1)+1). + # No predecessor budget function or execution routine is imported. + alpha = 1 / beta + 7 * u / beta**3 + error = 7 * u / beta**3 * sum( + alpha**(7 - j) * (9 / beta**j + 1) for j in range(8)) + error_exponent = upper_power2(error) + total = perturbation + power2(error_exponent) + require(total <= power2(-p), 'complete target error') + return { + 'embedding': row['embedding'], 'inner_factors': inner, 'outer_factors': 8 - inner, + 'beta': str(beta), 'factor_bits': fb, 'working_bits': w, 'target_bits': p, + 'coefficient_residual_le_power2': residual_exponent, + 'rounded_execution_error_le_power2': error_exponent, + 'total_error_le_power2': upper_power2(total), + 'inverse_norm_bound': str(A), + 'scope': 'Coefficient interface and inherited norm/rounding inequalities; no scan replay.' + } + + +def verify_sources(base=ROOT): + manifest = json.loads((base / 'SOURCE.json').read_text(encoding='utf-8')) + for name, info in manifest['files'].items(): + path = (base / name).resolve() + require(path.is_relative_to(base.resolve()), 'source path containment') + digest = hashlib.sha256(path.read_bytes()).hexdigest() + require(digest == info['sha256'], f'source drift: {name}') + return manifest + + +def load_subject(base=ROOT): + spec = importlib.util.spec_from_file_location('pr628_audit_subject', base / 'vendor/interval_kernel.py') + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def rejected(name, call, expected): + try: + call() + except AuditError as error: + require(expected in str(error), f'wrong failure for {name}: {error}') + return {'name': name, 'rejected_by': str(error)} + raise AuditError(f'accepted negative control: {name}') + + +def audit(base=ROOT): + manifest = verify_sources(base) + root = algebraic_root() + algebraic = {k: kernel_boxes(k, root) for k in EMBEDDINGS} + # Independent kernel coefficients/enclosures precede the subject import. + subject = load_subject(base) + comparisons = [] + subject_boxes = {} + for k in EMBEDDINGS: + outer = subject.kernel(9, k) + subject_boxes[k] = outer + require_contained(algebraic[k], outer) + comparisons.append({'embedding': k, 'coefficients': 9, 'real_intervals': 18, + 'independent_enclosures_contained': True}) + rows = [row for row in json.loads((base / 'vendor/FACTORS.json').read_text(encoding='utf-8')) + if row['radix'] == 9] + require([r['embedding'] for r in rows] == [1, 2], 'pinned factor inventory') + certificates = [factor_certificate(row, algebraic[row['embedding']]) for row in rows] + # Exact coefficient conjugation is an algebraic identity, not interval overlap. + conjugate = fpow(X, 8) + for k in (1, 2, 4): + for h, expected in zip(coefficients(k), coefficients(9-k)): + actual = ZERO + for a in reversed(h): + actual = fadd(fmul(actual, conjugate), fscale(ONE, a)) + require(actual == expected, 'exact coefficient conjugation') + positives = [] + for row in rows: + reverse = copy.deepcopy(row) + reverse['roots'].reverse() + require(factor_certificate(reverse, algebraic[row['embedding']]) == + factor_certificate(row, algebraic[row['embedding']]), 'factor reorder invariance') + conj = copy.deepcopy(row) + conj['embedding'] = 9 - row['embedding'] + conj['roots'] = [[z[0], str(-F(z[1]))] for z in row['roots']] + proof = factor_certificate(conj, algebraic[conj['embedding']]) + positives.append({'control': 'conjugated factors', **proof}) + controls = [] + controls.append(rejected('wrong embedding enclosure', + lambda: require_contained(algebraic[2], subject_boxes[1]), + 'coefficient enclosure')) + controls.append(rejected('omitted conjugation', + lambda: require_contained(algebraic[8], subject_boxes[1]), + 'coefficient enclosure')) + changed = copy.deepcopy(algebraic[1]) + j = SEED % 9 + changed[j] = (iadd(changed[j][0], (F(1, 1 << 256),) * 2), changed[j][1]) + controls.append(rejected('seed-selected coefficient perturbation', + lambda: require_contained(changed, subject_boxes[1]), + 'coefficient enclosure')) + for row in rows: + k = row['embedding'] + for name, expected in [('unit root', 'stable factor margin'), + ('missing root', 'factor count'), + ('insufficient precision', 'complete target error'), + ('changed root', 'Neumann residual admission'), + ('wrong factor embedding', 'Neumann residual admission')]: + bad = copy.deepcopy(row) + if name == 'unit root': + bad['roots'][SEED % 8] = ['1', '0'] + elif name == 'missing root': + bad['roots'].pop(SEED % 8) + elif name == 'insufficient precision': + bad['working_bits'] = 128 + elif name == 'changed root': + bad['roots'][SEED % 8][0] = str(F(bad['roots'][SEED % 8][0]) + F(1, 16)) + elif name == 'wrong factor embedding': + bad['embedding'] = 9 - k + controls.append(rejected(f'k={k}: {name}', + lambda b=bad: factor_certificate(b, algebraic[b['embedding']]), expected)) + controls.append(rejected(f'k={k}: omitted 1/r normalization', + lambda r=row: factor_certificate(r, algebraic[r['embedding']], normalize=False), + 'Neumann residual admission')) + return { + 'status': 'PASS_RADIX9_ALGEBRAIC_AUDIT', 'contributor': 'William Lawyer', + 'assignment_seed': SEED, 'base_commit': manifest['base_commit'], + 'predecessor_head': manifest['predecessor_head'], + 'root_isolation_bits': PRECISION, 'field_modulus': [1, 0, 0, 1, 0, 0, 1], + 'root_rectangle': [[str(endpoint) for endpoint in interval] for interval in root], + 'primitive_embeddings': list(EMBEDDINGS), + 'exact_coefficients_power_basis': { + str(k): [[str(a) for a in h] for h in coefficients(k)] for k in EMBEDDINGS + }, + 'exact_geometric_inverse_identities': 48, + 'exact_recurrence_identities': 48, 'exact_conjugation_identities': 27, + 'coefficient_comparisons': comparisons, 'factor_certificates': certificates, + 'positive_conjugation_controls': positives, 'factor_reordering_controls': 2, + 'mathematical_negative_controls': controls, + 'scope': 'Finite radix-9 audit; conditional on PR628 scan and operator analysis. ' + 'No new kappa, complete multiplication proof, or all-radix claim.' + } + + +def encoded(result): + return (json.dumps(result, indent=2, ensure_ascii=True) + '\n').encode('utf-8') + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output', type=Path, help='Write a fresh deterministic receipt; never overwrite.') + parser.add_argument('--check', type=Path, default=ROOT / 'EXPECTED.json') + parser.add_argument('--generate', action='store_true', help='Authoring only: skip expected-receipt comparison.') + args = parser.parse_args() + if args.output: + require(not args.output.exists(), 'output already exists') + result = audit() + payload = encoded(result) + if not args.generate: + require(args.check.read_bytes() == payload, 'expected evidence differs') + if args.output: + with args.output.open('xb') as out: + out.write(payload) + print(f"{result['status']}: 6 embeddings; 54 coefficient enclosures; " + f"2 submitted factor certificates; {len(result['mathematical_negative_controls'])} rejected controls") + + +if __name__ == '__main__': + sys.dont_write_bytecode = True + try: + main() + except (AuditError, OSError, KeyError, TypeError, ZeroDivisionError) as error: + print(f'FAIL_RADIX9_ALGEBRAIC_AUDIT: {error}', file=sys.stderr) + sys.exit(1)