← back to the board
[[240,90,4]] d =
n
240
k
90
d
4
kd²/n
6.0
w
8
X/Z
1
g
0.0044
r
6.0828
layers
2
swaps
803

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)
[48, 60, 151, 180]
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)
[1, 20, 34, 51]
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)×240 (2,4)×720 (3,4)×4080 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,4): 240 (2,4): 720 (2,6): 1920 (3,4): 4080 (3,6): 7680 (3,8): 27360
trapping sets H_Z (1,4)×240 (2,4)×720 (3,4)×4080 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,4): 240 (2,4): 720 (2,6): 1920 (3,4): 4080 (3,6): 7680 (3,8): 27360
witness diameter X 2.2361 · Z 4.1231 (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 = 6.083
X checkZ checkqubit site (121)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 803 nearest-neighbor SWAPs per round in total, at most 9 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 C60 x C2 = SmallGroup(120, 31) (order 120), elements numbered as in GAP Elements(SmallGroup(order,id)) with element 0 the identity. n = 2|G| = 240; H_X = [L(a)|R(b)], H_Z = [R(b)^T|L(a)^T]; a = {0, 2, 107, 119}, b = {0, 2, 99, 118} 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 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

[[240,90,4]] — two-block group-algebra code over C60 x C2

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| = 240

Parameters are also spelled out in provenance.construction of codes/240-90-4.json.

Parity checks

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