← back to the board
[[252,108,3]] d =
n
252
k
108
d
3
kd²/n
3.857
w
9
X/Z
1
g
0.0038
r
5.6569
layers
2
swaps
765

Share this result

Distance

X/Z asymmetry 1 · d_X = 3, d_Z = 3 · w_X = 9, w_Z = 9 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 3 · witness weight 3 (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, 3 qubits)
[74, 123, 249]
d_Z 3 · witness weight 3 (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, 3 qubits)
[122, 185, 248]
certificate exact, d = 3 · CryptoMiniSat 5.14.7 SAT
X: no logical < 3 exists; Z: no logical < 3 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 9 · H_Z 9
qubit degrees H_X 3–6 (mean 4.5) · H_Z 3–6 (mean 4.5)
trapping sets H_X (1,3)×126 (2,3)×252 (3,0)×126 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,3): 126 (1,6): 126 (2,3): 252 (2,4): 378 (2,6): 126 (2,7): 1512 (2,8): 378 (2,10): 756 (3,0): 126 (3,3): 756 (3,4): 1512 (3,6): 5166 (3,7): 7686 (3,8): 4536 (3,9): 5418 (3,10): 6804 (3,11): 9828 (3,13): 756 (3,14): 5418
trapping sets H_Z (1,3)×126 (2,3)×252 (3,0)×126 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,3): 126 (1,6): 126 (2,3): 252 (2,4): 378 (2,6): 126 (2,7): 1512 (2,8): 378 (2,10): 756 (3,0): 126 (3,3): 756 (3,4): 1512 (3,6): 5166 (3,7): 7686 (3,8): 4536 (3,9): 5418 (3,10): 6804 (3,11): 9828 (3,13): 756 (3,14): 5418
witness diameter X 3.1623 · Z 2.2361 (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.657
X checkZ checkqubit site (133)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 765 nearest-neighbor SWAPs per round in total, at most 8 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 C126 = SmallGroup(126, 6) (order 126), elements numbered as in GAP Elements(SmallGroup(order,id)) with element 0 the identity. n = 2|G| = 252; H_X = [L(a)|R(b)], H_Z = [R(b)^T|L(a)^T]; a = {0, 3, 25, 47, 114, 122}, b = {0, 3, 25} as element indices. Check weight 9. 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 generalized bicycle (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

[[252,108,3]] — two-block group-algebra code over C126

Direction & hypothesis

Cell weight-9plus 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| = 252

Parameters are also spelled out in provenance.construction of codes/252-108-3.json.

Parity checks

X-checks 126 (max weight 9) · Z-checks 126 (max weight 9)
H_X (126 checks, sparse supports)
[0, 5, 30, 42, 48, 78, 126, 168, 204] [1, 2, 22, 39, 51, 87, 127, 177, 213] [2, 14, 45, 57, 63, 93, 128, 183, 219] [0, 3, 15, 48, 60, 66, 126, 129, 186] [4, 16, 49, 61, 67, 96, 130, 187, 222] [5, 8, 36, 54, 66, 101, 131, 192, 227] [1, 6, 9, 39, 57, 69, 127, 132, 195] [7, 10, 40, 58, 70, 104, 133, 196, 230] [7, 8, 34, 52, 72, 106, 134, 198, 232] [2, 9, 28, 63, 75, 81, 128, 135, 201] [10, 29, 64, 76, 82, 109, 136, 202, 235] [3, 11, 30, 66, 78, 84, 129, 137, 204] [4, 12, 31, 67, 79, 85, 130, 138, 205] [13, 32, 68, 80, 86, 111, 139, 206, 237] [4, 14, 26, 43, 81, 112, 140, 207, 238] [5, 15, 20, 54, 72, 84, 131, 141, 210] [16, 21, 55, 73, 85, 115, 142, 211, 241] [6, 17, 22, 57, 75, 87, 132, 143, 213] [7, 18, 23, 58, 76, 88, 133, 144, 214] [19, 24, 59, 77, 89, 117, 145, 215, 243] [8, 18, 20, 52, 70, 90, 134, 146, 216] [19, 21, 53, 71, 91, 118, 147, 217, 244] [9, 22, 45, 81, 93, 98, 135, 148, 219] [10, 23, 46, 82, 94, 99, 136, 149, 220] [24, 47, 83, 95, 100, 120, 150, 221, 246] [0, 11, 25, 48, 84, 101, 126, 137, 151] [12, 26, 49, 85, 96, 102, 138, 152, 222] [13, 27, 50, 86, 97, 103, 139, 153, 223] [12, 14, 28, 43, 61, 98, 140, 154, 224] [13, 29, 44, 62, 99, 121, 155, 225, 247] [15, 30, 36, 72, 90, 101, 141, 156, 227] [16, 31, 37, 73, 91, 102, 142, 157, 228] [32, 38, 74, 92, 103, 123, 158, 229, 249] [1, 17, 33, 39, 75, 93, 127, 143, 159] [18, 34, 40, 76, 94, 104, 144, 160, 230] [19, 35, 41, 77, 95, 105, 145, 161, 231] [20, 34, 36, 70, 88, 106, 146, 162, 232] [21, 35, 37, 71, 89, 107, 147, 163, 233] [1, 17, 33, 38, 108, 124, 164, 234, 250] [2, 22, 39, 63, 98, 112, 128, 148, 165] [23, 40, 64, 99, 109, 113, 149, 166, 235] [24, 41, 65, 100, 110, 114, 150, 167, 236] [3, 5, 25, 42, 66, 101, 129, 151, 168] [4, 26, 43, 67, 102, 115, 130, 152, 169] [27, 44, 68, 103, 111, 116, 153, 170, 237] [26, 28, 45, 61, 79, 112, 154, 171, 238] [27, 29, 46, 62, 80, 113, 155, 172, 239] [0, 11, 25, 47, 114, 125, 173, 240, 251] [5, 30, 48, 54, 90, 106, 131, 156, 174] [31, 49, 55, 91, 107, 115, 157, 175, 241] [32, 50, 56, 92, 108, 116, 158, 176, 242] [2, 6, 33, 51, 57, 93, 132, 159, 177] [7, 34, 52, 58, 94, 109, 133, 160, 178] [35, 53, 59, 95, 110, 117, 161, 179, 243] [8, 36, 52, 54, 88, 104, 134, 162, 180] [37, 53, 55, 89, 105, 118, 163, 181, 244] [6, 33, 38, 51, 56, 119, 164, 182, 245] [9, 14, 39, 57, 81, 112, 135, 165, 183] [10, 40, 58, 82, 113, 121, 136, 166, 184] [41, 59, 83, 114, 120, 122, 167, 185, 246] [5, 11, 15, 42, 60, 84, 137, 168, 186] [12, 16, 43, 61, 85, 115, 138, 169, 187] [13, 44, 62, 86, 116, 123, 139, 170, 188] [14, 43, 45, 63, 79, 96, 140, 171, 189] [44, 46, 64, 80, 97, 121, 172, 190, 247] [3, 25, 42, 47, 65, 122, 173, 191, 248] [8, 15, 48, 66, 72, 106, 141, 174, 192] [16, 49, 67, 73, 107, 118, 142, 175, 193] [50, 68, 74, 108, 119, 123, 176, 194, 249] [2, 9, 17, 51, 69, 75, 143, 177, 195] [10, 18, 52, 70, 76, 109, 144, 178, 196] [19, 53, 71, 77, 110, 120, 145, 179, 197] [7, 20, 54, 70, 72, 104, 146, 180, 198] [21, 55, 71, 73, 105, 117, 147, 181, 199] [17, 51, 56, 69, 74, 124, 182, 200, 250] [14, 22, 28, 57, 75, 98, 148, 183, 201] [23, 29, 58, 76, 99, 121, 149, 184, 202] [24, 59, 77, 100, 122, 125, 150, 185, 203] [15, 25, 30, 60, 78, 101, 151, 186, 204] [16, 26, 31, 61, 79, 102, 152, 187, 205] [27, 32, 62, 80, 103, 123, 153, 188, 206] [4, 28, 61, 63, 81, 96, 154, 189, 207] [29, 62, 64, 82, 97, 111, 155, 190, 208] [11, 42, 60, 65, 83, 125, 191, 209, 251] [8, 20, 30, 66, 84, 90, 156, 192, 210] [21, 31, 67, 85, 91, 118, 157, 193, 211] [32, 68, 86, 92, 119, 124, 158, 194, 212] [9, 22, 33, 69, 87, 93, 159, 195, 213] [10, 23, 34, 70, 88, 94, 160, 196, 214] [24, 35, 71, 89, 95, 120, 161, 197, 215] [7, 18, 36, 72, 88, 90, 162, 198, 216] [19, 37, 73, 89, 91, 117, 163, 199, 217] [33, 38, 69, 74, 87, 92, 164, 200, 218] [28, 39, 45, 75, 93, 112, 165, 201, 219] [29, 40, 46, 76, 94, 113, 166, 202, 220] [41, 47, 77, 95, 114, 125, 167, 203, 221] [31, 43, 49, 79, 96, 115, 169, 205, 222] [32, 44, 50, 80, 97, 116, 170, 206, 223] [4, 12, 45, 79, 81, 98, 171, 207, 224] [13, 46, 80, 82, 99, 111, 172, 208, 225] [25, 47, 60, 78, 83, 100, 173, 209, 226] [20, 36, 48, 84, 101, 106, 174, 210, 227] [21, 37, 49, 85, 102, 107, 175, 211, 228] [38, 50, 86, 103, 108, 124, 176, 212, 229] [23, 40, 52, 88, 104, 109, 178, 214, 230] [24, 41, 53, 89, 105, 110, 179, 215, 231] [18, 34, 54, 90, 104, 106, 180, 216, 232] [19, 35, 55, 91, 105, 107, 181, 217, 233] [1, 51, 56, 87, 92, 108, 182, 218, 234] [46, 58, 64, 94, 109, 121, 184, 220, 235] [47, 59, 65, 95, 110, 122, 185, 221, 236] [50, 62, 68, 97, 111, 123, 188, 223, 237] [12, 26, 63, 96, 98, 112, 189, 224, 238] [13, 27, 64, 97, 99, 113, 190, 225, 239] [0, 42, 65, 78, 100, 114, 191, 226, 240] [37, 55, 67, 102, 115, 118, 193, 228, 241] [38, 56, 68, 103, 116, 119, 194, 229, 242] [41, 59, 71, 105, 117, 120, 197, 231, 243] [35, 53, 73, 107, 117, 118, 199, 233, 244] [1, 6, 69, 74, 108, 119, 200, 234, 245] [65, 77, 83, 110, 120, 125, 203, 236, 246] [27, 44, 82, 111, 113, 121, 208, 239, 247] [0, 3, 60, 83, 114, 122, 209, 240, 248] [56, 74, 86, 116, 123, 124, 212, 242, 249] [6, 17, 87, 92, 119, 124, 218, 245, 250] [3, 11, 78, 100, 122, 125, 226, 248, 251]
H_Z (126 checks, sparse supports)
[0, 3, 25, 126, 129, 151, 173, 240, 248] [1, 6, 33, 127, 132, 159, 164, 234, 245] [2, 9, 39, 127, 128, 135, 165, 177, 195] [3, 11, 42, 129, 137, 168, 191, 248, 251] [4, 12, 43, 130, 138, 140, 169, 207, 224] [5, 15, 48, 126, 131, 141, 168, 174, 186] [6, 17, 51, 132, 143, 177, 182, 245, 250] [7, 18, 52, 133, 134, 144, 178, 198, 216] [8, 20, 54, 131, 134, 146, 180, 192, 210] [9, 22, 57, 132, 135, 148, 183, 195, 213] [10, 23, 58, 133, 136, 149, 184, 196, 214] [11, 25, 60, 137, 151, 173, 186, 209, 251] [12, 26, 61, 138, 152, 154, 187, 224, 238] [13, 27, 62, 139, 153, 155, 188, 225, 239] [14, 28, 63, 128, 140, 154, 183, 189, 201] [15, 30, 66, 129, 141, 156, 186, 192, 204] [16, 31, 67, 130, 142, 157, 187, 193, 205] [17, 33, 69, 143, 159, 164, 195, 200, 250] [18, 34, 70, 144, 146, 160, 196, 216, 232] [19, 35, 71, 145, 147, 161, 197, 217, 233] [20, 36, 72, 141, 146, 162, 198, 210, 227] [21, 37, 73, 142, 147, 163, 199, 211, 228] [22, 39, 75, 127, 143, 148, 165, 201, 213] [23, 40, 76, 144, 149, 166, 202, 214, 230] [24, 41, 77, 145, 150, 167, 203, 215, 231] [25, 42, 78, 151, 168, 173, 191, 204, 226] [26, 43, 79, 140, 152, 169, 171, 205, 238] [27, 44, 80, 153, 170, 172, 206, 239, 247] [28, 45, 81, 135, 154, 171, 201, 207, 219] [29, 46, 82, 136, 155, 172, 202, 208, 220] [30, 48, 84, 126, 137, 156, 174, 204, 210] [31, 49, 85, 138, 157, 175, 205, 211, 222] [32, 50, 86, 139, 158, 176, 206, 212, 223] [33, 51, 87, 159, 164, 177, 182, 213, 218] [34, 52, 88, 134, 160, 162, 178, 214, 232] [35, 53, 89, 161, 163, 179, 215, 233, 244] [36, 54, 90, 131, 156, 162, 180, 216, 227] [37, 55, 91, 157, 163, 181, 217, 228, 241] [38, 56, 92, 158, 164, 182, 218, 229, 242] [39, 57, 93, 127, 132, 159, 165, 183, 219] [40, 58, 94, 133, 160, 166, 184, 220, 230] [41, 59, 95, 161, 167, 185, 221, 231, 243] [0, 42, 60, 126, 168, 186, 191, 209, 240] [43, 61, 96, 140, 154, 169, 187, 189, 222] [44, 62, 97, 155, 170, 188, 190, 223, 247] [45, 63, 98, 128, 148, 171, 189, 219, 224] [46, 64, 99, 149, 172, 190, 220, 225, 235] [47, 65, 100, 150, 173, 191, 221, 226, 236] [48, 66, 101, 126, 129, 151, 174, 192, 227] [49, 67, 102, 130, 152, 175, 193, 222, 228] [50, 68, 103, 153, 176, 194, 223, 229, 237] [1, 51, 69, 127, 177, 182, 195, 200, 234] [52, 70, 104, 134, 146, 178, 180, 196, 230] [53, 71, 105, 147, 179, 181, 197, 231, 244] [54, 72, 106, 131, 141, 174, 180, 198, 232] [55, 73, 107, 142, 175, 181, 199, 233, 241] [56, 74, 108, 176, 182, 200, 234, 242, 249] [2, 57, 75, 128, 132, 143, 177, 183, 201] [58, 76, 109, 133, 144, 178, 184, 202, 235] [59, 77, 110, 145, 179, 185, 203, 236, 243] [3, 60, 78, 129, 186, 204, 209, 226, 248] [4, 61, 79, 130, 154, 171, 187, 205, 207] [62, 80, 111, 155, 172, 188, 206, 208, 237] [63, 81, 112, 128, 135, 165, 189, 207, 238] [64, 82, 113, 136, 166, 190, 208, 235, 239] [65, 83, 114, 167, 191, 209, 236, 240, 246] [5, 66, 84, 129, 131, 137, 168, 192, 210] [67, 85, 115, 130, 138, 169, 193, 211, 241] [68, 86, 116, 139, 170, 194, 212, 237, 242] [6, 69, 87, 132, 195, 200, 213, 218, 245] [7, 70, 88, 133, 146, 162, 196, 198, 214] [71, 89, 117, 147, 163, 197, 199, 215, 243] [8, 72, 90, 134, 141, 156, 192, 198, 216] [73, 91, 118, 142, 157, 193, 199, 217, 244] [74, 92, 119, 158, 194, 200, 218, 245, 249] [9, 75, 93, 135, 143, 159, 195, 201, 219] [10, 76, 94, 136, 144, 160, 196, 202, 220] [77, 95, 120, 145, 161, 197, 203, 221, 246] [0, 11, 78, 126, 137, 204, 226, 240, 251] [12, 79, 96, 138, 171, 189, 205, 222, 224] [13, 80, 97, 139, 172, 190, 206, 223, 225] [14, 81, 98, 135, 140, 148, 183, 207, 224] [82, 99, 121, 136, 149, 184, 208, 225, 247] [83, 100, 122, 150, 185, 209, 226, 246, 248] [15, 84, 101, 137, 141, 151, 186, 210, 227] [16, 85, 102, 138, 142, 152, 187, 211, 228] [86, 103, 123, 139, 153, 188, 212, 229, 249] [1, 17, 87, 127, 143, 213, 218, 234, 250] [18, 88, 104, 144, 162, 180, 214, 216, 230] [19, 89, 105, 145, 163, 181, 215, 217, 231] [20, 90, 106, 146, 156, 174, 210, 216, 232] [21, 91, 107, 147, 157, 175, 211, 217, 233] [92, 108, 124, 158, 176, 212, 218, 234, 250] [2, 22, 93, 128, 148, 159, 177, 213, 219] [23, 94, 109, 149, 160, 178, 214, 220, 235] [24, 95, 110, 150, 161, 179, 215, 221, 236] [4, 26, 96, 130, 152, 189, 207, 222, 238] [27, 97, 111, 153, 190, 208, 223, 237, 239] [28, 98, 112, 148, 154, 165, 201, 224, 238] [29, 99, 113, 149, 155, 166, 202, 225, 239] [100, 114, 125, 150, 167, 203, 226, 240, 251] [5, 30, 101, 131, 151, 156, 168, 204, 227] [31, 102, 115, 152, 157, 169, 205, 228, 241] [32, 103, 116, 153, 158, 170, 206, 229, 242] [7, 34, 104, 133, 160, 180, 198, 230, 232] [35, 105, 117, 161, 181, 199, 231, 233, 243] [8, 36, 106, 134, 162, 174, 192, 227, 232] [37, 107, 118, 163, 175, 193, 228, 233, 244] [38, 108, 119, 164, 176, 194, 229, 234, 245] [10, 40, 109, 136, 166, 178, 196, 230, 235] [41, 110, 120, 167, 179, 197, 231, 236, 246] [13, 44, 111, 139, 170, 208, 225, 237, 247] [14, 45, 112, 140, 165, 171, 183, 219, 238] [46, 113, 121, 166, 172, 184, 220, 239, 247] [47, 114, 122, 167, 173, 185, 221, 240, 248] [16, 49, 115, 142, 169, 175, 187, 222, 241] [50, 116, 123, 170, 176, 188, 223, 242, 249] [19, 53, 117, 145, 179, 199, 217, 243, 244] [21, 55, 118, 147, 181, 193, 211, 241, 244] [56, 119, 124, 182, 194, 212, 242, 245, 250] [24, 59, 120, 150, 185, 197, 215, 243, 246] [29, 64, 121, 155, 184, 190, 202, 235, 247] [65, 122, 125, 185, 191, 203, 236, 248, 251] [32, 68, 123, 158, 188, 194, 206, 237, 249] [38, 74, 124, 164, 200, 212, 229, 249, 250] [47, 83, 125, 173, 203, 209, 221, 246, 251]
Code ID 252-108-3 · download JSON · raw on GitHub