← back to the board
[[96,36,4]] d =
n
96
k
36
d
4
kd²/n
6.0
w
8
X/Z
1
g
0.0089
r
5.099
layers
2
swaps
270

Share this result

Distance

X/Z asymmetry 1 · d_X = 4, d_Z = 4 · w_X = 8, w_Z = 8 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 4 · witness weight 4 (claimed upper_bound)
witness found by @mathysrennela · research/kit/surrogate.lightest_logical · found at 2000 trials · survived 2000 trials · 2026-10-12
witness operator (support, 4 qubits)
[3, 33, 51, 92]
d_Z 4 · witness weight 4 (claimed upper_bound)
witness found by @mathysrennela · research/kit/surrogate.lightest_logical · found at 2000 trials · survived 2000 trials · 2026-10-12
witness operator (support, 4 qubits)
[33, 38, 44, 46]
certificate exact, d = 4 · CryptoMiniSat 5.14.7 SAT
X: no logical < 4 exists; Z: no logical < 4 exists

Diagnostics

computed by the verifier from the parity checks, the layout, and the stored witnesses; shown as evidence, not used for ranking
girth H_X 4 · H_Z 4 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 8 · H_Z 8
qubit degrees H_X 4 · H_Z 4
trapping sets H_X (1,4)×96 (2,4)×288 (3,4)×1632 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,4): 96 (2,4): 288 (2,6): 768 (3,4): 1632 (3,6): 3072 (3,8): 10944
trapping sets H_Z (1,4)×96 (2,4)×288 (3,4)×1632 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,4): 96 (2,4): 288 (2,6): 768 (3,4): 1632 (3,6): 3072 (3,8): 10944
witness diameter X 3.1623 · Z 4.0 (Euclidean support diameter of the stored distance witnesses in the layout; an upper bound on the exhibited logicals’ spread, not a minimum over all logicals)

Verified 2D layout

as measured by the verifier: every check drawn over the submitted coordinates; the interaction radius is the longest dashed pair
layout contributed by @MathysRennela · Simulated annealing over integer-grid site assignments with the repo's own research/local2d/fold_layout.search_layout, single layer at radius 4 then two layers at 7, plus a divisor scan of the two-block index convention Z_l x Z_m which gives the tighter embedding here; radius and per-site occupancy re-measured with the verifier's own rule. · 2026-10-13
r = 5.099
X checkZ checkqubit site (49)2 qubits stacked (2 layers)dashed: the pair setting the interaction radiushover a check to isolate its qubits; click to pin — repeated clicks cycle through overlapping checks; click empty space to release
routing cost 270 nearest-neighbor SWAPs per round in total, at most 6 for one check (heuristic: MST lower bound on the layout, with one lattice step = the minimum qubit spacing 1; not a rank)

Construction & provenance

authors Lee, Gideon
provenance literature baseline
construction Two-block group-algebra code C(a,b) over C3 x (C4 : C4) = SmallGroup(48, 22) (order 48), elements numbered as in GAP Elements(SmallGroup(order,id)) with element 0 the identity. n = 2|G| = 96; H_X = [L(a)|R(b)], H_Z = [R(b)^T|L(a)^T]; a = {0, 4, 7, 22}, b = {0, 4, 10, 26} as element indices. Check weight 8. Parameters and blocks taken from the public code database of arXiv:2610.13880v1 (Lee, 'Bicycle Race'), github.com/gideonlsx/bicycle-race.
model Mimo-V2.6-Flash (claimed, not verified)
date 2026-10-12
notes Parameters and construction taken from the public database of arXiv:2610.13880v1. Distance is an upper bound certified by the witnesses attached here. Parameters and blocks taken from the public code database of arXiv:2610.13880v1 (Lee, 'Bicycle Race'), github.com/gideonlsx/bicycle-race @ aed705a, CC BY 4.0; rebuilt here with the repo's own group data. Distance is an upper bound certified by the attached witnesses, not the paper's exact distance.
family 2bga-nonabelian (a tag, not a ranking)
locality 2D-local bilayer (computed from the layout)
weight class weight ≤ 8 (computed)

How this code was found

the research note submitted with this code · raw markdown · all notes

[[96,36,4]] — two-block group-algebra code over C3 x (C4 : C4)

Direction & hypothesis

