Skip to content

Research preprint · Open academic deposit

Per-tick certification of fixed-point spiking networks with exact spike trains

Can it be known in advance, without running both versions, that a network will produce exactly the same spikes in integer arithmetic as in floating point? This work answers yes — within a named perimeter, and stating precisely where the answer stops.

Research
Independent · EventCompute
Status
Published · DOI
Year
2026
Licence
CC BY 4.0
DOI
10.5281/zenodo.21749446
Substrate
ArithSpec AS-Q16 · Q16.16

Why this question matters

You have a neural network that works. You trained it on a powerful computer, in floating point — the default computation mode of laboratory machines. Now you want to put it inside an object: a sensor, a prosthesis, a drone, an implant. Those objects have no floating-point unit, or not enough power to afford one. They compute in integers.

A simple question with heavy consequences: does the embedded network behave like the one you validated? If it diverges, even slightly, your validation is worth nothing — you certified one system and are deploying another. In a prosthesis or a critical system, that is not an academic detail.

The usual answer is: “run both versions and compare”. That is slow, expensive, and above all says nothing about the millions of situations you did not test. This work proposes something else: a guarantee computed in advance, covering all inputs at once, or honestly declining to pronounce.

74.17%certified coverage13,628 configurations guaranteed
0false positivesacross 18,375 cases, verified from raw data
18,375configurations evaluated35 decays × 35 thresholds × 5 seeds × 3 architectures
5,000time steps eachfloat64 versus integer Q16.16

What a useful answer must guarantee

Before proposing a method, the paper sets the bar. A genuinely useful answer must satisfy three requirements, and everything that follows should be judged against them:

1Soundif it says “guaranteed identical”, that is true. Never a false guarantee — a single counter-example ruins the tool.
2Usefulit certifies a substantial share of real cases. A guarantee covering almost nothing is of no use.
3A prioricomputable before running the integer version — otherwise one may as well run everything and compare.

Remember the third: it returns at the end, and it is what separates a true certificate from a mere predictor.

The certificate formula

For each neuron i and each time step t, write Ei(t) for an upper bound on the gap between the floating-point potential and the integer potential, and mi(t) for the real margin — the distance from the potential to the threshold θ. The certificate is the worst ratio of the two, over the whole simulation:

R_cert = min(i,t)   mi(t) / Eieff(t)

R_certthe safety ratio: the smallest margin-to-uncertainty ratio encountered
mi(t)the real margin, = |θ − Vif(t)| — how much remains before the threshold
Eieff(t)the uncertainty — how far integer arithmetic may drift
minover every non-refractory neuron i and every time step t

The decision rule fits on one line: if R_cert > 1, the uncertainty never reaches the threshold anywhere — the spike trains are bit-identical.

Key point

A single number summarises the reliability of a quantised network. Above 1: guaranteed identical (under the hypotheses below). Below 1: the certificate declines to guarantee — which does not mean it diverges, only that no commitment is made.

Under which hypotheses

A guarantee is worth something only if its domain is stated. The certificate is proved exactly under these five conditions — no more, no less:

H1Leaky integrate-and-fire (LIF) neuron dynamics, as defined in the paper.
H2Q16.16 truncating quantisation, each operation losing at most ε = 2⁻¹⁶.
H3No saturation — values stay within the representable range.
H4Identical inputs, topology and random seed across the two versions.
H5At most one spike per neuron per time step.
This is not a universal theorem

  • Neither other neuron models, nor other quantisation schemes.
  • Neither saturating regimes (that is precisely what H3 excludes), nor stochastic inputs.
  • The statement is proved under H1–H5 (hand-sketched proof, see below); the body of results serves to show that these hypotheses are not vacuous and that the bound is not trivially conservative.

The nine-term error model

Where does the uncertainty Ei(t) come from? It accumulates step by step, from identified sources. This is the technical heart of the paper: seven terms that add error, and two state-update rules. Term 6 is the one that changes everything — the reason appears below.

