← back to the board
[[336,12,24]] d ≤
n
336
k
12
d
24
kd²/n
20.571
w
7
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 24, d_Z ≤ 24 · w_X = 7, w_Z = 7 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 24 · witness weight 24 (claimed upper_bound)
witness found by @vprusso · verify/ris_gpu.py (build/ris_gpu, NVIDIA A40) · found at 3×108 trials · survived 3×108 trials · 2026-09-27
witness operator (support, 24 qubits)
[3, 11, 19, 25, 57, 65, 87, 95, 103, 109, 141, 149, 181, 184, 193, 196, 232, 244, 265, 268, 277, 280, 316, 328]
d_Z 24 · witness weight 24 (claimed upper_bound)
witness found by @vprusso · verify/ris_gpu.py (build/ris_gpu, NVIDIA A40) · found at 3×108 trials · survived 3×108 trials · 2026-09-27
witness operator (support, 24 qubits)
[13, 34, 49, 63, 70, 84, 109, 127, 130, 145, 148, 166, 174, 188, 228, 242, 249, 263, 270, 284, 288, 302, 306, 320]
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 6 · H_Z 6 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 7 · H_Z 7
qubit degrees H_X 3–4 (mean 3.5) · H_Z 3–4 (mean 3.5)
trapping sets H_X (1,3)×168 (2,4)×504 (3,3)×168 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,3): 168 (1,4): 168 (2,4): 504 (2,5): 2016 (2,6): 1008 (3,3): 168 (3,5): 1848 (3,6): 17808 (3,7): 25368 (3,8): 9072 (3,9): 3024 (3,10): 672
trapping sets H_Z (1,3)×168 (2,4)×504 (3,3)×168 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,3): 168 (1,4): 168 (2,4): 504 (2,5): 2016 (2,6): 1008 (3,3): 168 (3,5): 1848 (3,6): 17808 (3,7): 25368 (3,8): 9072 (3,9): 3024 (3,10): 672

Construction & provenance

