← back to the board
[[56,2,8]] d =
n
56
k
2
d
8
kd²/n
2.286
w
6
X/Z
1
g
0.0011
r
6.7082
layers
2
swaps
216

Share this result

Distance

X/Z asymmetry 1 · d_X = 8, d_Z = 8 · w_X = 6, w_Z = 6 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 8 · witness weight 8 (claimed upper_bound)
witness operator (support, 8 qubits)
[8, 9, 17, 26, 30, 31, 33, 54]
d_Z 8 · witness weight 8 (claimed upper_bound)
witness operator (support, 8 qubits)
[1, 2, 3, 5, 26, 32, 41, 52]
certificate exact, d = 8 · scipy/HiGHS MILP
X: no logical < 8 exists; Z: no logical < 8 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 6 · H_Z 6
qubit degrees H_X 2–4 (mean 3.0) · H_Z 2–4 (mean 3.0)
trapping sets H_X (1,2)×28 (2,2)×28 (3,2)×56 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,2): 28 (1,4): 28 (2,2): 28 (2,4): 280 (2,6): 56 (3,2): 56 (3,4): 1400 (3,6): 1680 (3,8): 252
trapping sets H_Z (1,2)×28 (2,2)×28 (3,2)×56 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,2): 28 (1,4): 28 (2,2): 28 (2,4): 280 (2,6): 56 (3,2): 56 (3,4): 1400 (3,6): 1680 (3,8): 252
witness diameter X 6.0828 · Z 6.7082 (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)

Circuit tier

syndrome-extraction memory circuits committed under circuits/56-2-8/ · canonical noise recipe, 8 rounds, stim 1.16.0
d_circ ≤ 7 (min over bases; penalty-only, clamped to ≤ d)
d_circ^X 7 · fault-set witness of 7 mechanisms (claimed upper_bound)
witness fault set (mechanism indices in the committed .dem, 7)
[16237, 16276, 16316, 16808, 16872, 17163, 17184]
d_circ^Z 8 · fault-set witness of 8 mechanisms (claimed upper_bound)
witness fault set (mechanism indices in the committed .dem, 8)
[12, 15, 92, 129, 203, 325, 326, 650]
no measured logical error rate yet; d_circ is a floor, and the measured tier records the prefactor it cannot see

Verified 2D layout

as measured by the verifier: every check drawn over the submitted coordinates; the interaction radius is the longest dashed pair
r = 6.708
X checkZ checkqubit site (28)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 216 nearest-neighbor SWAPs per round in total, at most 7 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 Wang, Renren and Pryadko, Leonid P.
provenance literature baseline
construction Generalized bicycle code, circulant size 28, a(x) = 1 + x1 + x2 + x4, b(x) = 1 + x19.
model classical construction (no AI model)
date 2022-03-31
notes Distance d=8 from arXiv:2203.17216; witness here is a decoder-found logical operator of that weight (upper bound). Layout certification: a verifier-accepted honest bilayer layout (stacked 4x7 grid, 2 qubits per site, layers=2, measured interaction radius ~6.708) was found by @mathysrennela (Aug 2026). It earns the code the local-2d-bilayer class and makes the site's geometric efficiency g = 4kd^2/(n rho^2 r^4) computable. Code authorship unchanged; layout credit to @mathysrennela.
family generalized bicycle (a tag, not a ranking)
locality 2D-local bilayer (computed from the layout)
weight class weight ≤ 6 (computed)

How this code was found

no research note was staged with this submission — notes are requested for new submissions (notes/README.md)

Parity checks

X-checks 28 (max weight 6) · Z-checks 28 (max weight 6)
H_X (28 checks, sparse supports)
[0, 1, 2, 4, 28, 47] [1, 2, 3, 5, 29, 48] [2, 3, 4, 6, 30, 49] [3, 4, 5, 7, 31, 50] [4, 5, 6, 8, 32, 51] [5, 6, 7, 9, 33, 52] [6, 7, 8, 10, 34, 53] [7, 8, 9, 11, 35, 54] [8, 9, 10, 12, 36, 55] [9, 10, 11, 13, 28, 37] [10, 11, 12, 14, 29, 38] [11, 12, 13, 15, 30, 39] [12, 13, 14, 16, 31, 40] [13, 14, 15, 17, 32, 41] [14, 15, 16, 18, 33, 42] [15, 16, 17, 19, 34, 43] [16, 17, 18, 20, 35, 44] [17, 18, 19, 21, 36, 45] [18, 19, 20, 22, 37, 46] [19, 20, 21, 23, 38, 47] [20, 21, 22, 24, 39, 48] [21, 22, 23, 25, 40, 49] [22, 23, 24, 26, 41, 50] [23, 24, 25, 27, 42, 51] [0, 24, 25, 26, 43, 52] [1, 25, 26, 27, 44, 53] [0, 2, 26, 27, 45, 54] [0, 1, 3, 27, 46, 55]
H_Z (28 checks, sparse supports)
[0, 9, 28, 52, 54, 55] [1, 10, 28, 29, 53, 55] [2, 11, 28, 29, 30, 54] [3, 12, 29, 30, 31, 55] [4, 13, 28, 30, 31, 32] [5, 14, 29, 31, 32, 33] [6, 15, 30, 32, 33, 34] [7, 16, 31, 33, 34, 35] [8, 17, 32, 34, 35, 36] [9, 18, 33, 35, 36, 37] [10, 19, 34, 36, 37, 38] [11, 20, 35, 37, 38, 39] [12, 21, 36, 38, 39, 40] [13, 22, 37, 39, 40, 41] [14, 23, 38, 40, 41, 42] [15, 24, 39, 41, 42, 43] [16, 25, 40, 42, 43, 44] [17, 26, 41, 43, 44, 45] [18, 27, 42, 44, 45, 46] [0, 19, 43, 45, 46, 47] [1, 20, 44, 46, 47, 48] [2, 21, 45, 47, 48, 49] [3, 22, 46, 48, 49, 50] [4, 23, 47, 49, 50, 51] [5, 24, 48, 50, 51, 52] [6, 25, 49, 51, 52, 53] [7, 26, 50, 52, 53, 54] [8, 27, 51, 53, 54, 55]
Code ID 56-2-8 · download JSON · raw on GitHub