1Propagated error, attenuatedthe previous step’s uncertainty, reduced by the leak — d_q · E_i(t−1)
2Decay quantisationthe rounding of the leak constant — |d_q − d| · |V_i^f(t−1)|
3Multiplication truncationone operation loses at most ε
4Input quantisationthe rounding of the injected current — |I_q,i − I_i|
5Addition truncationagain at most ε
6Synaptic fan-inthe error arriving through ALL active incoming synapses — the decisive ingredient — Σ_j ( |w_q,ji − w_ji| + ε )
7Threshold quantisationthe rounding of the threshold itself — E_i^eff = E_i + |θ_q − θ|
8Reseton firing, both branches reset to zero — E_i ← 0
9Refractoryneuron at rest, uncertainty frozen

The proof sketch

The reasoning is an induction over time. If every decision up to step t−1 agrees between the two versions, then they share exactly the same history — so the fan-in sum ranges over the same set of pre-synaptic neurons, and Ei(t) is a valid upper bound. If in addition the margin exceeds the uncertainty for every active neuron, the integer potential is necessarily on the same side of the threshold as the floating-point potential. The decision cannot flip.

It is this induction that makes the certificate global: R_cert > 1 asserts that no decision flips anywhere, at any instant. Keep this mechanism in mind — it also explains, further down, why the method fails for spike counts.

Status of the proof

The proof is hand-sketched, not machine-checked. The corpus of 18,375 configurations puts it to the test empirically, without replacing it. Its complete formalisation in a proof assistant remains to be done.

The result, shown directly

This is the most important figure in the paper — the one that carries the entire claim. Take the 18,375 configurations, compute each one’s certificate, and sort them by ground truth: those genuinely bit-exact in green, those that diverge in pink. Then look at where the certification gate falls.

Certificate distribution, separated by ground truthLogarithmic scale. The central claim can be read at a glance.gate R_cert = 1← certified region10^-4.0–10^-3.8 : 1 exact, 66 divergent10^-4.0–10^-3.8 : 1 exact, 66 divergent10^-3.8–10^-3.5 : 0 exact, 50 divergent10^-3.5–10^-3.2 : 0 exact, 86 divergent10^-3.2–10^-3.0 : 0 exact, 121 divergent10^-3.0–10^-2.8 : 1 exact, 190 divergent10^-3.0–10^-2.8 : 1 exact, 190 divergent10^-2.8–10^-2.5 : 1 exact, 266 divergent10^-2.8–10^-2.5 : 1 exact, 266 divergent10^-2.5–10^-2.2 : 6 exact, 330 divergent10^-2.5–10^-2.2 : 6 exact, 330 divergent10^-2.2–10^-2.0 : 3 exact, 374 divergent10^-2.2–10^-2.0 : 3 exact, 374 divergent10^-2.0–10^-1.8 : 15 exact, 405 divergent10^-2.0–10^-1.8 : 15 exact, 405 divergent10^-1.8–10^-1.5 : 26 exact, 361 divergent10^-1.8–10^-1.5 : 26 exact, 361 divergent10^-1.5–10^-1.2 : 56 exact, 234 divergent10^-1.5–10^-1.2 : 56 exact, 234 divergent10^-1.2–10^-1.0 : 124 exact, 182 divergent10^-1.2–10^-1.0 : 124 exact, 182 divergent10^-1.0–10^-0.8 : 139 exact, 162 divergent10^-1.0–10^-0.8 : 139 exact, 162 divergent10^-0.8–10^-0.5 : 257 exact, 122 divergent10^-0.8–10^-0.5 : 257 exact, 122 divergent10^-0.5–10^-0.2 : 488 exact, 39 divergent10^-0.5–10^-0.2 : 488 exact, 39 divergent10^-0.2–10^0.0 : 641 exact, 1 divergent10^-0.2–10^0.0 : 641 exact, 1 divergent10^0.0–10^0.2 : 904 exact, 0 divergent10^0.2–10^0.5 : 838 exact, 0 divergent10^0.5–10^0.8 : 1161 exact, 0 divergent10^0.8–10^1.0 : 1002 exact, 0 divergent10^1.0–10^1.2 : 1254 exact, 0 divergent10^1.2–10^1.5 : 1181 exact, 0 divergent10^1.5–10^1.8 : 1068 exact, 0 divergent10^1.8–10^2.0 : 1112 exact, 0 divergent10^2.0–10^2.2 : 936 exact, 0 divergent10^2.2–10^2.5 : 817 exact, 0 divergent10^2.5–10^2.8 : 525 exact, 0 divergent10^2.8–10^3.0 : 313 exact, 0 divergent10^3.0–10^3.2 : 387 exact, 0 divergent10^3.2–10^3.5 : 540 exact, 0 divergent10^3.5–10^3.8 : 765 exact, 0 divergent10^3.8–10^4.0 : 825 exact, 0 divergent10-410-2100102104Divergent mass to the right of the gate (false positives): 0. No pink bar crosses the line.Bit-exact (n = 15386)Divergent (n = 2989)
Figure 1 · the central figureCertificate distribution on a logarithmic scale, separated by ground truth. The shaded zone to the right of the line is the certified region. No pink bar crosses the line – not one divergent configuration is certified. Reconstructed here by recomputing the 18,375 rows of the raw file; the false-positive count shown is computed, not copied.
source: rcert_pertick_sweep_v2.jsonl – 18,375 rows, fields R_cert and match

