{
 "schema_version": "0.2",
 "name": "[[56,2,8]] generalized bicycle code",
 "code_type": "CSS",
 "n": 56,
 "k": 2,
 "checks": {
  "X": [
   [
    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
   ]
  ],
  "Z": [
   [
    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
   ]
  ]
 },
 "distance": {
  "d": 8,
  "X": {
   "value": 8,
   "confidence": "upper_bound",
   "witness": [
    8,
    9,
    17,
    26,
    30,
    31,
    33,
    54
   ]
  },
  "Z": {
   "value": 8,
   "confidence": "upper_bound",
   "witness": [
    1,
    2,
    3,
    5,
    26,
    32,
    41,
    52
   ]
  }
 },
 "provenance": {
  "authors": [
   "Wang, Renren",
   "Pryadko, Leonid P."
  ],
  "origin": "baseline",
  "construction": "Generalized bicycle code, circulant size 28, a(x) = 1 + x^1 + x^2 + x^4, b(x) = 1 + x^19.",
  "date": "2022-03-31",
  "references": [
   "arXiv:2203.17216"
  ],
  "notes": "Distance d=8 from arXiv:2203.17216; witness here is a decoder-found logical operator of that weight (upper bound).\n\nLayout 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",
 "locality": {
  "coordinates": [
   [
    0.0,
    0.0
   ],
   [
    1.0,
    0.0
   ],
   [
    2.0,
    0.0
   ],
   [
    3.0,
    0.0
   ],
   [
    0.0,
    1.0
   ],
   [
    1.0,
    1.0
   ],
   [
    2.0,
    1.0
   ],
   [
    3.0,
    1.0
   ],
   [
    0.0,
    2.0
   ],
   [
    1.0,
    2.0
   ],
   [
    2.0,
    2.0
   ],
   [
    3.0,
    2.0
   ],
   [
    0.0,
    3.0
   ],
   [
    1.0,
    3.0
   ],
   [
    2.0,
    3.0
   ],
   [
    3.0,
    3.0
   ],
   [
    0.0,
    4.0
   ],
   [
    1.0,
    4.0
   ],
   [
    2.0,
    4.0
   ],
   [
    3.0,
    4.0
   ],
   [
    0.0,
    5.0
   ],
   [
    1.0,
    5.0
   ],
   [
    2.0,
    5.0
   ],
   [
    3.0,
    5.0
   ],
   [
    0.0,
    6.0
   ],
   [
    1.0,
    6.0
   ],
   [
    2.0,
    6.0
   ],
   [
    3.0,
    6.0
   ],
   [
    0.0,
    0.0
   ],
   [
    1.0,
    0.0
   ],
   [
    2.0,
    0.0
   ],
   [
    3.0,
    0.0
   ],
   [
    0.0,
    1.0
   ],
   [
    1.0,
    1.0
   ],
   [
    2.0,
    1.0
   ],
   [
    3.0,
    1.0
   ],
   [
    0.0,
    2.0
   ],
   [
    1.0,
    2.0
   ],
   [
    2.0,
    2.0
   ],
   [
    3.0,
    2.0
   ],
   [
    0.0,
    3.0
   ],
   [
    1.0,
    3.0
   ],
   [
    2.0,
    3.0
   ],
   [
    3.0,
    3.0
   ],
   [
    0.0,
    4.0
   ],
   [
    1.0,
    4.0
   ],
   [
    2.0,
    4.0
   ],
   [
    3.0,
    4.0
   ],
   [
    0.0,
    5.0
   ],
   [
    1.0,
    5.0
   ],
   [
    2.0,
    5.0
   ],
   [
    3.0,
    5.0
   ],
   [
    0.0,
    6.0
   ],
   [
    1.0,
    6.0
   ],
   [
    2.0,
    6.0
   ],
   [
    3.0,
    6.0
   ]
  ],
  "layers": 2
 },
 "circuit": {
  "d_circ": {
   "X": {
    "value": 7,
    "confidence": "upper_bound",
    "witness": [
     16237,
     16276,
     16316,
     16808,
     16872,
     17163,
     17184
    ]
   },
   "Z": {
    "value": 8,
    "confidence": "upper_bound",
    "witness": [
     12,
     15,
     92,
     129,
     203,
     325,
     326,
     650
    ]
   }
  },
  "rounds": 8,
  "stim_version": "1.16.0",
  "notes": "Interleaved two-block extraction (Bravyi et al. arXiv:2308.07915 Table 5 style): joint reset and measurement layers, 7 CX layers per round; X-check term slots [6, 3, 4, 2, 5, 1], Z-check term slots [0, 3, 4, 2, 1, 5] over terms A_0..A_3, B_0..B_1; terms recovered from H by commuting permutation decomposition; generated by research/circuit_seed_twoblock.py; X memory: an exact SAT search (kissat, weight cap 7, all observables) found this weight-7 undetected logical fault set in the final round that the seeded and RIS searches had missed, so d_circ.X <= 7"
 }
}