Cell weight-8 x unrestricted, CSS board. The argument is coverage, not discovery: this code is published in arXiv:2610.13880v1 (Lee, "Bicycle Race"), and nothing on the board occupied this (n, k, d, w) point. It advances the four-axis Pareto frontier by moving into a cell that was empty at these parameters.

What was searched

Not a search for new codes. The arXiv:2610.13880v1 database (github.com/gideonlsx/bicycle-race @ aed705a, CC BY 4.0, 12,448 records) was rebuilt here from its group and block data, then screened against every CSS entry on main under the site's Pareto rule (n <=, k >=, d >=, w <= with at least one strict) within the same weight class. Records whose parameters the paper already tabulates, and candidates claimed by other open filings, were removed first. Distances were re-searched locally:

  • X side: research/kit/surrogate.lightest_logical at 2,000 trials
  • Z side: research/kit/surrogate.lightest_logical at 2,000 trials

Evidence trail

Witness-backed upper bound, not an exact distance. The attached X and Z operators were found by the searches above and re-checked by the verifier's own criteria (in ker(opposite) and outside rowspace(own)). verify/validate_candidate.py reports passed: true and board_advancing: true, with d_only_gain: false.

The paper states an exact distance for this record, verified there with a second exact engine plus GAP rebuild and independent upper-bound attacks. That exactness is not claimed here; the board records what the witness certifies.

Dead ends

  • Direct sums of two board codes: rejected, CONTRIBUTING.md requires a single
  • connected Tanner graph and a connected stabilizer group.

  • Fitting a single-layer 2D layout to reach the local-2d cells: searched with
  • research/local2d/fold_layout.search_layout, best radii 10–13 against a ceiling of 4.0, so these codes stay unrestricted.

  • Hypergraph products of two parents from this pool: connectivity passes, but n
  • multiplies (two ~250-qubit parents give n = 80,010).

Tools

Model: Mimo-V2.6-Flash (self-reported, provenance.model), driving OpenCode. Rebuild: research/kit/group_algebra.build_2bga from the database's data/groups.jsonl Cayley table. Witness search: research/kit/surrogate (numpy backend, 2,000 trials/side screening) with the gf2_fast accelerator for longer runs. Gate: research/kit/coordination.py gate, which runs verify/validate_candidate.py unchanged. Search run by @mathysrennela.

Reproduction

from group_algebra import build_2bga
# a and b are element indices from github.com/gideonlsx/bicycle-race @ aed705a data/codes.jsonl
HX, HZ = build_2bga(mul, a, b)   # mul from data/groups.jsonl, n = 2|G| = 96

Parameters are also spelled out in provenance.construction of codes/96-36-4.json.

Parity checks