It is as striking as it is simple: the “zero false positives” claim is not a number in a table, it is a visible absence — the emptiness to the right of the line, on the pink side.

The decision matrix

The same result, in accounting form. What the certificate says is crossed with what is true:

Genuinely bit-exact Genuinely divergent
Certified 13,628 · true positives 0 · false positives
Not certified 1,758 · false negatives 2,989 · true negatives

Reading: precision 1.000 (everything certified is exact), specificity 1.000 (no divergence certified), recall 0.886 (88.6% of exact cases are recognised). Coverage — the share of the corpus guaranteed — is 74.17%. The flip side: 1,758 configurations that are bit-exact are nonetheless not certified. The certificate is cautious; faced with doubt, it stays silent rather than risk an error.

Breakdown of the 18,375 configurationsNo certified configuration diverges – the false positive is the forbidden caseCertified exact – 13,628 (74.17 %)74.2 %Not certified, exact – 1,758 (9.57 %)Not certified, divergent – 2,989 (16.27 %)16.3 %Certified, exact13,628Not certified, exact1,758Not certified, divergent2,989False positives: 0
Figure 2The same breakdown, in proportions. Three zones: certified and exact, not certified but exact (the cost of caution), and divergent and not certified. The fourth cell – divergent and certified – is empty.
source: rcert_analysis_v2.json – confusion_Rcert_gate1

The certificate spreads over an enormous range: its median is 12.4, its 95th percentile 5,256. In other words, most certified configurations are not “just above” the gate — they are far above it. The safety margin is comfortable where it exists.

min 5% 25% median 75% 95% share > 1
0 0.004 0.862 12.36 134.9 5,256 74.17%

Is it stable?

A result that holds only on a lucky seed is worth nothing. So the soundness is checked against both the random draw and the network architecture.

Coverage by seedReported separately – never averagedseed 42 – coverage 72.33 %, n = 367572.3 %seed 42AUC 0.9951seed 123 – coverage 74.80 %, n = 367574.8 %seed 123AUC 0.9948seed 456 – coverage 77.42 %, n = 367577.4 %seed 456AUC 0.9967seed 789 – coverage 69.93 %, n = 367569.9 %seed 789AUC 0.9939seed 2024 – coverage 76.35 %, n = 367576.4 %seed 2024AUC 0.9964
Figure 3Coverage reported seed by seed, never averaged. It varies from 69.93% to 77.42% – a real spread that a single mean would have erased. But the crucial point is invisible here because it is constant: zero false positives in every stratum. Coverage moves; soundness does not.
source: rcert_analysis_v2.json – per_seed

