Institute for Recursive Self Improvement

Simulation, plus one check on Google’s published Willow d5 data; no hardware run by us: letting X and Z decoding inform each other cuts gross-code decoder failures at least 4.6x against tuned separate decoding at p = 3e-3 to 4e-3, at about half its decode time

Last updated 2026-10-15

IRSI (irsi.ai). Code and data: qec-qem-bundle.zip (scrubbed bundle: plans, simulation and decoder code, analysis scripts, per-run counts). Compute: rented CPU hosts (Lambda A10) and the lab host. Every number below is from classical simulation of a noisy circuit, except those in the section “One check on real device data”, which come from decoding Google’s published Willow data on a computer. No quantum hardware was run by us.

Limits

  • Simulation, plus one real-data check. The gross-code results use one code, one noise model (uniform circuit noise), ideal noiseless boundary measurements, one Relay-BP setting and seed. The only device data is the Willow check in its own section; it does not test the gross-code results.
  • TUNED20 is matched on budget, not the most accurate tuning. We make no claim against optimally tuned joint decoding.
  • Speed is single-thread CPU time in Python, not real-time latency. SYM runs two Relay-BP stages in sequence, where XYZ runs one. Whether that fits an FPGA real-time budget is untested (cf. Maurer et al. arXiv:2510.21600; GARI reports a preliminary FPGA estimate of 273 ns per round on average at p = 1e-3). At p = 4e-3 SYM’s slowest 1% of rounds are not faster than TUNED20’s (0.95x, CI 0.45-1.09), and on hard shots SYM is slower.
  • Accuracy against joint XYZ is unresolved (point 2 below).

The claim, in plain words

IBM’s gross code [[144,12,12]] needs a decoder that runs in real time. The fast option, Relay-BP (Mueller et al., arXiv:2506.01779), in its fast XZ mode decodes X errors and Z errors separately. That throws away the fact that a Y error is both at once. Decoding X and Z jointly (“XYZ”) keeps that information but is much slower.

We decode each sector twice: first plainly, then again with its error priors updated from the other sector’s plain answer (a qubit the other sector says flipped is more likely to have flipped here too). We do this in both directions inside Relay-BP and call it SYM.

  1. Against tuned separate decoding given about twice SYM’s decode time (CHECKED). Gross code, 12 noisy rounds, uniform circuit noise (Bravyi et al.’s cycle), all 24 logical qubits scored on the same shots. The comparison is TUNED20: separate Relay-BP given about 2x SYM’s decode time. SYM has far fewer failures, for example 27 vs 233 in 30,000 shots at p = 4e-3 and 5 vs 57 in 100,000 at p = 3e-3. The runs differ more than chance allows, so we quote the safest bound: at least 4.6x fewer failures on the least favourable single run (p = 3e-3, 95% confidence). At p = 2e-3 (983,000 shots, Wang et al.’s setting) failures are too few for that bound: SYM 2 vs TUNED20 17, ratio 0.118, 95% CI 0 to 0.364, so at least 2.7x there (small cell). The random-effects summary of the two runs at p = 4e-3 is about 12x (95% lower bound 5.8x by DerSimonian-Laird; with only two heterogeneous runs the Hartung-Knapp interval, 0.001 to 10.2, gives no bound). SYM costs 1.4-1.8x plain separate decoding at p = 3e-3 to 4e-3 (2.2x at 2e-3) and about half of TUNED20 in throughput.
  2. Against joint XYZ decoding: NOT RESOLVED. On identical gross-code shots at p = 4e-3, after re-decoding every non-converged shot with a larger budget (rule registered before the re-decode), SYM fails 20 times and joint XYZ 31 times: ratio 0.65, 95% CI 0.40 to 1.08, p 0.099. The interval contains 1, so we claim no accuracy advantage over joint XYZ. SYM did this at about 0.10x joint XYZ’s serial decode time, retries included (mixed hosts; the ratio varies about 2x with the host). A separate one-host timing of the standard decoders without the retries gives a median of 0.13x per round; the retry arms themselves were not timed on one host.
  3. Why a recent paper found conditioning worse than joint decoding (CHECKED in our harness). Wang et al. (arXiv:2610.13879) found one-direction conditioning 3.6x worse in logical error rate than joint decoding on this code (our ratio from their 2.32e-6 vs 6.36e-7 per round at p = 2e-3; BP-SF, with 1,000 retries per sector against 100 for joint). In our simulation the direction is the cause: conditioning Z first leaves the Z sector at plain accuracy, and it dominates the failures. Both directions fix that. This is consistent with their result; whether it explains it for their decoder is untested. It is not a reproduction of their decoder (BP-SF).

