CCZ factory without TELS

This factory uses the related 4-by-3 construction without the TELS check. Its measured checks and discard action define which shots are retained as resource preparations.

Block graph

BLOG source

BLOG 1.0

module main {
  out ccz_0: ccz = 61
  out ccz_1: ccz = 62
  out ccz_2: ccz = 63

  0: T [2, 0, 0]
  1: T [0, 2, 0]
  2: T [1, 2, 0]
  3: T [2, 2, 0]
  4: T [0, 0, 1]
  5: T [1, 0, 1]
  6: ZXX [2, 0, 1]
  7: T [3, 0, 1]
  8: ZZX [0, 1, 1]
  9: ZZX [1, 1, 1]
  10: ZZX [2, 1, 1]
  11: ZXX [0, 2, 1]
  12: ZXX [1, 2, 1]
  13: ZXX [2, 2, 1]
  14: T [3, 2, 1]
  15: ZXX [0, 0, 2]
  16: ZXX [1, 0, 2]
  17: ZXX [2, 0, 2]
  18: ZXX [3, 0, 2]
  19: ZZX [0, 1, 2]
  20: ZZX [1, 1, 2]
  21: ZZX [2, 1, 2]
  22: ZZX [3, 1, 2]
  23: ZXX [0, 2, 2]
  24: ZXX [1, 2, 2]
  25: ZXX [2, 2, 2]
  26: ZXX [3, 2, 2]
  27: ZXX [0, 0, 3]
  28: ZXX [1, 0, 3]
  29: ZXX [2, 0, 3]
  30: ZXZ [3, 0, 3]
  31: ZXX [0, 1, 3]
  32: ZZX [1, 1, 3]
  33: ZZX [2, 1, 3]
  34: ZZX [3, 1, 3]
  35: ZXZ [0, 2, 3]
  36: ZXX [1, 2, 3]
  37: ZXZ [2, 2, 3]
  38: ZXX [3, 2, 3]
  39: XY [1, 0, 4]
  40: XY [2, 0, 4]
  41: ZXZ [3, 0, 4]
  42: ZXZ [0, 1, 4]
  43: XXZ [1, 1, 4]
  44: XXZ [2, 1, 4]
  45: ZXZ [3, 1, 4]
  46: ZXZ [0, 2, 4]
  47: XY [1, 2, 4]
  48: XY [2, 2, 4]
  49: ZXZ [3, 2, 4]
  50: XXZ [2, 0, 5]
  51: ZXZ [3, 0, 5]
  52: XXZ [2, 1, 5]
  53: ZXZ [3, 1, 5]
  54: ZXZ [0, 2, 5]
  55: XXZ [1, 2, 5]
  56: XXZ [2, 2, 5]
  57: ZXZ [3, 2, 5]
  58: ZXX [3, 0, 6]
  59: ZXX [3, 1, 6]
  60: ZXX [3, 2, 6]
  61: Port [3, 0, 7]
  62: Port [3, 1, 7]
  63: Port [3, 2, 7]
  0 -> +Z
  1 -> +Z
  2 -> +Z
  3 -> +Z
  4 -> +Z
  5 -> +Z
  6 -> +Y
  6 -> +Z
  7 -> +Z
  8 -> +X
  8 -> +Y
  9 -> +X
  9 -> +Y
  10 -> +Y
  11 -> +Z
  12 -> +Z
  13 -> +Z
  14 -> +Z
  15 -> +Y
  15 -> +Z
  16 -> +Y
  16 -> +Z
  17 -> +Y
  17 -> +Z
  18 -> +Y
  18 -> +Z
  19 -> +X
  19 -> +Y
  20 -> +Y
  21 -> +X
  21 -> +Y
  22 -> +Y
  23 -> +Z
  24 -> +Z
  25 -> +Z
  26 -> +Z
  27 -> +Y
  28 -> +Y
  28 -> +Z
  29 -> +Y
  29 -> +Z
  30 -> +Z
  31 -> +Z
  32 -> +X
  32 -> +Y
  33 -> +X
  34 -> +Y
  35 -> +Z
  36 -> +Z
  37 -> +Z
  38 -> +Z
  41 -> +Z
  42 -> +X
  43 -> +X
  44 -> +X
  45 -> +Z
  46 -> +Z
  49 -> +Z
  50 -> +X
  50 -> +Y
  51 -> +Z
  52 -> +X
  52 -> +Y
  53 -> +Z
  54 -> +X
  55 -> +X
  56 -> +X
  57 -> +Z
  58 -> +Z
  59 -> +Z
  60 -> +Z

  mz2456 = measure 8 -> +X
  mz0145 = measure 19 -> +X
  mz2367 = measure 21 -> +X
  mz1257b = measure 33 -> +X
  mx1357 = measure 50 -> +X
  mz1257 = mz1257b ^ mz0145
  s0 = mz2456 ^ mz2367 ^ mz0145
  s2 = mz1257
  s4 = mz2456 ^ mz2367
  s6 = mz1257 ^ mz2367
  pass1 = mx1357
  discard if pass1
  resolve 39 if !s0
  resolve 40 if !s2
  resolve 47 if !s4
  resolve 48 if !s6
  feedback X 61
  feedback X 62
  feedback X 63

}

See BLOG Format for the syntax or return to all examples.