MiniNeuralHorner v0.2
This is a development snapshot of NeuralHorner with 126,603 trainable parameters. It uses the same learned transition and fixed Horner schedule as the larger v8 model, but the recurrent hidden width is 61 instead of 128.
The learned cell approximates one transition:
s_next = (2*s + d*x) mod p
The cell is reused to reduce a, reduce b, and multiply the two residues.
The surrounding code sequences binary digits and carries the predicted binary
state between calls. It does not compute the modular product as a Python
integer operation.
Status
This artifact has now been measured on the SAIR Playground. It is not exact and
is not presented as a replacement for TrickyRex/bitserial-modmul-v8.
Hosted SAIR Playground result
The hosted run evaluated repository revision
d9d611833d340c72d90a97d995a94031b798cf7c and completed successfully.
| Field | Hosted result |
|---|---|
| Frontier | T9 |
| Displayed overall | 99% |
| Scored tiers 1-10 | 985/1,000 = 98.5% |
| All tiers, including the unscored tier-0 diagnostic | 1,025/1,100 |
| Runtime | 156.602 seconds |
| Artifact size | 520 KB |
| Completion time shown by the UI | 2026-08-16 20:44:20 |
| Tier | Correct |
|---|---|
| T0, unscored pure-multiplication diagnostic | 40/100 |
| T1-T9 | 100/100 on every tier |
| T10 | 85/100 |
The UI's 99% is the rounded display of the scored result, 985/1,000 = 98.5%. The 1,025/1,100 count includes tier 0 and is 93.18% across all generated cases; tier 0 does not enter the scored overall accuracy. The frontier is T9 because T10 scored 85%, below the frontier threshold.
These hosted numbers were transcribed by the submitter from the completed SAIR
Playground UI. No public run ID or receipt URL was available. Revision
16acb08ea46295ac7c45be697890fd99dbe8e5b5 was a later wording correction
with identical model.py and weights.pt; it was not the evaluated revision.
The weights were trained through state width L=512. The same tensor values then passed an update-zero L=1024 qualification:
| Check | Result |
|---|---|
| L=1024 screen, tiers 6-9, fixed and dynamic width | 64/64 for every tier and mode |
| L=1024 confirmation, tiers 6-9, fixed and dynamic width | 256/256 for every tier and mode |
| Primes below 64, fixed L=1024 | 40,954/40,954 |
| Primes below 64, dynamic L=32 | 40,954/40,954 |
A separate zero-training width screen used the same tensor values:
| Inference width | Tier | Fixed | Dynamic |
|---|---|---|---|
| 1024 | 8 | 64/64 | 64/64 |
| 1024 | 9 | 64/64 | 64/64 |
| 2048 | 9 | 64/64 | 64/64 |
| 2048 | 10 | 63/64 | 63/64 |
The tier-10 miss matters. These counts are development evidence from fixed local case sets, not a proof of exactness.
Before publication, the packaged float32 inference path was also run through the current official interface on 110 separately generated cases. It was deterministic and scored 99/100 across tiers 1-10: 10/10 on tiers 1-9 and 9/10 on tier 10. Tier 0, which is an unscored pure-multiplication diagnostic, was 6/10. This was a local interface check, not a SAIR Playground result.
Artifact identity
| Field | Value |
|---|---|
| Parameters | 126,603 |
| Packaged inference width | 2,048 bits |
| Qualified source checkpoint | d296b711bb6a7faaa1dd81e05478cfa75f11071c42a8c36fbf60e758ee7eb407 |
| Qualification receipt | 80948748a41183a809faf282600cc0f8343691b6cdb4bebaac4f1f468df95651 |
| Tensor digest | 7d1768ae1260f750e0a80ec93d98f86a80d441e479ce29e0a8e21fd098c742a3 |
weights.pt contains only the state dictionary, architecture fields, and
provenance. Optimizer, scheduler, and random-number-generator state were
removed. Full machine-readable identities and counts are in
provenance.json.
CUDA inference uses float32. On a 22-case non-edge precision check, BF16 and float32 agreed on 21 outputs but differed on one tier-10 failure. Both versions were wrong on that case, so this package keeps the precision used by the local qualification instead of claiming BF16 decision safety.
Interface
The SAIR entry class is model.MiniNeuralHorner, with output base 2. Inputs
outside the packaged width and operand limits return [0] rather than invoking
an untested fallback.
Code and research record: https://github.com/Robby955/neural-horner
License: MIT. Copyright (c) 2026 Robert Sneiderman.