← back to the board
[[38,10,3]] d ≤
n
38
k
10
d
3
kd²/n
2.368
w
5
X/Z
1
g
0.0113
r
5.3852
layers
1
swaps
150

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 3, d_Z ≤ 3 · w_X = 5, w_Z = 5 (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 operator (support, 3 qubits)
[6, 18, 34]
d_Z 3 · witness weight 3 (claimed upper_bound)
witness operator (support, 3 qubits)
[12, 29, 36]
certificate none yet · distance stands as a self-certified upper bound (d ≤)

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 8 · H_Z 8 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 4–5 (mean 4.857) · H_Z 4–5 (mean 4.857)
qubit degrees H_X 1–2 (mean 1.789) · H_Z 1–2 (mean 1.789)
trapping sets H_X (1,1)×8 (2,1)×31 (3,0)×4 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,1): 8 (1,2): 30 (2,1): 31 (2,2): 101 (3,0): 4 (3,1): 112 (3,2): 336 (3,3): 45 (3,4): 83
trapping sets H_Z (1,1)×8 (2,1)×31 (3,0)×4 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,1): 8 (1,2): 30 (2,1): 31 (2,2): 101 (3,0): 4 (3,1): 112 (3,2): 336 (3,3): 45 (3,4): 83
witness diameter X 3.0 · Z 3.6056 (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/38-10-3/ · canonical noise recipe, 3 rounds, stim 1.16.0
d_circ ≤ 2 (min over bases; penalty-only, clamped to ≤ d)
d_circ^X 2 · fault-set witness of 2 mechanisms (claimed upper_bound)
witness fault set (mechanism indices in the committed .dem, 2)
[544, 553]
d_circ^Z 2 · fault-set witness of 2 mechanisms (claimed upper_bound)
witness fault set (mechanism indices in the committed .dem, 2)
[1782, 1783]
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 = 5.385
X checkZ checkqubit site (38)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 150 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

provenance submitted through the challenge
novelty novelty not audited
construction Check deletion and degree-one r=1 removal from board [[40,10,4]]: drop qubits 19 and 31 plus one X and one Z stabilizer; found and reconstructed by MiMo-V2.6-Flash.
model MiMo-V2.6-Flash (claimed, not verified)
date 2026-09-26
notes Found and reconstructed by MiMo-V2.6-Flash.
family other (a tag, not a ranking)
locality 2D-local bilayer (computed from the layout)
weight class weight ≤ 6 (computed)

How this code was found

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

[[38,10,3]] — check-deleted derivative of the board's [[40,10,4]]

Direction & hypothesis

Target cell: weight-6 x local-2d-bilayer at the small-n end (the gate buckets this code under weight-6; its own max check weight is 5). The board's codes/40-10-4.json (n=40, k=10, d=4, w=5, one-layer layout, interaction radius 5.3852) sits one check away from a lighter code: delete one X stabilizer and one Z stabilizer, drop the two qubits that go degree-one, and k is expected to hold at 10 while n falls to 38. The two board points at d=3 that this shape can beat are codes/42-8-3.json (n=42, w=6) and codes/45-9-3.json (n=45, w=5): same distance, larger n, smaller k.

What was searched

Bounded check deletion plus degree-one r=1 removal applied to small board codes (campaign label "bounded removal", 2026-09-17). This candidate is one survivor of that screen. Screening used small random-information-sampling budgets; the survivor was then re-screened by the repo's trusted gate at a fresh random seed, and only then packaged.

Evidence trail

Trusted gate verify/validate_candidate.py (seed 351417379): passed true, no lighter logical in 4020 RIS trials, no exact duplicate, no WL equivalent, board_advancing true, advances by k, n and w, cell weight-6 x local-2d-bilayer.

Packaging ladder: the default 20000-trial witness search per side plus a 2000000-trial accelerator pass returned d_X<=3 and d_Z<=3, so the claim is d<=3 as a witness-backed upper bound, not an exact distance. Structural verification: 14 X checks, 14 Z checks, max check weight 5, k=10, score kd^2/n = 2.368. Circuit tier verified at d_circ <= 2 (X 2, Z 2) over 3 rounds, generic sequential schedule.

Dead ends

Two closer siblings did not survive refutation: [[39,9,4]] and [[39,10,4]] were refuted by weight-3 Z logicals and are only claimable at d=3. Once this code lands both are strictly dominated by it (n=38 < 39 and k=10 >= both), so neither is submitted.

Larger candidates from the same screen collapsed under the accelerator pass: [[288,8,26]] tightened to d<=24 (that point is already on the board), [[312,8,30]] tightened to d<=23 (then strictly dominated), [[480,4,36]] tightened to d<=32 (advances no board point). [[450,8,28]] passed the gate but is dominated by the board's [[434,10,28]]. A separate SAT bound campaign over the remaining cells returned zero models (UNSAT at the probed weight) after roughly 43 CPU-hours and was stopped.

Tools

MiMo-V2.6-Flash (provenance.model) found and reconstructed the code: it identified codes/40-10-4.json as the parent, applied check deletion plus degree-one removal, and rebuilt H_X, H_Z and the inherited layout. Reproduction below was written from that reconstruction and re-verified independently. Verification used verify/validate_candidate.py, the submission CLI in cli/qldpc.py with its default 20000-trial witness search and 2000000-trial accelerator, and verify/check_prose.py. Local CPU only, 10 cores, no paid compute.

Reproduction

Rebuild H_X and H_Z from codes/40-10-4.json using zero-based indices: delete qubit 19 and qubit 31, reindex survivors to 0..37, delete X row 4 (parent row {3, 8, 19, 29, 38}) and Z row 5 (parent row {14, 18, 26, 31, 34}), then drop those two qubits from every remaining row. Keep the parent's layout columns for the surviving qubits (1 layer, interaction radius 5.385164807134504). Expected result: 14 X rows, 14 Z rows, max check weight 5, k = 38 - rank(H_X) - rank(H_Z) = 10. Pass the draft to ./qldpc submit with --authors @mathysrennela --note-file notes/38-10-3.md, keep the witnesses the CLI returns, and re-run verify/validate_candidate.py on the draft before trusting the distance. Do not replace the returned distance with a hand-computed number.

Parity checks

X-checks 14 (max weight 5) · Z-checks 14 (max weight 5)
H_X (14 checks, sparse supports)
[2, 4, 14, 18, 34] [15, 25, 30, 32, 37] [0, 2, 10, 33, 37] [5, 9, 10, 21, 22] [5, 11, 18, 28] [6, 12, 29, 31, 34] [11, 17, 24, 26, 30] [0, 1, 3, 7, 27] [9, 17, 20, 27, 31] [13, 16, 19, 21, 23] [6, 7, 23, 25] [1, 4, 16, 24, 35] [8, 14, 19, 20, 32] [13, 26, 29, 33, 36]
H_Z (14 checks, sparse supports)
[5, 8, 9, 20, 28] [2, 4, 15, 35, 37] [9, 13, 17, 21, 26] [12, 18, 28, 34] [7, 19, 20, 23, 27] [5, 11, 15, 22, 30] [12, 24, 26, 29, 35] [3, 27, 29, 31, 36] [0, 1, 13, 16, 33] [0, 2, 3, 8, 14] [16, 23, 24, 25, 30] [10, 22, 33, 36] [10, 19, 21, 32, 37] [1, 4, 6, 7, 34]
Code ID 38-10-3 · download JSON · raw on GitHub