X-checks 48 (max weight 8) · Z-checks 48 (max weight 8)
H_X (48 checks, sparse supports)
[0, 4, 20, 36, 48, 52, 86, 94] [1, 8, 13, 29, 49, 56, 90, 95] [2, 11, 31, 43, 50, 59, 61, 77] [1, 3, 9, 14, 51, 59, 62, 75] [0, 4, 35, 45, 48, 52, 72, 87] [5, 16, 20, 36, 53, 64, 86, 94] [6, 18, 24, 39, 54, 66, 68, 84] [0, 5, 7, 21, 55, 66, 69, 82] [1, 8, 28, 41, 49, 56, 79, 91] [9, 13, 23, 29, 57, 71, 90, 95] [6, 10, 19, 25, 48, 53, 58, 73] [2, 11, 42, 47, 50, 59, 76, 89] [12, 27, 31, 43, 60, 61, 75, 77] [7, 13, 22, 28, 61, 73, 76, 88] [3, 8, 14, 23, 50, 51, 60, 62] [1, 9, 15, 30, 59, 63, 75, 78] [5, 16, 35, 45, 53, 64, 72, 87] [2, 12, 17, 32, 49, 57, 65, 80] [6, 18, 38, 46, 54, 66, 83, 93] [19, 24, 34, 39, 67, 68, 82, 84] [3, 15, 20, 35, 68, 80, 83, 92] [4, 7, 16, 21, 54, 55, 67, 69] [0, 5, 22, 37, 66, 70, 82, 85] [9, 23, 28, 41, 57, 71, 79, 91] [17, 24, 33, 38, 51, 63, 72, 86] [10, 18, 25, 34, 52, 58, 64, 73] [6, 19, 26, 40, 48, 53, 74, 88] [12, 27, 42, 47, 60, 75, 76, 89] [13, 21, 28, 37, 58, 61, 74, 76] [7, 22, 29, 41, 73, 77, 88, 89] [8, 15, 23, 30, 50, 60, 63, 78] [10, 26, 31, 42, 55, 70, 79, 90] [11, 17, 27, 32, 56, 65, 71, 80] [2, 12, 33, 44, 49, 57, 81, 92] [19, 34, 38, 46, 67, 82, 83, 93] [14, 20, 30, 35, 65, 68, 81, 83] [3, 15, 36, 45, 80, 84, 92, 93] [4, 16, 22, 37, 54, 67, 70, 85] [24, 32, 38, 44, 62, 72, 78, 86] [17, 33, 39, 46, 51, 63, 87, 94] [18, 26, 34, 40, 52, 64, 74, 88] [21, 29, 37, 41, 58, 74, 77, 89] [25, 31, 40, 42, 69, 79, 85, 90] [10, 26, 43, 47, 55, 70, 91, 95] [11, 27, 33, 44, 56, 71, 81, 92] [14, 30, 36, 45, 65, 81, 84, 93] [32, 39, 44, 46, 62, 78, 87, 94] [25, 40, 43, 47, 69, 85, 91, 95]
H_Z (48 checks, sparse supports)
[0, 4, 10, 26, 48, 52, 55, 70] [1, 8, 17, 33, 49, 51, 56, 63] [2, 11, 14, 30, 50, 59, 65, 81] [3, 14, 24, 39, 51, 62, 68, 84] [0, 4, 25, 40, 48, 52, 69, 85] [5, 10, 16, 26, 53, 55, 64, 70] [6, 18, 21, 37, 54, 58, 66, 74] [7, 21, 31, 43, 55, 61, 69, 77] [1, 8, 32, 44, 49, 56, 62, 78] [9, 17, 23, 33, 51, 57, 63, 71] [10, 25, 28, 41, 58, 73, 79, 91] [2, 3, 11, 15, 50, 59, 80, 92] [12, 14, 27, 30, 60, 65, 75, 81] [2, 12, 13, 28, 49, 57, 61, 76] [3, 14, 38, 46, 51, 62, 83, 93] [15, 24, 30, 39, 63, 68, 78, 84] [5, 16, 25, 40, 53, 64, 69, 85] [17, 32, 35, 45, 65, 72, 80, 87] [6, 7, 18, 22, 54, 66, 73, 88] [19, 21, 34, 37, 58, 67, 74, 82] [6, 19, 20, 35, 48, 53, 68, 83] [7, 21, 42, 47, 55, 69, 76, 89] [22, 31, 37, 43, 61, 70, 77, 85] [9, 23, 32, 44, 57, 62, 71, 78] [4, 16, 24, 38, 54, 67, 72, 86] [10, 13, 25, 29, 58, 73, 90, 95] [26, 28, 40, 41, 74, 79, 88, 91] [3, 12, 15, 27, 60, 75, 80, 92] [11, 13, 27, 28, 56, 61, 71, 76] [2, 12, 29, 41, 49, 57, 77, 89] [15, 30, 38, 46, 63, 78, 83, 93] [8, 23, 31, 42, 50, 60, 79, 90] [17, 20, 32, 36, 65, 80, 86, 94] [33, 35, 44, 45, 72, 81, 87, 92] [7, 19, 22, 34, 67, 73, 82, 88] [18, 20, 34, 35, 52, 64, 68, 83] [6, 19, 36, 45, 48, 53, 84, 93] [22, 37, 42, 47, 70, 76, 85, 89] [0, 5, 24, 38, 66, 72, 82, 86] [4, 16, 39, 46, 54, 67, 87, 94] [13, 26, 29, 40, 74, 88, 90, 95] [11, 27, 29, 41, 56, 71, 77, 89] [1, 9, 31, 42, 59, 75, 79, 90] [8, 23, 43, 47, 50, 60, 91, 95] [20, 33, 36, 44, 81, 86, 92, 94] [18, 34, 36, 45, 52, 64, 84, 93] [0, 5, 39, 46, 66, 82, 87, 94] [1, 9, 43, 47, 59, 75, 91, 95]
Code ID 96-36-4 · download JSON · raw on GitHub