authors @vprusso
provenance submitted through the challenge
novelty novelty not audited
construction Cyclic generalized-bicycle code over Z_168 (n = 2m = 336): a(x) = 1 + x3 + x135, b(x) = 1 + x32 + x146 + x154; H_X = [circ(a)|circ(b)], H_Z = [circ(b)^T|circ(a)^T], where circ(v) has first row v and row i = v rolled by i (research/cyclic_gb.py build_cyclic_gb(168, a, b) with a, b the 0/1 first rows). k = 2 deg gcd(a, b, x168 + 1).
model Claude Claude Fable 5.1 (Claude Code) (claimed, not verified)
date 2026-09-27
family other (a tag, not a ranking)
locality unrestricted (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

[[336,12,24]] weight-7 coprime bivariate-bicycle code

Construction

Cyclic generalized-bicycle code over Z_168 (n = 2m = 336): a(x) = 1 + x^3 + x^135, b(x) = 1 + x^32 + x^146 + x^154; H_X = [circ(a)|circ(b)], H_Z = [circ(b)^T|circ(a)^T], where circ(v) has first row v and row i = v rolled by i (research/cyclic_gb.py build_cyclic_gb(168, a, b) with a, b the 0/1 first rows). k = 2 deg gcd(a, b, x^168 + 1).

Every check has weight exactly 7.

Distance evidence

The distance is a witness-backed upper bound. Every witness in the submission was validated against the published check matrices before filing.

| trials per side | lightest logical found | |---|---| | 300 | 32 | | 2,000 | 25 | | 20,000 | 24 | | 300,000,000 | X 24, Z 24 |

The deeper passes did not lower the claim.

What is not claimed

This code carries no circuit-level or logical-error-rate measurement. It came from a search whose objective was a memory-experiment comparison against the rotated surface code, but it did not reach that stage, so nothing here speaks to its performance under a decoder. The submission is a claim about n, k, d, and check weight only.

The distance is an upper bound, not a certificate. A lighter logical operator would refute it, and the witnesses are published so that anyone can try.

Reproduction

import sys; sys.path.insert(0, "research/kit")
from bb import build_bb
See the construction above.

Parity checks

X-checks 168 (max weight 7) · Z-checks 168 (max weight 7)
H_X (168 checks, sparse supports)
[0, 3, 135, 168, 200, 314, 322] [1, 4, 136, 169, 201, 315, 323] [2, 5, 137, 170, 202, 316, 324] [3, 6, 138, 171, 203, 317, 325] [4, 7, 139, 172, 204, 318, 326] [5, 8, 140, 173, 205, 319, 327] [6, 9, 141, 174, 206, 320, 328] [7, 10, 142, 175, 207, 321, 329] [8, 11, 143, 176, 208, 322, 330] [9, 12, 144, 177, 209, 323, 331] [10, 13, 145, 178, 210, 324, 332] [11, 14, 146, 179, 211, 325, 333] [12, 15, 147, 180, 212, 326, 334] [13, 16, 148, 181, 213, 327, 335] [14, 17, 149, 168, 182, 214, 328] [15, 18, 150, 169, 183, 215, 329] [16, 19, 151, 170, 184, 216, 330] [17, 20, 152, 171, 185, 217, 331] [18, 21, 153, 172, 186, 218, 332] [19, 22, 154, 173, 187, 219, 333] [20, 23, 155, 174, 188, 220, 334] [21, 24, 156, 175, 189, 221, 335] [22, 25, 157, 168, 176, 190, 222] [23, 26, 158, 169, 177, 191, 223] [24, 27, 159, 170, 178, 192, 224] [25, 28, 160, 171, 179, 193, 225] [26, 29, 161, 172, 180, 194, 226] [27, 30, 162, 173, 181, 195, 227] [28, 31, 163, 174, 182, 196, 228] [29, 32, 164, 175, 183, 197, 229] [30, 33, 165, 176, 184, 198, 230] [31, 34, 166, 177, 185, 199, 231] [32, 35, 167, 178, 186, 200, 232] [0, 33, 36, 179, 187, 201, 233] [1, 34, 37, 180, 188, 202, 234] [2, 35, 38, 181, 189, 203, 235] [3, 36, 39, 182, 190, 204, 236] [4, 37, 40, 183, 191, 205, 237] [5, 38, 41, 184, 192, 206, 238] [6, 39, 42, 185, 193, 207, 239] [7, 40, 43, 186, 194, 208, 240] [8, 41, 44, 187, 195, 209, 241] [9, 42, 45, 188, 196, 210, 242] [10, 43, 46, 189, 197, 211, 243] [11, 44, 47, 190, 198, 212, 244] [12, 45, 48, 191, 199, 213, 245] [13, 46, 49, 192, 200, 214, 246] [14, 47, 50, 193, 201, 215, 247] [15, 48, 51, 194, 202, 216, 248] [16, 49, 52, 195, 203, 217, 249] [17, 50, 53, 196, 204, 218, 250] [18, 51, 54, 197, 205, 219, 251] [19, 52, 55, 198, 206, 220, 252] [20, 53, 56, 199, 207, 221, 253] [21, 54, 57, 200, 208, 222, 254] [22, 55, 58, 201, 209, 223, 255] [23, 56, 59, 202, 210, 224, 256] [24, 57, 60, 203, 211, 225, 257] [25, 58, 61, 204, 212, 226, 258] [26, 59, 62, 205, 213, 227, 259] [27, 60, 63, 206, 214, 228, 260] [28, 61, 64, 207, 215, 229, 261] [29, 62, 65, 208, 216, 230, 262] [30, 63, 66, 209, 217, 231, 263] [31, 64, 67, 210, 218, 232, 264] [32, 65, 68, 211, 219, 233, 265] [33, 66, 69, 212, 220, 234, 266] [34, 67, 70, 213, 221, 235, 267] [35, 68, 71, 214, 222, 236, 268] [36, 69, 72, 215, 223, 237, 269] [37, 70, 73, 216, 224, 238, 270] [38, 71, 74, 217, 225, 239, 271] [39, 72, 75, 218, 226, 240, 272] [40, 73, 76, 219, 227, 241, 273] [41, 74, 77, 220, 228, 242, 274] [42, 75, 78, 221, 229, 243, 275] [43, 76, 79, 222, 230, 244, 276] [44, 77, 80, 223, 231, 245, 277] [45, 78, 81, 224, 232, 246, 278] [46, 79, 82, 225, 233, 247, 279] [47, 80, 83, 226, 234, 248, 280] [48, 81, 84, 227, 235, 249, 281] [49, 82, 85, 228, 236, 250, 282] [50, 83, 86, 229, 237, 251, 283] [51, 84, 87, 230, 238, 252, 284] [52, 85, 88, 231, 239, 253, 285] [53, 86, 89, 232, 240, 254, 286] [54, 87, 90, 233, 241, 255, 287] [55, 88, 91, 234, 242, 256, 288] [56, 89, 92, 235, 243, 257, 289] [57, 90, 93, 236, 244, 258, 290] [58, 91, 94, 237, 245, 259, 291] [59, 92, 95, 238, 246, 260, 292] [60, 93, 96, 239, 247, 261, 293] [61, 94, 97, 240, 248, 262, 294] [62, 95, 98, 241, 249, 263, 295] [63, 96, 99, 242, 250, 264, 296] [64, 97, 100, 243, 251, 265, 297] [65, 98, 101, 244, 252, 266, 298] [66, 99, 102, 245, 253, 267, 299] [67, 100, 103, 246, 254, 268, 300] [68, 101, 104, 247, 255, 269, 301] [69, 102, 105, 248, 256, 270, 302] [70, 103, 106, 249, 257, 271, 303] [71, 104, 107, 250, 258, 272, 304] [72, 105, 108, 251, 259, 273, 305] [73, 106, 109, 252, 260, 274, 306] [74, 107, 110, 253, 261, 275, 307] [75, 108, 111, 254, 262, 276, 308] [76, 109, 112, 255, 263, 277, 309] [77, 110, 113, 256, 264, 278, 310] [78, 111, 114, 257, 265, 279, 311] [79, 112, 115, 258, 266, 280, 312] [80, 113, 116, 259, 267, 281, 313] [81, 114, 117, 260, 268, 282, 314] [82, 115, 118, 261, 269, 283, 315] [83, 116, 119, 262, 270, 284, 316] [84, 117, 120, 263, 271, 285, 317] [85, 118, 121, 264, 272, 286, 318] [86, 119, 122, 265, 273, 287, 319] [87, 120, 123, 266, 274, 288, 320] [88, 121, 124, 267, 275, 289, 321] [89, 122, 125, 268, 276, 290, 322] [90, 123, 126, 269, 277, 291, 323] [91, 124, 127, 270, 278, 292, 324] [92, 125, 128, 271, 279, 293, 325] [93, 126, 129, 272, 280, 294, 326] [94, 127, 130, 273, 281, 295, 327] [95, 128, 131, 274, 282, 296, 328] [96, 129, 132, 275, 283, 297, 329] [97, 130, 133, 276, 284, 298, 330] [98, 131, 134, 277, 285, 299, 331] [99, 132, 135, 278, 286, 300, 332] [100, 133, 136, 279, 287, 301, 333] [101, 134, 137, 280, 288, 302, 334] [102, 135, 138, 281, 289, 303, 335] [103, 136, 139, 168, 282, 290, 304] [104, 137, 140, 169, 283, 291, 305] [105, 138, 141, 170, 284, 292, 306] [106, 139, 142, 171, 285, 293, 307] [107, 140, 143, 172, 286, 294, 308] [108, 141, 144, 173, 287, 295, 309] [109, 142, 145, 174, 288, 296, 310] [110, 143, 146, 175, 289, 297, 311] [111, 144, 147, 176, 290, 298, 312] [112, 145, 148, 177, 291, 299, 313] [113, 146, 149, 178, 292, 300, 314] [114, 147, 150, 179, 293, 301, 315] [115, 148, 151, 180, 294, 302, 316] [116, 149, 152, 181, 295, 303, 317] [117, 150, 153, 182, 296, 304, 318] [118, 151, 154, 183, 297, 305, 319] [119, 152, 155, 184, 298, 306, 320] [120, 153, 156, 185, 299, 307, 321] [121, 154, 157, 186, 300, 308, 322] [122, 155, 158, 187, 301, 309, 323] [123, 156, 159, 188, 302, 310, 324] [124, 157, 160, 189, 303, 311, 325] [125, 158, 161, 190, 304, 312, 326] [126, 159, 162, 191, 305, 313, 327] [127, 160, 163, 192, 306, 314, 328] [128, 161, 164, 193, 307, 315, 329] [129, 162, 165, 194, 308, 316, 330] [130, 163, 166, 195, 309, 317, 331] [131, 164, 167, 196, 310, 318, 332] [0, 132, 165, 197, 311, 319, 333] [1, 133, 166, 198, 312, 320, 334] [2, 134, 167, 199, 313, 321, 335]
H_Z (168 checks, sparse supports)
[0, 14, 22, 136, 168, 201, 333] [1, 15, 23, 137, 169, 202, 334] [2, 16, 24, 138, 170, 203, 335] [3, 17, 25, 139, 168, 171, 204] [4, 18, 26, 140, 169, 172, 205] [5, 19, 27, 141, 170, 173, 206] [6, 20, 28, 142, 171, 174, 207] [7, 21, 29, 143, 172, 175, 208] [8, 22, 30, 144, 173, 176, 209] [9, 23, 31, 145, 174, 177, 210] [10, 24, 32, 146, 175, 178, 211] [11, 25, 33, 147, 176, 179, 212] [12, 26, 34, 148, 177, 180, 213] [13, 27, 35, 149, 178, 181, 214] [14, 28, 36, 150, 179, 182, 215] [15, 29, 37, 151, 180, 183, 216] [16, 30, 38, 152, 181, 184, 217] [17, 31, 39, 153, 182, 185, 218] [18, 32, 40, 154, 183, 186, 219] [19, 33, 41, 155, 184, 187, 220] [20, 34, 42, 156, 185, 188, 221] [21, 35, 43, 157, 186, 189, 222] [22, 36, 44, 158, 187, 190, 223] [23, 37, 45, 159, 188, 191, 224] [24, 38, 46, 160, 189, 192, 225] [25, 39, 47, 161, 190, 193, 226] [26, 40, 48, 162, 191, 194, 227] [27, 41, 49, 163, 192, 195, 228] [28, 42, 50, 164, 193, 196, 229] [29, 43, 51, 165, 194, 197, 230] [30, 44, 52, 166, 195, 198, 231] [31, 45, 53, 167, 196, 199, 232] [0, 32, 46, 54, 197, 200, 233] [1, 33, 47, 55, 198, 201, 234] [2, 34, 48, 56, 199, 202, 235] [3, 35, 49, 57, 200, 203, 236] [4, 36, 50, 58, 201, 204, 237] [5, 37, 51, 59, 202, 205, 238] [6, 38, 52, 60, 203, 206, 239] [7, 39, 53, 61, 204, 207, 240] [8, 40, 54, 62, 205, 208, 241] [9, 41, 55, 63, 206, 209, 242] [10, 42, 56, 64, 207, 210, 243] [11, 43, 57, 65, 208, 211, 244] [12, 44, 58, 66, 209, 212, 245] [13, 45, 59, 67, 210, 213, 246] [14, 46, 60, 68, 211, 214, 247] [15, 47, 61, 69, 212, 215, 248] [16, 48, 62, 70, 213, 216, 249] [17, 49, 63, 71, 214, 217, 250] [18, 50, 64, 72, 215, 218, 251] [19, 51, 65, 73, 216, 219, 252] [20, 52, 66, 74, 217, 220, 253] [21, 53, 67, 75, 218, 221, 254] [22, 54, 68, 76, 219, 222, 255] [23, 55, 69, 77, 220, 223, 256] [24, 56, 70, 78, 221, 224, 257] [25, 57, 71, 79, 222, 225, 258] [26, 58, 72, 80, 223, 226, 259] [27, 59, 73, 81, 224, 227, 260] [28, 60, 74, 82, 225, 228, 261] [29, 61, 75, 83, 226, 229, 262] [30, 62, 76, 84, 227, 230, 263] [31, 63, 77, 85, 228, 231, 264] [32, 64, 78, 86, 229, 232, 265] [33, 65, 79, 87, 230, 233, 266] [34, 66, 80, 88, 231, 234, 267] [35, 67, 81, 89, 232, 235, 268] [36, 68, 82, 90, 233, 236, 269] [37, 69, 83, 91, 234, 237, 270] [38, 70, 84, 92, 235, 238, 271] [39, 71, 85, 93, 236, 239, 272] [40, 72, 86, 94, 237, 240, 273] [41, 73, 87, 95, 238, 241, 274] [42, 74, 88, 96, 239, 242, 275] [43, 75, 89, 97, 240, 243, 276] [44, 76, 90, 98, 241, 244, 277] [45, 77, 91, 99, 242, 245, 278] [46, 78, 92, 100, 243, 246, 279] [47, 79, 93, 101, 244, 247, 280] [48, 80, 94, 102, 245, 248, 281] [49, 81, 95, 103, 246, 249, 282] [50, 82, 96, 104, 247, 250, 283] [51, 83, 97, 105, 248, 251, 284] [52, 84, 98, 106, 249, 252, 285] [53, 85, 99, 107, 250, 253, 286] [54, 86, 100, 108, 251, 254, 287] [55, 87, 101, 109, 252, 255, 288] [56, 88, 102, 110, 253, 256, 289] [57, 89, 103, 111, 254, 257, 290] [58, 90, 104, 112, 255, 258, 291] [59, 91, 105, 113, 256, 259, 292] [60, 92, 106, 114, 257, 260, 293] [61, 93, 107, 115, 258, 261, 294] [62, 94, 108, 116, 259, 262, 295] [63, 95, 109, 117, 260, 263, 296] [64, 96, 110, 118, 261, 264, 297] [65, 97, 111, 119, 262, 265, 298] [66, 98, 112, 120, 263, 266, 299] [67, 99, 113, 121, 264, 267, 300] [68, 100, 114, 122, 265, 268, 301] [69, 101, 115, 123, 266, 269, 302] [70, 102, 116, 124, 267, 270, 303] [71, 103, 117, 125, 268, 271, 304] [72, 104, 118, 126, 269, 272, 305] [73, 105, 119, 127, 270, 273, 306] [74, 106, 120, 128, 271, 274, 307] [75, 107, 121, 129, 272, 275, 308] [76, 108, 122, 130, 273, 276, 309] [77, 109, 123, 131, 274, 277, 310] [78, 110, 124, 132, 275, 278, 311] [79, 111, 125, 133, 276, 279, 312] [80, 112, 126, 134, 277, 280, 313] [81, 113, 127, 135, 278, 281, 314] [82, 114, 128, 136, 279, 282, 315] [83, 115, 129, 137, 280, 283, 316] [84, 116, 130, 138, 281, 284, 317] [85, 117, 131, 139, 282, 285, 318] [86, 118, 132, 140, 283, 286, 319] [87, 119, 133, 141, 284, 287, 320] [88, 120, 134, 142, 285, 288, 321] [89, 121, 135, 143, 286, 289, 322] [90, 122, 136, 144, 287, 290, 323] [91, 123, 137, 145, 288, 291, 324] [92, 124, 138, 146, 289, 292, 325] [93, 125, 139, 147, 290, 293, 326] [94, 126, 140, 148, 291, 294, 327] [95, 127, 141, 149, 292, 295, 328] [96, 128, 142, 150, 293, 296, 329] [97, 129, 143, 151, 294, 297, 330] [98, 130, 144, 152, 295, 298, 331] [99, 131, 145, 153, 296, 299, 332] [100, 132, 146, 154, 297, 300, 333] [101, 133, 147, 155, 298, 301, 334] [102, 134, 148, 156, 299, 302, 335] [103, 135, 149, 157, 168, 300, 303] [104, 136, 150, 158, 169, 301, 304] [105, 137, 151, 159, 170, 302, 305] [106, 138, 152, 160, 171, 303, 306] [107, 139, 153, 161, 172, 304, 307] [108, 140, 154, 162, 173, 305, 308] [109, 141, 155, 163, 174, 306, 309] [110, 142, 156, 164, 175, 307, 310] [111, 143, 157, 165, 176, 308, 311] [112, 144, 158, 166, 177, 309, 312] [113, 145, 159, 167, 178, 310, 313] [0, 114, 146, 160, 179, 311, 314] [1, 115, 147, 161, 180, 312, 315] [2, 116, 148, 162, 181, 313, 316] [3, 117, 149, 163, 182, 314, 317] [4, 118, 150, 164, 183, 315, 318] [5, 119, 151, 165, 184, 316, 319] [6, 120, 152, 166, 185, 317, 320] [7, 121, 153, 167, 186, 318, 321] [0, 8, 122, 154, 187, 319, 322] [1, 9, 123, 155, 188, 320, 323] [2, 10, 124, 156, 189, 321, 324] [3, 11, 125, 157, 190, 322, 325] [4, 12, 126, 158, 191, 323, 326] [5, 13, 127, 159, 192, 324, 327] [6, 14, 128, 160, 193, 325, 328] [7, 15, 129, 161, 194, 326, 329] [8, 16, 130, 162, 195, 327, 330] [9, 17, 131, 163, 196, 328, 331] [10, 18, 132, 164, 197, 329, 332] [11, 19, 133, 165, 198, 330, 333] [12, 20, 134, 166, 199, 331, 334] [13, 21, 135, 167, 200, 332, 335]
Code ID 336-12-24 · download JSON · raw on GitHub