Views
No views yet
(a * b) mod p across primes it never trained on,
by running one learned per-step transition inside a fixed bit-serial Horner loop.p.s' = (2s + d*x) mod p; the loop schedule (reduce a, reduce b,
multiply the two residues) is fixed by hand. The claim is the learned per-step transition and its
cross-prime transfer, not discovery of the loop.weights.pt md5: 8fc8ace7d74538b66ef5980b4e9cd0131.00 (highest_tier_above_90 = 10), reproduced across three
scorer-operand seeds, deterministic. Each full run completes in 163 to 174 seconds against a 300 second budget.480/480 exact on fresh primes across 64 to 2048-bit widths.64/64 to 0/64, so the capability sits in
the trained parameters, not a hand-coded circuit.min |logit| = 3.017).759/768; the failures concentrate at
power-of-two-adjacent (Fermat) operands, a single high-wrap transition. A Tier-0 pure-multiplication probe
(operands whose product is smaller than the modulus, so no reduction occurs) scores 40/100, so the claim is
scoped to modular multiplication on the scored distribution, not general large-integer multiplication. Full
ablations, the failure localization, and a machine-checked Lean proof of the integer algorithm are in the
paper and the code repository.1import importlib.util
2spec = importlib.util.spec_from_file_location("model", "model.py")
3m = importlib.util.module_from_spec(spec); spec.loader.exec_module(m)
4model = m.BitSerialReducer()
5model.load(".") # loads weights.pt from this directory
6# inputs are (preprocess_a(a), preprocess_b(b), preprocess_p(p)); see model.py for the I/O contract1@misc{robert_sneiderman_2026,
2 author = {Robert Sneiderman},
3 title = {bitserial-modmul-v8 (Revision b49812c)},
4 year = 2026,
5 url = {https://huggingface.co/TrickyRex/bitserial-modmul-v8},
6 doi = {10.57967/hf/9357},
7 publisher = {Hugging Face}
8}