The same holds by architecture: AUC from 0.9925 to 0.9972, coverage from 71.27% to 75.71%, and still no false positive. The guarantee does not depend on which network is being certified — only on how much of it gets certified.

The decisive ingredient

Here is the most instructive result in the paper, and it is a negative one. It concerns term 6 of the error model: synaptic fan-in.

What happens if it is omitted? An envelope bounding each neuron in isolation, without counting the error arriving through the synapses, wrongly certifies 1,898 configurations that in fact diverge. It is not merely imperfect: it is dangerous, because a certificate that lies once certifies nothing at all.

Why this term changes everything

A neuron’s uncertainty does not come only from its own operations: it comes also from every active incoming synapse, each carrying its own error. Ignoring those contributions means underestimating the uncertainty, and so believing oneself far from the threshold while already sitting on it.

The fan-in term is simply an honest count of all those incoming errors. It is what makes the certificate both sound and usable: without it one cheats; with a bound coarse enough to compensate, almost nothing gets certified.

The table below compares four ways of scoring the same corpus. It sums up the whole issue:

Method AUC False positives Coverage Sound?
Isolated envelope (no fan-in) — 1,898 — No
Raw margin alone 0.9876 — — ranking only
Conservative envelope (S_legacy) 0.9916 0 11.51% zero FP observed, but over-cautious
Per-tick certificate (with fan-in) 0.9954 0 74.17% Yes, under H1–H5

The core of the paper in one sentence

As classifiers, the three scores are nearly equivalent (AUC 0.988 to 0.995). The certificate does not succeed by discriminating better — it succeeds by staying sound at useful coverage: the same zero false positives as the cautious version, but 6.4 times more guaranteed cases.

Where divergence hides

A natural question: what makes a network diverge? The answer is clear-cut, and it is not the architecture.

Divergence is driven by memory, not by architectureDivergence rate as a function of decay (the neuron leak constant)100%75%50%25%0%decay 0.5 : 0.8% divergentdecay 0.5146764705882353 : 1.3% divergentdecay 0.5293529411764706 : 1.5% divergentdecay 0.5440294117647059 : 1.3% divergentdecay 0.5587058823529412 : 1.1% divergentdecay 0.5733823529411765 : 1.1% divergentdecay 0.5880588235294117 : 1.5% divergentdecay 0.602735294117647 : 1.7% divergentdecay 0.6174117647058823 : 1.9% divergentdecay 0.6320882352941176 : 2.3% divergentdecay 0.6467647058823529 : 2.7% divergentdecay 0.6614411764705882 : 2.3% divergentdecay 0.6761176470588235 : 2.7% divergentdecay 0.6907941176470589 : 3.6% divergentdecay 0.7054705882352941 : 3.2% divergentdecay 0.7201470588235295 : 4.6% divergentdecay 0.7348235294117647 : 3.6% divergentdecay 0.7495 : 8.8% divergentdecay 0.7641764705882352 : 6.7% divergentdecay 0.7788529411764706 : 7.8% divergentdecay 0.7935294117647058 : 9.5% divergentdecay 0.8082058823529412 : 11.2% divergentdecay 0.8228823529411764 : 11.0% divergentdecay 0.8375588235294118 : 13.9% divergentdecay 0.852235294117647 : 14.5% divergentdecay 0.8669117647058824 : 19.4% divergentdecay 0.8815882352941177 : 19.6% divergentdecay 0.896264705882353 : 21.9% divergentdecay 0.9109411764705881 : 25.5% divergentdecay 0.9256176470588235 : 29.5% divergentdecay 0.9402941176470588 : 37.9% divergentdecay 0.9549705882352941 : 53.5% divergentdecay 0.9696470588235294 : 70.5% divergentdecay 0.9843235294117647 : 85.1% divergentdecay 0.9990000000000001 : 85.5% divergentdecay 0.5decay 0.9990000000000001Below decay 0.75: 2.56% divergent. Above: 30.78%. A long memory accumulates error before the leak can damp it.
Figure 4Divergence rate as a function of decay – the leak constant, that is, the neuron memory. Below 0.75, only 2.56% of configurations diverge; above it, 30.78%, rising to 85% for the longest memories. Recomputed from the 18,375 raw rows.
source: rcert_pertick_sweep_v2.jsonl – grouped by decay
Why memory makes it worse