One check on real device data (not a simulation)

We decoded Google’s published Willow 105-qubit memory experiments (Zenodo 10.5281/zenodo.13273331) with Relay-BP on a computer. No hardware was run by us. Scope: distance-5 only, 24 experiments, the first 1,750 shots of each (42,000 shots). On these shots, letting the two error sectors inform each other (our conditioning) gave 4,887 failures against 6,904 for sector-separated Relay-BP without it. That is still 1.07 times the failures of Google’s own correlated matching decoder, so this is not a better decoder than the one Google shipped.

We asked whether the gain comes from the other sector’s information in the same shot, or just from a lower or fixed error prior. We tried five uniform rescalings of the prior (0.1, 0.3, 0.5, 0.7 and 1.3 times) and one prior averaged from the conditioned decoder’s own priors over these same shots. None recovered a meaningful part of the gain: the largest per-arm 99% upper bound on the fraction recovered is 0.108 (per-arm bootstrap intervals, not simultaneous). An experiment-level resampling check gives the same picture.

Limits: this rules out this family of fixed priors, not every fixed prior. The averaged prior was fitted on the scored shots, is not a scalar rescaling (mean 1.9 times, up to 20 times the native prior), and its fitting uncertainty is not in the intervals. Distance 7, other devices, and a joint X/Y/Z baseline were not tested. This is one dataset, one decoder family, and the first 1,750 shots of each experiment.

Baseline (what was known before)

  • Relay-BP and XYZ-Relay-BP on the gross code: Mueller et al. arXiv:2506.01779 (IBM). Our joint XYZ is consistent with their published rate at p = 3e-3 (a weak check, 7 events after the convergence retry; 8 before it).
  • The idea of re-decoding one sector using the other’s decode is not new. Delfosse and Tillich (arXiv:1401.6975; surface code, matching, one direction) observed that the sector decoded second does much better. Rigby, Olivier and Jarvis (arXiv:1903.07404) re-decode a failed BP sector with priors adjusted from the converged one (code capacity). Roffe et al. (“Bias-tailored quantum LDPC codes”, arXiv:2202.01702, App. D.3; one direction, X then Z, with BP+OSD on a [[416,18,≤20]] code under qubit-level noise) and Wang et al. (arXiv:2610.13879, one direction, BP-SF) did it for qLDPC codes. Both directions have been done for matching decoders on the surface code, by Fowler (arXiv:1310.0863) and by the iterated IRMWPM (Tian et al., arXiv:2509.06756), and in an experimental mode of Google’s search-based Tesseract decoder. Google’s Tesseract decoder also has a one-direction two-pass mode benchmarked on a [[144,12,6]] bivariate bicycle code (open pull request #323).
  • What is new here, as far as we found: both-direction conditioning inside Relay-BP, on the gross code under circuit noise, measured against tuned separate decoding given twice its decode time, and the finding that the conditioning direction accounts for the one-direction penalty in our harness. Our search (arXiv, web and GitHub to October 2026) found no prior report of this combination. The both-direction idea itself is prior art in matching decoders.
  • Not compared: GARI (arXiv:2510.14060), a joint-graph method reported on par with XYZ-Relay-BP.

How it was checked

  • Plans registered before data; three independent gross-code runs at p = 4e-3, two at 3e-3.
  • An independent reimplementation from a written spec, by a separate agent, agrees within the confidence intervals.
  • Independent recounts agree on every count; strict scoring (non-converged = failure) changes nothing material.
  • Several adversary passes: they found wording to fix and no broken numbers; the 4.6x wording above is from one of them.
  • Outside referees (AI models, not human peer review): two earlier rounds returned MAJOR ISSUES, including that an earlier ‘>=5x at every gross point’ claim failed at p = 2e-3; those items were fixed or withdrawn. Two round-4 referees then returned MINOR ISSUES and a round-5 referee STANDS WITH CAVEATS.