Repository navigation
Research audit: CK Horner reversal raises scalar-grid guard from 3 to 5 bits (no new kappa) - #866
Merged
Mister-Meeseeks merged 2 commits intoOct 13, 2026
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The bidirectional Horner circuits in #837 preserve their exact endpoint maps and gate savings, but can need a finer intermediate fixed-point grid. This mathematical audit establishes the exact fractional guard requirements of all six pinned scalar programs and supplies a complete-word rounding counterexample. No new κ.
For inputs on
2^-p Z^N, with an unbounded integer part and working grid2^-(p+g) Z, exact representability of every intermediate for every input is equivalent togbeing at least the largest reduced binary denominator exponent of any prefix-map coefficient. The package gives the proof, complete prefix replays, and sharpness witnesses.The shared forward/backward guard stays 8 for CK, 27 for JP8, 19 for SW4. Eighteen of the 962 individual coefficients require one or two additional bits in the chosen reversed circuits, occurring in 21 CK, 4 JP8 and 5 SW4 additions per orientation.
For
t += (31/8)*s, reverse NAF saves one real primitive but raises local depth from three to five. Withs=1, halving rounded toward minus infinity at three fractional bits gives 4 instead of 31/8. In the complete CK forward scalar program, native basis input 16 at three bits leaves errorsL43=-1/8,L422=+1/8,L425=+1/8; four bits still fail, and five restore the exact endpoint. The original forward-only program is exact at three bits.Reproduce and validation
Expected main marker:
Fractioninterpreter agree across 12 complete traces and 1,016,110 scalar primitives, including full depth-stream digests and endpoints.make selected-record-checkpassed. Full selected cold replay was not rerun: this adds onlyresearch/dyadic-fractional-grid/and changes no selected artifact.Scope, pins and attribution
This resolves a finite precision obligation that #837 explicitly left open. It does not retract its endpoint or count claims. Frame/phase changes and recursive children are not evaluated as physical numerical operators here, so this is not a full compiler precision certificate, an overflow or floating-point stability budget, or evidence that the selected #799 construction fails. Fractional guards are not total register width. All-size realization, hosting, precision/tape and analytic assumptions remain.
Base:
f567884aeb8851b6e794af1184119a3bfbe1e631. Frozen #837 head:0a2977195efc8fb2a918fbfb694ec8d294387f08. Historical #626 and #741 sources, SPECs, manifests and checkpoint records are bound inSOURCES.json; compressed proof inputs are compared by their consumed payloads. Seed 60, alternatives, scope and overlap check are inCLAIM.json; no sprint coordination issue was available.Credit Sagar Thakrar's #696 binary copy/unit and #723 forward NAF work, Chris Pagolu's #734 bounded Horner prefixes, and the retained #622/#626/#741 construction and verification lineage named in the README. Our #837 lowering and its #696 module are vendored verbatim with attribution. Related #821 magnitude-growth, #830 transposed work and #764/#862 cyclic-inverse precision results address different obligations.
Prepared for Gareth Davidson (@bitplane) with substantial OpenAI Codex assistance. Apache-2.0. Both new arithmetic implementations were written by one AI agent; this is not independent human review or formal verification of the full multiplication theorem.