A long-memory neuron damps slowly: each rounding error accumulates before the leak carries it away. A short-memory neuron sheds it almost at once, before it grows. Next to that effect, the choice of architecture counts for little (17%, 13%, 19% across the three tested).

The stress test

A certificate is not judged on easy cases. So 520 configurations were built to trap it: maximal synaptic synchronisation, saturation, thresholds sitting exactly on a rounding boundary, weights pushed to their limits, firing at the very first instant, very long memory close to threshold.

Trap category n Certified Certified AND divergent
Margin below half a threshold step 160 0 0
Maximal synchronous fan-in 150 150 0
Threshold on a rounding boundary 40 39 0
Weights at their limits 40 40 0
Firing at the first instant 30 30 0
Close to threshold, long memory 30 17 0
Silent networks 10 10 0
Total within the H1–H5 domain 460 286 0
Positive and negative saturation (outside H3) 60 criterion positive, not certified by the theorem 0 observed

Two rows say something. The 160 “half a step from threshold” configurations are all genuinely bit-exact — and none is certified. The certificate is maximally cautious there: it is not wrong, it is silent, and that row measures the price of its caution. The “long memory close to threshold” row is the only one where real divergences exist (11 out of 30): the certificate certifies 17 of them, none divergent.

The crucial distinction: of 520 traps, 460 lie within the theorem’s domain and 0 defeat it. The 60 saturating cases fall outside hypothesis H3: the criterion exceeds 1 there with no divergence observed, but that is not certification by the theorem. The domain where a proof applies and the domain where good behaviour has been observed are two different things, and this site never conflates them.

Where the method fails

The paper’s subtitle is “and why the same technique fails for counts”. Here is the exact frontier of the technique, and why it falls precisely there.

The tempting idea would be to extend the certificate from spike timings to the mere number of spikes. One might accept that spikes shift a little, as long as their count stays the same. But the per-neuron bound that worked for timings becomes unsound for counts: it is violated on 2,660 of the 18,375 configurations.

Attempted count bound Violations / 18,375 Sound?
Naive (per neuron) 2,660 No
Per-neuron cascade 2,660 No
Network fallback (global T − t0) 0 sound, but trivial

Why does it fail? It traces directly back to the induction in the proof. A neuron’s bound assumes it receives the same incoming signal in both versions. That holds as long as nothing has diverged. But as soon as a single neuron diverges, the assumption falls for every neuron downstream — and their bounds no longer mean anything.

Local, neuron-by-neuron certification is not closed under the causality of the network: one local divergence can invalidate the bounds of every neuron it can reach.

A sound bound for counts does exist — but it is empty of meaning. On 193 configurations whose real count error is exactly zero, this “safe” bound still certifies a possible error of 4,807 on average. It is technically right, and it is useless. The paper presents it for what it is — a universal fallback after loss of synchronisation — and never as a rate certificate.

Three nested requirements

This diagnosis opens an elegant structure. On this corpus, three levels of requirement nest inside one another, from strictest to loosest:

Three nested requirements, from strictest to loosestacross the 18,375 configurationsBit-exact: 15386Bit-exact15,386Counts preserved: 15579Counts preserved15,579Rate correlation = 1: 15667Rate correlation = 115,667Between bit-exact and counts-preserved: 193 COMPENSATION configurations– spike timings differ, but counts coincide through flips that cancel out.
Figure 5Bit-exact (15,386) is contained in counts-preserved (15,579), itself contained in perfect rate correlation (15,667). Between the first two levels: 193 compensation configurations – the timings differ, but the counts coincide through opposite flips that cancel out. That is exactly what a true rate certificate should capture, and what the trivial fallback cannot see.
source: rcert_analysis_v2.json – hierarchy observed across the corpus

Two shades of statistical honesty the paper is careful to state. The outer shell of 88 configurations with perfect correlation but unequal counts is not an anomaly: a correlation of 1 means “affine relation”, not “equal vectors”. And two configurations show a negative correlation — flagged as a real, undiagnosed regime decorrelation rather than dismissed as noise.

Certifying the decision, not the spike

For a classification task, requiring every spike to coincide is stricter than necessary. What actually matters is that the winning class stays the same. Decision survival can therefore be measured directly.

The price of not running the integer versionTwo ways to guarantee the decision, two coveragesR_cert — certifies A PRIORIbefore running the integer version74.17%74.17%R_dec — predicted POST-EXECUTIONafter running both versions97.72%97.72%The 23-point gap is exactly what is gained by agreeing to run both branches.
Figure 6Across the 18,375 configurations, the final decision flips in only 44 cases. A decision predictor then reaches 97.72% coverage, well above the 74.17% of the spike certificate. But there is a catch.
source: rdec_summary.json – decision preservation

The catch is requirement 3 from the beginning. To be computed, this decision predictor needs to know the real error of each output — which requires having already run the integer version. It is therefore post-execution: excellent, but not an a priori certificate. Calling it a “certificate” would break the rule set at the outset.

The real guarantee, for free

Good news: among the 13,628 configurations certified by the spike certificate, not one shows a decision flip. All 44 flips fall in the uncertified zone. The certificate therefore also guarantees decisions, a priori, at 74.17%. The gap with the predictor’s 97.72% is exactly the price of not having run the integer version.

Scope and limitations

Limitations of the study

  • This is not a universal formal proof: an empirical certificate, solid across 18,375 configurations under H1–H5, with a hand-sketched proof, not machine-checked.
  • The contribution is soundness at useful coverage, not discrimination: as classifiers the three scores are nearly equivalent.
  • No population inference: the 18,375 configurations cluster into 15 topologies. The interval on the AUC is a lower bound on uncertainty, not a calibrated interval.
  • Soundness is bought with coverage: a quarter of the corpus stays out of reach, and where margins are thin the certificate stays silent.
  • No guarantee at the level of counts or rates: the per-neuron technique is unsound there (2,660 violations), and the sound fallback is useless.
  • One regime remains unexplained: the two configurations with negative correlation, flagged and undiagnosed.
  • Decision preservation is predicted, not certified (97.72% post-execution).
  • Generalisation untested: LIF neurons only, a single pair of precisions (float64 → Q16.16), random topologies of 50 to 500 neurons. Neither Izhikevich, nor int8, nor deep networks.

Algorithmic reproducibility

The artefacts, with their fingerprints

The complete sweep, the analysis file and the reconstruction scripts accompany the deposit, each with its SHA-256 fingerprint. Here are the first sixteen characters, as frozen on 21 July 2026:

rcert_pertick_sweep_v2.jsonl   041394d161497d0c   (18,375 raw rows)
rcert_analysis_v2.json         91e864d4b1a88a7a   (main analysis)
rcert_adversarial_summary.json 7ccfa73c94467e35   (the 520 traps)
sweep driver                   9fcf5b3661c32213   (measurement script)
frozen simulation core         21332f7d25e1c15f

Checking the integrity of the whole archive takes one command:

sha256sum -c SHA256SUMS.txt

Every figure on this page was recomputed from those files rather than copied from the PDF. The false-positive count in figure 1, the decay thresholds in figure 4: each is reproducible in a few lines against the raw file.