tqec icon indicating copy to clipboard operation
tqec copied to clipboard

Implement fixed parity convention

Open nelimee opened this issue 9 months ago • 56 comments

This PR implements the CubeBuilder and PipeBuilder interfaces for the fixed parity convention.

TODO list:

  • [x] Fix duplicate detectors because UP and DOWN extended plaquettes have a shared syndrome qubit.
  • [x] Fix missing detector in move rotation.
  • [x] Plaquette.project_on_data_qubit_indices does the opposite of what the documentation says it does. It is only used in ExtendedPlaquette, so should not be too much of a hassle to fix.
  • [ ] Address all comments from code review,
  • [ ] Try to address #578 by changing schedules

nelimee avatar Apr 08 '25 08:04 nelimee

At the moment:

  • mypy is failing, and this looks like a false positive.
  • I initially thought that only the extended plaquettes should be alternated, but all layers in the same timeslice as the spatial junction should be. That is a global change that can be done in multiple ways, and I am not sure what is the best one.

Everything else should be implemented. It seems like there are still scheduling issues somewhere, but there should be only a few left as I already corrected quite a few.

nelimee avatar Apr 11 '25 09:04 nelimee

At the current commit, the detectors and observables seem correct, but the code distance is not kept.

I had to change how extended plaquettes are reversed due to a schedule issue (I need to check it again to explain it correctly), and the problem probably comes from that change. I will investigate later.

nelimee avatar Apr 16 '25 14:04 nelimee

At the current commit, the detectors and observables seem correct, but the code distance is not kept.

It should be expected that the circuit distance is code distance minus 1. How much is the distance decreased?

inmzhang avatar Apr 16 '25 14:04 inmzhang

What code distance are you seeing?

On Wed, Apr 16, 2025, 8:34 AM Adrien Suau @.***> wrote:

At the current commit, the detectors and observables seem correct, but the code distance is not kept.

I had to change how extended plaquettes are reversed due to a schedule issue (I need to check it again to explain it correctly), and the problem probably comes from that change. I will investigate later.

— Reply to this email directly, view it on GitHub https://github.com/tqec/tqec/pull/562#issuecomment-2809790057, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKAXTDR32LJYX53NDNCKYD2ZZS7RAVCNFSM6AAAAAB2VS5X7KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQMBZG44TAMBVG4 . You are receiving this because you are subscribed to this thread.Message ID: @.***> nelimee left a comment (tqec/tqec#562) https://github.com/tqec/tqec/pull/562#issuecomment-2809790057

At the current commit, the detectors and observables seem correct, but the code distance is not kept.

I had to change how extended plaquettes are reversed due to a schedule issue (I need to check it again to explain it correctly), and the problem probably comes from that change. I will investigate later.

— Reply to this email directly, view it on GitHub https://github.com/tqec/tqec/pull/562#issuecomment-2809790057, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKAXTDR32LJYX53NDNCKYD2ZZS7RAVCNFSM6AAAAAB2VS5X7KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQMBZG44TAMBVG4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>

afowler avatar Apr 16 '25 14:04 afowler

I am seeing a code distance of 2 for k=2. I'll try to explain in more details what I have done and the current status in a follow-up message here.

nelimee avatar Apr 16 '25 14:04 nelimee

So in Figure 7 of the review

image

we can see that the time-reverse version is basically applying a central symmetry to the CNOT schedules:

      0 ----- 1        3 ----- 2
      |       |        |       |
      |   4   |   =>   |   4   |
      |       |        |       |
      2 ----- 3        1 ----- 0

The problem with the extended stabilizers presented in figure 13 of the review

image

is that the symmetry between the non-reversed and reversed version is simply a vertical symmetry:

        0 ----- 1        1 ----- 0
        |       |        |       |
        |   6   |        |   6   |
        |       |        |       |
        2 ----- 3   =>   2 ----- 3
        |       |        |       |
        |   7   |        |   7   |
        |       |        |       |
        4 ----- 5        5 ----- 4

That leads to clashing schedules with the regular square plaquettes on the top. In ASCII art, for the following portion

example

Forward, "regular" way:
        0 ----- 0 ----- 0 ----- 0 ----- 0
        |1     4|1     2|1     4|1     2|
        |   B   |   R   |   B   |   R   |
        |3     5|3     5|3     5|3     5|
      - 0 ----- 0 ----- 0 ----- 0 ----- 0
     / 4|2     4|2     4|2     4|2     4|
    /   |       |       |       |       |
   /    |       |       |       |       |
  / B   |   R   |   B   |   R   |   B   |
 /      |       |       |       |       |
|       |       |       |       |       |
|3     5|3     5|3     5|3     5|3     5|
0 ----- 0 ----- 0 ----- 0 ----- 0 ----- 0
|1     2|1     4|1     2|1     4|1     2|
|   R   |   B   |   R   |   B   |   R   |
|3     5|3     5|3     5|3     5|3     5|
0 ----- 0 ----- 0 ----- 0 ----- 0 ----- 0

Backward, "reversed" way, with extended plaquettes in Fig. 13:
        0 ----- 0 ----- 0 ----- 0 ----- 0
        |5     3|5     3|5     3|5     3|
        |   B   |   R   |   B   |   R   |
        |4     1|2     1|4     1|2     1|  << Issue here, some data-qubits have
      - 0 ----- 0 ----- 0 ----- 0 ----- 0  << several gates at timestep 2.
     / 2|4     2|4     2|4     2|4     2|  <<
    /   |       |       |       |       |
   /    |       |       |       |       |
  / B   |   R   |   B   |   R   |   B   |
 /      |       |       |       |       |
|       |       |       |       |       |
|5     3|5     3|5     3|5     3|5     3| << Issue here, some data-qubits have
0 ----- 0 ----- 0 ----- 0 ----- 0 ----- 0 << several gates at timesteps 3 and 5.
|5     3|5     3|5     3|5     3|5     3| <<
|   R   |   B   |   R   |   B   |   R   |
|2     1|4     1|2     1|4     1|2     1|
0 ----- 0 ----- 0 ----- 0 ----- 0 ----- 0

Backward, "reversed" way, with modified extended plaquettes:
        0 ----- 0 ----- 0 ----- 0 ----- 0
        |5     3|5     3|5     3|5     3|
        |   B   |   R   |   B   |   R   |
        |4     1|2     1|4     1|2     1|
      - 0 ----- 0 ----- 0 ----- 0 ----- 0 << No issue anymore
     / 3|5     3|5     3|5     3|5     3|
    /   |       |       |       |       |
   /    |       |       |       |       |
  / B   |   R   |   B   |   R   |   B   |
 /      |       |       |       |       |
|       |       |       |       |       |
|4     2|4     2|4     2|4     2|4     2|
0 ----- 0 ----- 0 ----- 0 ----- 0 ----- 0 << No issue anymore
|5     3|5     3|5     3|5     3|5     3|
|   R   |   B   |   R   |   B   |   R   |
|2     1|4     1|2     1|4     1|2     1|
0 ----- 0 ----- 0 ----- 0 ----- 0 ----- 0

The new extended plaquettes can be seen on Crumble: forward (unchanged), reversed.

I do not have time to explore more with the distance issue, but will later this week.

nelimee avatar Apr 16 '25 16:04 nelimee

As a check, the following code simulating a L spatial junction outputs the following graph.

from pathlib import Path
from typing import Literal

import matplotlib.pyplot as plt
import numpy
import sinter

from tqec.compile.convention import ALL_CONVENTIONS
from tqec.compile.detectors.database import DetectorDatabase
from tqec.computation.block_graph import BlockGraph
from tqec.simulation.plotting.inset import plot_observable_as_inset
from tqec.simulation.simulation import start_simulation_using_sinter
from tqec.utils.noise_model import NoiseModel
from tqec.utils.position import Position3D

TQEC_FOLDER = Path(__file__).parent
ASSETS_FOLDER = TQEC_FOLDER / "assets"
DATABASE_PATH = ASSETS_FOLDER / "database.pkl"


def generate_graphs(style: Literal["fixed_parity"]) -> None:
    block_graph = BlockGraph("L Spatial Junction")
    n1 = block_graph.add_cube(Position3D(0, 0, 0), "ZXX")
    n2 = block_graph.add_cube(Position3D(0, 1, 0), "ZZX")
    n3 = block_graph.add_cube(Position3D(1, 1, 0), "XZX")
    block_graph.add_pipe(n1, n2)
    block_graph.add_pipe(n2, n3)
    block_graph.validate()

    zx_graph = block_graph.to_zx_graph()

    database = DetectorDatabase()
    if DATABASE_PATH.exists():
        database = DetectorDatabase.from_file(DATABASE_PATH)

    # filled_graphs = block_graph.fill_ports_for_minimal_simulation()
    # for run, fg in enumerate(filled_graphs):
    observables = block_graph.find_correlation_surfaces()
    for run, observable in enumerate(observables):
        stats = start_simulation_using_sinter(
            block_graph,
            range(1, 7),
            list(numpy.logspace(-4, -1, 10)),
            NoiseModel.uniform_depolarizing,
            manhattan_radius=2,
            convention=ALL_CONVENTIONS[style],
            observables=[observable],
            num_workers=30,
            max_shots=10_000_000,
            max_errors=5_000,
            decoders=["pymatching"],
            print_progress=True,
            detector_database=database,
        )

        for i, stat in enumerate(stats):
            fig, ax = plt.subplots()
            sinter.plot_error_rate(
                ax=ax,
                stats=stat,
                x_func=lambda stat: stat.json_metadata["p"],
                group_func=lambda stat: stat.json_metadata["d"],
            )
            # plot_observable_as_inset(ax, zx_graph, fg.observables[i])
            plot_observable_as_inset(ax, zx_graph, observable)
            ax.grid(axis="both")
            ax.legend()
            ax.loglog()
            ax.set_ylim(1e-9, 1)
            ax.set_title(f"{style.upper()} {style} Error Rate")
            fig.savefig(
                ASSETS_FOLDER
                / f"{style}_result_simulation_run_{run}_observable_{i}.png"
            )

        database.to_file(DATABASE_PATH)


def main():
    generate_graphs("fixed_parity")


if __name__ == "__main__":
    main()

fixed_parity_result_simulation_run_0_observable_0

nelimee avatar Apr 16 '25 16:04 nelimee

Not sure why the crumble link not shown correctly here. You need to enter edit mode to copy the crumble URL manually.

Here is a pair of errors that can cause logical error. The problem is that there are no detectors at the final round that check extended stabilizers against the final data qubit readouts, which cause some errors not detectable. The way to fix is measuring the ancilla qubits in the extended stabilizers at final round:

image

This will make the detectors at final round involving data qubit readouts valid:

image

inmzhang avatar Apr 17 '25 06:04 inmzhang

The last commit excludes the measurements in the middle of extended plaquettes from the observable.

I've locally included the change mentioned in the last comment. However, the circuit distance is still two. In the final round, the two errors with PAULI MARK#1 caused the logical error. It can not even be detected by the final check of extended stabilizers. In principle, it can be detected by the detection region with PAULI MARK#2. However, the automatic detector computation fails to build that detector probably because the measurement has already been included in other detector...

inmzhang avatar Apr 17 '25 13:04 inmzhang

I merged your changes on main. The 2 new tests added test_compile_temporal_hadamard and test_compile_bell_state_with_single_temporal_hadamard fail for the fixed_parity convention, and the tests that were failing before are still failing.

Note that some tests fail due to a non-deterministic observable. If you have the time to fix that, you will likely be way more efficient than me :) Else, I will try after fixing the other bugs.

nelimee avatar Apr 19 '25 07:04 nelimee

Note that some tests fail due to a non-deterministic observable.

Should be addressed in the last few commits. Also fixed the temporal Hadamard pipe: the memory layer after the H layer should flip the observable orientation.

inmzhang avatar Apr 19 '25 08:04 inmzhang

The last commit excludes the measurements in the middle of extended plaquettes from the observable.

I've locally included the change mentioned in the last comment. However, the circuit distance is still two. In the final round, the two errors with PAULI MARK#1 caused the logical error. It can not even be detected by the final check of extended stabilizers. In principle, it can be detected by the detection region with PAULI MARK#2. However, the automatic detector computation fails to build that detector probably because the measurement has already been included in other detector...

On the current state of this PR, the detector associated with the region PAULI_MARK#2 is included in the generated circuit. For reference:

from pathlib import Path

from tqec.compile.compile import compile_block_graph
from tqec.compile.convention import ALL_CONVENTIONS
from tqec.compile.detectors.database import DetectorDatabase
from tqec.computation.block_graph import BlockGraph
from tqec.utils.enums import Basis
from tqec.utils.noise_model import NoiseModel
from tqec.utils.position import Position3D

ASSETS_FOLDER = Path(__file__).parent / "assets"
DATABASE_PATH = ASSETS_FOLDER / "database.pkl"

convention_name = "fixed_parity"
obs_basis = Basis.X
k = 2
d = 2 * k + 1

g = BlockGraph("L Spatial Junction")
n1 = g.add_cube(Position3D(0, 0, 0), "ZXX")
n2 = g.add_cube(Position3D(0, 1, 0), "ZZX")
n3 = g.add_cube(Position3D(1, 1, 0), "XZX")
g.add_pipe(n1, n2)
g.add_pipe(n2, n3)

convention = ALL_CONVENTIONS[convention_name]
correlation_surfaces = g.find_correlation_surfaces()
compiled_graph = compile_block_graph(g, convention, correlation_surfaces)
layer_tree = compiled_graph.to_layer_tree()
print(layer_tree.generate_crumble_url(k))

database = DetectorDatabase()
if DATABASE_PATH.exists():
    database = DetectorDatabase.from_file(DATABASE_PATH)

circuit = compiled_graph.generate_stim_circuit(
    k,
    noise_model=NoiseModel.uniform_depolarizing(0.001),
    manhattan_radius=2,
    detector_database=database,
)

database.to_file(DATABASE_PATH)
print(circuit)

returns this crumble URL, representing the following circuit.

Click to see the circuit
QUBIT_COORDS(-1, 11) 0
QUBIT_COORDS(0, 0) 1
QUBIT_COORDS(0, 2) 2
QUBIT_COORDS(0, 4) 3
QUBIT_COORDS(0, 6) 4
QUBIT_COORDS(0, 8) 5
QUBIT_COORDS(0, 10) 6
QUBIT_COORDS(0, 12) 7
QUBIT_COORDS(0, 14) 8
QUBIT_COORDS(0, 16) 9
QUBIT_COORDS(0, 18) 10
QUBIT_COORDS(0, 20) 11
QUBIT_COORDS(0, 22) 12
QUBIT_COORDS(1, 1) 13
QUBIT_COORDS(1, 3) 14
QUBIT_COORDS(1, 5) 15
QUBIT_COORDS(1, 7) 16
QUBIT_COORDS(1, 9) 17
QUBIT_COORDS(1, 11) 18
QUBIT_COORDS(1, 13) 19
QUBIT_COORDS(1, 15) 20
QUBIT_COORDS(1, 17) 21
QUBIT_COORDS(1, 19) 22
QUBIT_COORDS(1, 21) 23
QUBIT_COORDS(2, 0) 24
QUBIT_COORDS(2, 2) 25
QUBIT_COORDS(2, 4) 26
QUBIT_COORDS(2, 6) 27
QUBIT_COORDS(2, 8) 28
QUBIT_COORDS(2, 10) 29
QUBIT_COORDS(2, 12) 30
QUBIT_COORDS(2, 14) 31
QUBIT_COORDS(2, 16) 32
QUBIT_COORDS(2, 18) 33
QUBIT_COORDS(2, 20) 34
QUBIT_COORDS(2, 22) 35
QUBIT_COORDS(3, 1) 36
QUBIT_COORDS(3, 3) 37
QUBIT_COORDS(3, 5) 38
QUBIT_COORDS(3, 7) 39
QUBIT_COORDS(3, 9) 40
QUBIT_COORDS(3, 11) 41
QUBIT_COORDS(3, 13) 42
QUBIT_COORDS(3, 15) 43
QUBIT_COORDS(3, 17) 44
QUBIT_COORDS(3, 19) 45
QUBIT_COORDS(3, 21) 46
QUBIT_COORDS(4, 0) 47
QUBIT_COORDS(4, 2) 48
QUBIT_COORDS(4, 4) 49
QUBIT_COORDS(4, 6) 50
QUBIT_COORDS(4, 8) 51
QUBIT_COORDS(4, 10) 52
QUBIT_COORDS(4, 12) 53
QUBIT_COORDS(4, 14) 54
QUBIT_COORDS(4, 16) 55
QUBIT_COORDS(4, 18) 56
QUBIT_COORDS(4, 20) 57
QUBIT_COORDS(4, 22) 58
QUBIT_COORDS(5, 1) 59
QUBIT_COORDS(5, 3) 60
QUBIT_COORDS(5, 5) 61
QUBIT_COORDS(5, 7) 62
QUBIT_COORDS(5, 9) 63
QUBIT_COORDS(5, 11) 64
QUBIT_COORDS(5, 13) 65
QUBIT_COORDS(5, 15) 66
QUBIT_COORDS(5, 17) 67
QUBIT_COORDS(5, 19) 68
QUBIT_COORDS(5, 21) 69
QUBIT_COORDS(6, 0) 70
QUBIT_COORDS(6, 2) 71
QUBIT_COORDS(6, 4) 72
QUBIT_COORDS(6, 6) 73
QUBIT_COORDS(6, 8) 74
QUBIT_COORDS(6, 10) 75
QUBIT_COORDS(6, 12) 76
QUBIT_COORDS(6, 14) 77
QUBIT_COORDS(6, 16) 78
QUBIT_COORDS(6, 18) 79
QUBIT_COORDS(6, 20) 80
QUBIT_COORDS(6, 22) 81
QUBIT_COORDS(7, 1) 82
QUBIT_COORDS(7, 3) 83
QUBIT_COORDS(7, 5) 84
QUBIT_COORDS(7, 7) 85
QUBIT_COORDS(7, 9) 86
QUBIT_COORDS(7, 11) 87
QUBIT_COORDS(7, 13) 88
QUBIT_COORDS(7, 15) 89
QUBIT_COORDS(7, 17) 90
QUBIT_COORDS(7, 19) 91
QUBIT_COORDS(7, 21) 92
QUBIT_COORDS(8, 0) 93
QUBIT_COORDS(8, 2) 94
QUBIT_COORDS(8, 4) 95
QUBIT_COORDS(8, 6) 96
QUBIT_COORDS(8, 8) 97
QUBIT_COORDS(8, 10) 98
QUBIT_COORDS(8, 12) 99
QUBIT_COORDS(8, 14) 100
QUBIT_COORDS(8, 16) 101
QUBIT_COORDS(8, 18) 102
QUBIT_COORDS(8, 20) 103
QUBIT_COORDS(8, 22) 104
QUBIT_COORDS(9, 1) 105
QUBIT_COORDS(9, 3) 106
QUBIT_COORDS(9, 5) 107
QUBIT_COORDS(9, 7) 108
QUBIT_COORDS(9, 9) 109
QUBIT_COORDS(9, 11) 110
QUBIT_COORDS(9, 13) 111
QUBIT_COORDS(9, 15) 112
QUBIT_COORDS(9, 17) 113
QUBIT_COORDS(9, 19) 114
QUBIT_COORDS(9, 21) 115
QUBIT_COORDS(10, 0) 116
QUBIT_COORDS(10, 2) 117
QUBIT_COORDS(10, 4) 118
QUBIT_COORDS(10, 6) 119
QUBIT_COORDS(10, 8) 120
QUBIT_COORDS(10, 10) 121
QUBIT_COORDS(10, 12) 122
QUBIT_COORDS(10, 14) 123
QUBIT_COORDS(10, 16) 124
QUBIT_COORDS(10, 18) 125
QUBIT_COORDS(10, 20) 126
QUBIT_COORDS(10, 22) 127
QUBIT_COORDS(11, 13) 128
QUBIT_COORDS(11, 15) 129
QUBIT_COORDS(11, 17) 130
QUBIT_COORDS(11, 19) 131
QUBIT_COORDS(11, 21) 132
QUBIT_COORDS(12, 12) 133
QUBIT_COORDS(12, 14) 134
QUBIT_COORDS(12, 16) 135
QUBIT_COORDS(12, 18) 136
QUBIT_COORDS(12, 20) 137
QUBIT_COORDS(12, 22) 138
QUBIT_COORDS(13, 13) 139
QUBIT_COORDS(13, 15) 140
QUBIT_COORDS(13, 17) 141
QUBIT_COORDS(13, 19) 142
QUBIT_COORDS(13, 21) 143
QUBIT_COORDS(14, 12) 144
QUBIT_COORDS(14, 14) 145
QUBIT_COORDS(14, 16) 146
QUBIT_COORDS(14, 18) 147
QUBIT_COORDS(14, 20) 148
QUBIT_COORDS(14, 22) 149
QUBIT_COORDS(15, 13) 150
QUBIT_COORDS(15, 15) 151
QUBIT_COORDS(15, 17) 152
QUBIT_COORDS(15, 19) 153
QUBIT_COORDS(15, 21) 154
QUBIT_COORDS(16, 12) 155
QUBIT_COORDS(16, 14) 156
QUBIT_COORDS(16, 16) 157
QUBIT_COORDS(16, 18) 158
QUBIT_COORDS(16, 20) 159
QUBIT_COORDS(16, 22) 160
QUBIT_COORDS(17, 13) 161
QUBIT_COORDS(17, 15) 162
QUBIT_COORDS(17, 17) 163
QUBIT_COORDS(17, 19) 164
QUBIT_COORDS(17, 21) 165
QUBIT_COORDS(18, 12) 166
QUBIT_COORDS(18, 14) 167
QUBIT_COORDS(18, 16) 168
QUBIT_COORDS(18, 18) 169
QUBIT_COORDS(18, 20) 170
QUBIT_COORDS(18, 22) 171
QUBIT_COORDS(19, 13) 172
QUBIT_COORDS(19, 15) 173
QUBIT_COORDS(19, 17) 174
QUBIT_COORDS(19, 19) 175
QUBIT_COORDS(19, 21) 176
QUBIT_COORDS(20, 12) 177
QUBIT_COORDS(20, 14) 178
QUBIT_COORDS(20, 16) 179
QUBIT_COORDS(20, 18) 180
QUBIT_COORDS(20, 20) 181
QUBIT_COORDS(20, 22) 182
QUBIT_COORDS(21, 13) 183
QUBIT_COORDS(21, 15) 184
QUBIT_COORDS(21, 17) 185
QUBIT_COORDS(21, 19) 186
QUBIT_COORDS(21, 21) 187
QUBIT_COORDS(22, 12) 188
QUBIT_COORDS(22, 14) 189
QUBIT_COORDS(22, 16) 190
QUBIT_COORDS(22, 18) 191
QUBIT_COORDS(22, 20) 192
QUBIT_COORDS(22, 22) 193
RX 2 4 6 9 11 13 14 15 16 17 19 20 21 22 23 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 59 60 61 62 63 65 66 67 68 69 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 105 106 107 108 109 111 112 113 114 115 118 120 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 139 140 141 142 143 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 161 162 163 164 165 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 183 184 185 186 187 190 192
R 0 18 41 64 87
X_ERROR(0.001) 0 18 41 64 87
Z_ERROR(0.001) 2 4 6 9 11 13 14 15 16 17 19 20 21 22 23 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 59 60 61 62 63 65 66 67 68 69 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 105 106 107 108 109 111 112 113 114 115 118 120 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 139 140 141 142 143 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 161 162 163 164 165 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 183 184 185 186 187 190 192
DEPOLARIZE1(0.001) 1 3 5 7 8 10 12 24 30 53 58 70 76 99 104 110 116 117 119 121 122 138 144 160 166 182 188 189 191 193
TICK
CX 6 0 25 13 27 15 29 18 32 20 34 22 49 37 51 39 52 41 54 42 56 44 71 59 73 61 75 64 78 66 80 68 95 83 97 85 98 87 100 88 102 90 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186
CZ 26 14 28 16 31 19 33 21 35 23 48 36 50 38 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175
R 7 30 53 76 99
DEPOLARIZE2(0.001) 6 0 25 13 27 15 29 18 32 20 34 22 49 37 51 39 52 41 54 42 56 44 71 59 73 61 75 64 78 66 80 68 95 83 97 85 98 87 100 88 102 90 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 26 14 28 16 31 19 33 21 35 23 48 36 50 38 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175
X_ERROR(0.001) 7 30 53 76 99
DEPOLARIZE1(0.001) 1 2 3 4 5 8 9 10 11 12 17 24 40 46 47 58 63 70 86 92 93 104 105 107 109 110 116 117 119 121 122 132 133 138 144 154 155 160 166 176 177 182 183 185 187 188 189 191 193
TICK
CX 0 7 18 30 25 36 27 38 29 17 32 43 41 53 49 60 51 62 54 65 64 76 71 82 73 84 75 63 78 89 87 99 95 106 97 108 100 111
CZ 52 40 57 68 79 90 98 86 101 112 103 114 123 128 125 130 135 140 137 142 145 150 147 152 157 162 159 164 167 172 169 174 179 184 181 186
DEPOLARIZE2(0.001) 0 7 18 30 25 36 27 38 29 17 32 43 41 53 49 60 51 62 54 65 64 76 71 82 73 84 75 63 78 89 87 99 95 106 97 108 100 111 52 40 57 68 79 90 98 86 101 112 103 114 123 128 125 130 135 140 137 142 145 150 147 152 157 162 159 164 167 172 169 174 179 184 181 186
DEPOLARIZE1(0.001) 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 19 20 21 22 23 24 26 28 31 33 34 35 37 39 42 44 45 46 47 48 50 55 56 58 59 61 66 67 69 70 72 74 77 80 81 83 85 88 91 92 93 94 96 102 104 105 107 109 110 113 115 116 117 118 119 120 121 122 124 126 127 129 131 132 133 134 136 138 139 141 143 144 146 148 149 151 153 154 155 156 158 160 161 163 165 166 168 170 171 173 175 176 177 178 180 182 183 185 187 188 189 190 191 192 193
TICK
CX 25 14 27 16 30 19 32 21 34 23 47 36 49 38 51 40 54 43 56 45 71 60 73 62 76 65 78 67 80 69 93 82 95 84 97 86 100 89 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187
CZ 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 57 46 72 61 74 63 77 66 79 68 94 83 96 85 99 88 101 90 103 92 118 107 120 109 123 112 125 114 133 128 135 130 137 132 145 140 147 142 155 150 157 152 159 154 167 162 169 164 177 172 179 174 181 176
DEPOLARIZE2(0.001) 25 14 27 16 30 19 32 21 34 23 47 36 49 38 51 40 54 43 56 45 71 60 73 62 76 65 78 67 80 69 93 82 95 84 97 86 100 89 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 57 46 72 61 74 63 77 66 79 68 94 83 96 85 99 88 101 90 103 92 118 107 120 109 123 112 125 114 133 128 135 130 137 132 145 140 147 142 155 150 157 152 159 154 167 162 169 164 177 172 179 174 181 176
DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 18 24 29 35 41 52 58 59 64 70 75 81 87 98 104 105 106 108 110 111 116 117 119 121 122 127 138 139 144 149 160 161 166 171 182 183 184 186 188 189 191 193
TICK
CZ 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 72 83 74 85 77 88 81 92 94 105 96 107 98 109 127 132 149 154 171 176
CX 29 40 34 45 56 67 75 86 80 91 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185
DEPOLARIZE2(0.001) 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 72 83 74 85 77 88 81 92 94 105 96 107 98 109 127 132 149 154 171 176 29 40 34 45 56 67 75 86 80 91 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185
DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 14 16 18 19 21 23 24 25 27 30 32 36 38 41 43 47 49 51 53 54 57 58 60 62 64 65 68 69 70 71 73 76 78 79 82 84 87 89 90 93 95 97 99 100 101 103 104 106 108 110 111 112 114 115 116 117 118 119 120 121 122 123 125 128 130 133 135 137 138 140 142 143 144 145 147 150 152 155 157 159 160 162 164 165 166 167 169 172 174 177 179 181 182 184 186 187 188 189 190 191 192 193
TICK
CX 0 6 18 29 25 37 27 39 30 42 32 44 34 46 41 52 47 59 49 61 51 63 54 66 56 68 64 75 71 83 73 85 76 88 78 90 80 92 87 98 93 105 95 107 97 109 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186
CZ 2 14 4 16 7 19 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 53 65 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 99 111 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187
DEPOLARIZE2(0.001) 0 6 18 29 25 37 27 39 30 42 32 44 34 46 41 52 47 59 49 61 51 63 54 66 56 68 64 75 71 83 73 85 76 88 78 90 80 92 87 98 93 105 95 107 97 109 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 2 14 4 16 7 19 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 53 65 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 99 111 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187
DEPOLARIZE1(0.001) 1 3 5 8 10 12 13 15 17 20 22 24 35 36 58 70 81 82 104 110 116 117 118 119 120 121 122 127 128 138 144 149 150 160 166 171 172 182 188 189 190 191 192 193
TICK
CX 7 0 30 18 53 41 76 64 99 87
MX(0.001) 2 4 9 11 25 26 27 28 31 32 33 34 35 47 48 49 50 51 54 55 56 57 71 72 73 74 77 78 79 80 81 93 94 95 96 97 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192
DEPOLARIZE2(0.001) 7 0 30 18 53 41 76 64 99 87
DEPOLARIZE1(0.001) 1 3 5 6 8 10 12 13 14 15 16 17 19 20 21 22 23 24 29 36 37 38 39 40 42 43 44 45 46 52 58 59 60 61 62 63 65 66 67 68 69 70 75 82 83 84 85 86 88 89 90 91 92 98 104 105 106 107 108 109 110 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193
TICK
MX(0.001) 7 30 53 76 99
DETECTOR(4, 0, 0) rec[-66]
DETECTOR(8, 0, 0) rec[-48]
DETECTOR(2, 2, 0) rec[-75]
DETECTOR(6, 2, 0) rec[-57]
DETECTOR(4, 4, 0) rec[-64]
DETECTOR(8, 4, 0) rec[-46]
DETECTOR(2, 6, 0) rec[-73]
DETECTOR(6, 6, 0) rec[-55]
DETECTOR(4, 8, 0) rec[-62]
DETECTOR(8, 8, 0) rec[-44]
DETECTOR(2, 12, 0) rec[-4]
DETECTOR(6, 12, 0) rec[-2]
DETECTOR(4, 14, 0) rec[-61]
DETECTOR(8, 14, 0) rec[-43]
DETECTOR(12, 14, 0) rec[-31]
DETECTOR(16, 14, 0) rec[-21]
DETECTOR(20, 14, 0) rec[-11]
DETECTOR(2, 16, 0) rec[-70]
DETECTOR(6, 16, 0) rec[-52]
DETECTOR(10, 16, 0) rec[-36]
DETECTOR(14, 16, 0) rec[-26]
DETECTOR(18, 16, 0) rec[-16]
DETECTOR(22, 16, 0) rec[-7]
DETECTOR(4, 18, 0) rec[-59]
DETECTOR(8, 18, 0) rec[-41]
DETECTOR(12, 18, 0) rec[-29]
DETECTOR(16, 18, 0) rec[-19]
DETECTOR(20, 18, 0) rec[-9]
DETECTOR(2, 20, 0) rec[-68]
DETECTOR(6, 20, 0) rec[-50]
DETECTOR(10, 20, 0) rec[-34]
DETECTOR(14, 20, 0) rec[-24]
DETECTOR(18, 20, 0) rec[-14]
DETECTOR(22, 20, 0) rec[-6]
DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
TICK
DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
TICK
RX 2 4 7 9 11 25 26 27 28 30 31 32 33 34 35 47 48 49 50 51 53 54 55 56 57 71 72 73 74 76 77 78 79 80 81 93 94 95 96 97 99 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192
R 18 41 64 87 110
X_ERROR(0.001) 18 41 64 87 110
Z_ERROR(0.001) 2 4 7 9 11 25 26 27 28 30 31 32 33 34 35 47 48 49 50 51 53 54 55 56 57 71 72 73 74 76 77 78 79 80 81 93 94 95 96 97 99 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192
DEPOLARIZE1(0.001) 0 1 3 5 6 8 10 12 13 14 15 16 17 19 20 21 22 23 24 29 36 37 38 39 40 42 43 44 45 46 52 58 59 60 61 62 63 65 66 67 68 69 70 75 82 83 84 85 86 88 89 90 91 92 98 104 105 106 107 108 109 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193
TICK
CX 7 18 25 37 27 39 30 41 32 44 34 46 47 59 49 61 51 63 53 64 54 66 56 68 71 83 73 85 76 87 78 90 80 92 93 105 95 107 97 109 99 110 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186
CZ 2 14 4 16 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187
R 6 29 52 75 98
DEPOLARIZE2(0.001) 7 18 25 37 27 39 30 41 32 44 34 46 47 59 49 61 51 63 53 64 54 66 56 68 71 83 73 85 76 87 78 90 80 92 93 105 95 107 97 109 99 110 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 2 14 4 16 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187
X_ERROR(0.001) 6 29 52 75 98
DEPOLARIZE1(0.001) 0 1 3 5 8 10 12 13 15 17 19 20 22 24 35 36 42 58 65 70 81 82 88 104 111 116 117 118 119 120 121 122 127 128 138 144 149 150 160 166 171 172 182 188 189 190 191 192 193
TICK
CX 18 6 25 14 27 16 30 42 32 21 41 29 49 38 51 40 54 43 64 52 71 60 73 62 76 88 78 67 87 75 95 84 97 86 100 89 110 98
CZ 7 19 53 65 57 46 79 68 99 111 101 90 103 92 123 112 125 114 135 130 137 132 145 140 147 142 157 152 159 154 167 162 169 164 179 174 181 176
DEPOLARIZE2(0.001) 18 6 25 14 27 16 30 42 32 21 41 29 49 38 51 40 54 43 64 52 71 60 73 62 76 88 78 67 87 75 95 84 97 86 100 89 110 98 7 19 53 65 57 46 79 68 99 111 101 90 103 92 123 112 125 114 135 130 137 132 145 140 147 142 157 152 159 154 167 162 169 164 179 174 181 176
DEPOLARIZE1(0.001) 0 1 2 3 4 5 8 9 10 11 12 13 15 17 20 22 23 24 26 28 31 33 34 35 36 37 39 44 45 47 48 50 55 56 58 59 61 63 66 69 70 72 74 77 80 81 82 83 85 91 93 94 96 102 104 105 106 107 108 109 113 115 116 117 118 119 120 121 122 124 126 127 128 129 131 133 134 136 138 139 141 143 144 146 148 149 150 151 153 155 156 158 160 161 163 165 166 168 170 171 172 173 175 177 178 180 182 183 184 185 186 187 188 189 190 191 192 193
TICK
CZ 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 57 68 72 83 74 85 77 88 79 90 81 92 94 105 96 107 98 109 101 112 103 114 123 128 125 130 127 132 135 140 137 142 145 150 147 152 149 154 157 162 159 164 167 172 169 174 171 176 179 184 181 186
CX 25 36 27 38 29 40 32 43 34 45 49 60 51 62 54 65 56 67 71 82 73 84 75 86 78 89 80 91 95 106 97 108 100 111 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185
DEPOLARIZE2(0.001) 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 57 68 72 83 74 85 77 88 79 90 81 92 94 105 96 107 98 109 101 112 103 114 123 128 125 130 127 132 135 140 137 142 145 150 147 152 149 154 157 162 159 164 167 172 169 174 171 176 179 184 181 186 25 36 27 38 29 40 32 43 34 45 49 60 51 62 54 65 56 67 71 82 73 84 75 86 78 89 80 91 95 106 97 108 100 111 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185
DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 14 16 18 19 21 23 24 30 41 47 53 58 64 69 70 76 87 93 99 104 110 115 116 117 118 119 120 121 122 133 138 143 144 155 160 165 166 177 182 187 188 189 190 191 192 193
TICK
CX 30 19 34 23 47 36 56 45 76 65 80 69 93 82 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187
CZ 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 72 61 74 63 77 66 94 83 96 85 99 88 118 107 120 109 133 128 155 150 177 172
DEPOLARIZE2(0.001) 30 19 34 23 47 36 56 45 76 65 80 69 93 82 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 72 61 74 63 77 66 94 83 96 85 99 88 118 107 120 109 133 128 155 150 177 172
DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 18 21 24 25 27 29 32 35 38 40 41 43 46 49 51 52 54 57 58 59 60 62 64 67 68 70 71 73 75 78 79 81 84 86 87 89 90 92 95 97 98 100 101 103 104 105 106 108 110 111 112 114 116 117 119 121 122 123 125 127 130 132 135 137 138 139 140 142 144 145 147 149 152 154 157 159 160 161 162 164 166 167 169 171 174 176 179 181 182 183 184 186 188 189 191 193
TICK
CX 18 7 25 13 27 15 29 17 32 20 34 22 41 30 49 37 51 39 54 42 56 44 64 53 71 59 73 61 75 63 78 66 80 68 87 76 95 83 97 85 100 88 102 90 110 99 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186
CZ 26 14 28 16 31 19 33 21 35 23 48 36 50 38 52 40 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 98 86 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175
DEPOLARIZE2(0.001) 18 7 25 13 27 15 29 17 32 20 34 22 41 30 49 37 51 39 54 42 56 44 64 53 71 59 73 61 75 63 78 66 80 68 87 76 95 83 97 85 100 88 102 90 110 99 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 26 14 28 16 31 19 33 21 35 23 48 36 50 38 52 40 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 98 86 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175
DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 8 9 10 11 12 24 46 47 58 70 92 93 104 105 107 109 116 117 119 121 122 132 133 138 144 154 155 160 166 176 177 182 183 185 187 188 189 191 193
TICK
CX 6 18 29 41 52 64 75 87 98 110
MX(0.001) 2 4 9 11 25 26 27 28 31 32 33 34 35 47 48 49 50 51 54 55 56 57 71 72 73 74 77 78 79 80 81 93 94 95 96 97 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192
DEPOLARIZE2(0.001) 6 18 29 41 52 64 75 87 98 110
DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 13 14 15 16 17 19 20 21 22 23 24 30 36 37 38 39 40 42 43 44 45 46 53 58 59 60 61 62 63 65 66 67 68 69 70 76 82 83 84 85 86 88 89 90 91 92 99 104 105 106 107 108 109 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193
TICK
MX(0.001) 6 29 52 75 98
SHIFT_COORDS(0, 0, 2)
DETECTOR(4, 0, 0) rec[-66] rec[-145]
DETECTOR(8, 0, 0) rec[-48] rec[-127]
DETECTOR(0, 2, 0) rec[-79] rec[-158]
DETECTOR(2, 2, 0) rec[-75] rec[-154]
DETECTOR(4, 2, 0) rec[-144] rec[-65]
DETECTOR(6, 2, 0) rec[-57] rec[-136]
DETECTOR(8, 2, 0) rec[-126] rec[-47]
DETECTOR(2, 4, 0) rec[-74] rec[-153]
DETECTOR(4, 4, 0) rec[-64] rec[-143]
DETECTOR(6, 4, 0) rec[-56] rec[-135]
DETECTOR(8, 4, 0) rec[-125] rec[-46]
DETECTOR(10, 4, 0) rec[-118] rec[-39]
DETECTOR(0, 6, 0) rec[-157] rec[-78]
DETECTOR(2, 6, 0) rec[-152] rec[-73]
DETECTOR(4, 6, 0) rec[-63] rec[-142]
DETECTOR(6, 6, 0) rec[-55] rec[-134]
DETECTOR(8, 6, 0) rec[-124] rec[-45]
DETECTOR(2, 8, 0) rec[-72] rec[-151]
DETECTOR(4, 8, 0) rec[-62] rec[-141]
DETECTOR(6, 8, 0) rec[-133] rec[-54]
DETECTOR(8, 8, 0) rec[-44] rec[-123]
DETECTOR(10, 8, 0) rec[-117] rec[-38]
DETECTOR(0, 10, 0) rec[-84] rec[-5]
DETECTOR(2, 10, 0) rec[-83] rec[-4]
DETECTOR(4, 10, 0) rec[-82] rec[-3]
DETECTOR(6, 10, 0) rec[-2] rec[-81]
DETECTOR(8, 10, 0) rec[-1] rec[-80]
DETECTOR(12, 12, 0) rec[-111] rec[-32]
DETECTOR(16, 12, 0) rec[-22] rec[-101]
DETECTOR(20, 12, 0) rec[-91] rec[-12]
DETECTOR(2, 14, 0) rec[-150] rec[-71]
DETECTOR(4, 14, 0) rec[-61] rec[-140]
DETECTOR(6, 14, 0) rec[-53] rec[-132]
DETECTOR(8, 14, 0) rec[-122] rec[-43]
DETECTOR(10, 14, 0) rec[-37] rec[-116]
DETECTOR(12, 14, 0) rec[-110] rec[-31]
DETECTOR(14, 14, 0) rec[-27] rec[-106]
DETECTOR(16, 14, 0) rec[-21] rec[-100]
DETECTOR(18, 14, 0) rec[-17] rec[-96]
DETECTOR(20, 14, 0) rec[-11] rec[-90]
DETECTOR(0, 16, 0) rec[-156] rec[-77]
DETECTOR(2, 16, 0) rec[-149] rec[-70]
DETECTOR(4, 16, 0) rec[-60] rec[-139]
DETECTOR(6, 16, 0) rec[-52] rec[-131]
DETECTOR(8, 16, 0) rec[-121] rec[-42]
DETECTOR(10, 16, 0) rec[-36] rec[-115]
DETECTOR(12, 16, 0) rec[-30] rec[-109]
DETECTOR(14, 16, 0) rec[-26] rec[-105]
DETECTOR(16, 16, 0) rec[-99] rec[-20]
DETECTOR(18, 16, 0) rec[-16] rec[-95]
DETECTOR(20, 16, 0) rec[-89] rec[-10]
DETECTOR(22, 16, 0) rec[-86] rec[-7]
DETECTOR(2, 18, 0) rec[-148] rec[-69]
DETECTOR(4, 18, 0) rec[-59] rec[-138]
DETECTOR(6, 18, 0) rec[-130] rec[-51]
DETECTOR(8, 18, 0) rec[-120] rec[-41]
DETECTOR(10, 18, 0) rec[-114] rec[-35]
DETECTOR(12, 18, 0) rec[-108] rec[-29]
DETECTOR(14, 18, 0) rec[-25] rec[-104]
DETECTOR(16, 18, 0) rec[-98] rec[-19]
DETECTOR(18, 18, 0) rec[-94] rec[-15]
DETECTOR(20, 18, 0) rec[-88] rec[-9]
DETECTOR(0, 20, 0) rec[-155] rec[-76]
DETECTOR(2, 20, 0) rec[-147] rec[-68]
DETECTOR(4, 20, 0) rec[-137] rec[-58]
DETECTOR(6, 20, 0) rec[-50] rec[-129]
DETECTOR(8, 20, 0) rec[-40] rec[-119]
DETECTOR(10, 20, 0) rec[-113] rec[-34]
DETECTOR(12, 20, 0) rec[-28] rec[-107]
DETECTOR(14, 20, 0) rec[-103] rec[-24]
DETECTOR(16, 20, 0) rec[-97] rec[-18]
DETECTOR(18, 20, 0) rec[-14] rec[-93]
DETECTOR(20, 20, 0) rec[-8] rec[-87]
DETECTOR(22, 20, 0) rec[-85] rec[-6]
DETECTOR(2, 22, 0) rec[-67] rec[-146]
DETECTOR(6, 22, 0) rec[-49] rec[-128]
DETECTOR(10, 22, 0) rec[-112] rec[-33]
DETECTOR(14, 22, 0) rec[-23] rec[-102]
DETECTOR(18, 22, 0) rec[-92] rec[-13]
DEPOLARIZE1(0.001) 0 1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
TICK
RX 2 4 6 9 11 25 26 27 28 29 31 32 33 34 35 47 48 49 50 51 52 54 55 56 57 71 72 73 74 75 77 78 79 80 81 93 94 95 96 97 98 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192
R 0 18 41 64 87
X_ERROR(0.001) 0 18 41 64 87
Z_ERROR(0.001) 2 4 6 9 11 25 26 27 28 29 31 32 33 34 35 47 48 49 50 51 52 54 55 56 57 71 72 73 74 75 77 78 79 80 81 93 94 95 96 97 98 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192
DEPOLARIZE1(0.001) 1 3 5 7 8 10 12 13 14 15 16 17 19 20 21 22 23 24 30 36 37 38 39 40 42 43 44 45 46 53 58 59 60 61 62 63 65 66 67 68 69 70 76 82 83 84 85 86 88 89 90 91 92 99 104 105 106 107 108 109 110 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193
TICK
CX 6 0 25 13 27 15 29 18 32 20 34 22 49 37 51 39 52 41 54 42 56 44 71 59 73 61 75 64 78 66 80 68 95 83 97 85 98 87 100 88 102 90 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186
CZ 26 14 28 16 31 19 33 21 35 23 48 36 50 38 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175
R 7 30 53 76 99
DEPOLARIZE2(0.001) 6 0 25 13 27 15 29 18 32 20 34 22 49 37 51 39 52 41 54 42 56 44 71 59 73 61 75 64 78 66 80 68 95 83 97 85 98 87 100 88 102 90 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 26 14 28 16 31 19 33 21 35 23 48 36 50 38 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175
X_ERROR(0.001) 7 30 53 76 99
DEPOLARIZE1(0.001) 1 2 3 4 5 8 9 10 11 12 17 24 40 46 47 58 63 70 86 92 93 104 105 107 109 110 116 117 119 121 122 132 133 138 144 154 155 160 166 176 177 182 183 185 187 188 189 191 193
TICK
CX 0 7 18 30 25 36 27 38 29 17 32 43 41 53 49 60 51 62 54 65 64 76 71 82 73 84 75 63 78 89 87 99 95 106 97 108 100 111
CZ 52 40 57 68 79 90 98 86 101 112 103 114 123 128 125 130 135 140 137 142 145 150 147 152 157 162 159 164 167 172 169 174 179 184 181 186
DEPOLARIZE2(0.001) 0 7 18 30 25 36 27 38 29 17 32 43 41 53 49 60 51 62 54 65 64 76 71 82 73 84 75 63 78 89 87 99 95 106 97 108 100 111 52 40 57 68 79 90 98 86 101 112 103 114 123 128 125 130 135 140 137 142 145 150 147 152 157 162 159 164 167 172 169 174 179 184 181 186
DEPOLARIZE1(0.001) 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 19 20 21 22 23 24 26 28 31 33 34 35 37 39 42 44 45 46 47 48 50 55 56 58 59 61 66 67 69 70 72 74 77 80 81 83 85 88 91 92 93 94 96 102 104 105 107 109 110 113 115 116 117 118 119 120 121 122 124 126 127 129 131 132 133 134 136 138 139 141 143 144 146 148 149 151 153 154 155 156 158 160 161 163 165 166 168 170 171 173 175 176 177 178 180 182 183 185 187 188 189 190 191 192 193
TICK
CX 25 14 27 16 30 19 32 21 34 23 47 36 49 38 51 40 54 43 56 45 71 60 73 62 76 65 78 67 80 69 93 82 95 84 97 86 100 89 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187
CZ 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 57 46 72 61 74 63 77 66 79 68 94 83 96 85 99 88 101 90 103 92 118 107 120 109 123 112 125 114 133 128 135 130 137 132 145 140 147 142 155 150 157 152 159 154 167 162 169 164 177 172 179 174 181 176
DEPOLARIZE2(0.001) 25 14 27 16 30 19 32 21 34 23 47 36 49 38 51 40 54 43 56 45 71 60 73 62 76 65 78 67 80 69 93 82 95 84 97 86 100 89 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 57 46 72 61 74 63 77 66 79 68 94 83 96 85 99 88 101 90 103 92 118 107 120 109 123 112 125 114 133 128 135 130 137 132 145 140 147 142 155 150 157 152 159 154 167 162 169 164 177 172 179 174 181 176
DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 18 24 29 35 41 52 58 59 64 70 75 81 87 98 104 105 106 108 110 111 116 117 119 121 122 127 138 139 144 149 160 161 166 171 182 183 184 186 188 189 191 193
TICK
CZ 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 72 83 74 85 77 88 81 92 94 105 96 107 98 109 127 132 149 154 171 176
CX 29 40 34 45 56 67 75 86 80 91 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185
DEPOLARIZE2(0.001) 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 72 83 74 85 77 88 81 92 94 105 96 107 98 109 127 132 149 154 171 176 29 40 34 45 56 67 75 86 80 91 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185
DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 14 16 18 19 21 23 24 25 27 30 32 36 38 41 43 47 49 51 53 54 57 58 60 62 64 65 68 69 70 71 73 76 78 79 82 84 87 89 90 93 95 97 99 100 101 103 104 106 108 110 111 112 114 115 116 117 118 119 120 121 122 123 125 128 130 133 135 137 138 140 142 143 144 145 147 150 152 155 157 159 160 162 164 165 166 167 169 172 174 177 179 181 182 184 186 187 188 189 190 191 192 193
TICK
CX 0 6 18 29 25 37 27 39 30 42 32 44 34 46 41 52 47 59 49 61 51 63 54 66 56 68 64 75 71 83 73 85 76 88 78 90 80 92 87 98 93 105 95 107 97 109 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186
CZ 2 14 4 16 7 19 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 53 65 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 99 111 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187
DEPOLARIZE2(0.001) 0 6 18 29 25 37 27 39 30 42 32 44 34 46 41 52 47 59 49 61 51 63 54 66 56 68 64 75 71 83 73 85 76 88 78 90 80 92 87 98 93 105 95 107 97 109 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 2 14 4 16 7 19 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 53 65 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 99 111 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187
DEPOLARIZE1(0.001) 1 3 5 8 10 12 13 15 17 20 22 24 35 36 58 70 81 82 104 110 116 117 118 119 120 121 122 127 128 138 144 149 150 160 166 171 172 182 188 189 190 191 192 193
TICK
CX 7 0 30 18 53 41 76 64 99 87
MX(0.001) 2 4 9 11 25 26 27 28 31 32 33 34 35 47 48 49 50 51 54 55 56 57 71 72 73 74 77 78 79 80 81 93 94 95 96 97 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192
DEPOLARIZE2(0.001) 7 0 30 18 53 41 76 64 99 87
DEPOLARIZE1(0.001) 1 3 5 6 8 10 12 13 14 15 16 17 19 20 21 22 23 24 29 36 37 38 39 40 42 43 44 45 46 52 58 59 60 61 62 63 65 66 67 68 69 70 75 82 83 84 85 86 88 89 90 91 92 98 104 105 106 107 108 109 110 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193
TICK
MX(0.001) 7 30 53 76 99
SHIFT_COORDS(0, 0, 2)
DETECTOR(4, 0, 0) rec[-66] rec[-145]
DETECTOR(8, 0, 0) rec[-48] rec[-127]
DETECTOR(0, 2, 0) rec[-79] rec[-158]
DETECTOR(2, 2, 0) rec[-75] rec[-154]
DETECTOR(4, 2, 0) rec[-144] rec[-65]
DETECTOR(6, 2, 0) rec[-57] rec[-136]
DETECTOR(8, 2, 0) rec[-126] rec[-47]
DETECTOR(2, 4, 0) rec[-74] rec[-153]
DETECTOR(4, 4, 0) rec[-64] rec[-143]
DETECTOR(6, 4, 0) rec[-56] rec[-135]
DETECTOR(8, 4, 0) rec[-125] rec[-46]
DETECTOR(10, 4, 0) rec[-118] rec[-39]
DETECTOR(0, 6, 0) rec[-157] rec[-78]
DETECTOR(2, 6, 0) rec[-152] rec[-73]
DETECTOR(4, 6, 0) rec[-63] rec[-142]
DETECTOR(6, 6, 0) rec[-55] rec[-134]
DETECTOR(8, 6, 0) rec[-124] rec[-45]
DETECTOR(2, 8, 0) rec[-72] rec[-151]
DETECTOR(4, 8, 0) rec[-62] rec[-141]
DETECTOR(6, 8, 0) rec[-133] rec[-54]
DETECTOR(8, 8, 0) rec[-44] rec[-123]
DETECTOR(10, 8, 0) rec[-117] rec[-38]
DETECTOR(0, 12, 0) rec[-5] rec[-84]
DETECTOR(2, 12, 0) rec[-4] rec[-83]
DETECTOR(4, 12, 0) rec[-3] rec[-82]
DETECTOR(6, 12, 0) rec[-81] rec[-2]
DETECTOR(8, 12, 0) rec[-80] rec[-1]
DETECTOR(12, 12, 0) rec[-111] rec[-32]
DETECTOR(16, 12, 0) rec[-22] rec[-101]
DETECTOR(20, 12, 0) rec[-91] rec[-12]
DETECTOR(2, 14, 0) rec[-150] rec[-71]
DETECTOR(4, 14, 0) rec[-61] rec[-140]
DETECTOR(6, 14, 0) rec[-53] rec[-132]
DETECTOR(8, 14, 0) rec[-122] rec[-43]
DETECTOR(10, 14, 0) rec[-37] rec[-116]
DETECTOR(12, 14, 0) rec[-110] rec[-31]
DETECTOR(14, 14, 0) rec[-27] rec[-106]
DETECTOR(16, 14, 0) rec[-21] rec[-100]
DETECTOR(18, 14, 0) rec[-17] rec[-96]
DETECTOR(20, 14, 0) rec[-11] rec[-90]
DETECTOR(0, 16, 0) rec[-156] rec[-77]
DETECTOR(2, 16, 0) rec[-149] rec[-70]
DETECTOR(4, 16, 0) rec[-60] rec[-139]
DETECTOR(6, 16, 0) rec[-131] rec[-52]
DETECTOR(8, 16, 0) rec[-121] rec[-42]
DETECTOR(10, 16, 0) rec[-115] rec[-36]
DETECTOR(12, 16, 0) rec[-30] rec[-109]
DETECTOR(14, 16, 0) rec[-26] rec[-105]
DETECTOR(16, 16, 0) rec[-99] rec[-20]
DETECTOR(18, 16, 0) rec[-16] rec[-95]
DETECTOR(20, 16, 0) rec[-89] rec[-10]
DETECTOR(22, 16, 0) rec[-86] rec[-7]
DETECTOR(2, 18, 0) rec[-148] rec[-69]
DETECTOR(4, 18, 0) rec[-59] rec[-138]
DETECTOR(6, 18, 0) rec[-130] rec[-51]
DETECTOR(8, 18, 0) rec[-120] rec[-41]
DETECTOR(10, 18, 0) rec[-114] rec[-35]
DETECTOR(12, 18, 0) rec[-108] rec[-29]
DETECTOR(14, 18, 0) rec[-25] rec[-104]
DETECTOR(16, 18, 0) rec[-98] rec[-19]
DETECTOR(18, 18, 0) rec[-94] rec[-15]
DETECTOR(20, 18, 0) rec[-88] rec[-9]
DETECTOR(0, 20, 0) rec[-155] rec[-76]
DETECTOR(2, 20, 0) rec[-147] rec[-68]
DETECTOR(4, 20, 0) rec[-137] rec[-58]
DETECTOR(6, 20, 0) rec[-50] rec[-129]
DETECTOR(8, 20, 0) rec[-40] rec[-119]
DETECTOR(10, 20, 0) rec[-113] rec[-34]
DETECTOR(12, 20, 0) rec[-28] rec[-107]
DETECTOR(14, 20, 0) rec[-103] rec[-24]
DETECTOR(16, 20, 0) rec[-97] rec[-18]
DETECTOR(18, 20, 0) rec[-14] rec[-93]
DETECTOR(20, 20, 0) rec[-8] rec[-87]
DETECTOR(22, 20, 0) rec[-85] rec[-6]
DETECTOR(2, 22, 0) rec[-67] rec[-146]
DETECTOR(6, 22, 0) rec[-49] rec[-128]
DETECTOR(10, 22, 0) rec[-112] rec[-33]
DETECTOR(14, 22, 0) rec[-23] rec[-102]
DETECTOR(18, 22, 0) rec[-92] rec[-13]
DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
TICK
RX 2 4 7 9 11 25 26 27 28 30 31 32 33 34 35 47 48 49 50 51 53 54 55 56 57 71 72 73 74 76 77 78 79 80 81 93 94 95 96 97 99 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192
R 18 41 64 87 110
X_ERROR(0.001) 18 41 64 87 110
Z_ERROR(0.001) 2 4 7 9 11 25 26 27 28 30 31 32 33 34 35 47 48 49 50 51 53 54 55 56 57 71 72 73 74 76 77 78 79 80 81 93 94 95 96 97 99 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192
DEPOLARIZE1(0.001) 0 1 3 5 6 8 10 12 13 14 15 16 17 19 20 21 22 23 24 29 36 37 38 39 40 42 43 44 45 46 52 58 59 60 61 62 63 65 66 67 68 69 70 75 82 83 84 85 86 88 89 90 91 92 98 104 105 106 107 108 109 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193
TICK
CX 7 18 25 37 27 39 30 41 32 44 34 46 47 59 49 61 51 63 53 64 54 66 56 68 71 83 73 85 76 87 78 90 80 92 93 105 95 107 97 109 99 110 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186
CZ 2 14 4 16 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187
R 6 29 52 75 98
DEPOLARIZE2(0.001) 7 18 25 37 27 39 30 41 32 44 34 46 47 59 49 61 51 63 53 64 54 66 56 68 71 83 73 85 76 87 78 90 80 92 93 105 95 107 97 109 99 110 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 2 14 4 16 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187
X_ERROR(0.001) 6 29 52 75 98
DEPOLARIZE1(0.001) 0 1 3 5 8 10 12 13 15 17 19 20 22 24 35 36 42 58 65 70 81 82 88 104 111 116 117 118 119 120 121 122 127 128 138 144 149 150 160 166 171 172 182 188 189 190 191 192 193
TICK
CX 18 6 25 14 27 16 30 42 32 21 41 29 49 38 51 40 54 43 64 52 71 60 73 62 76 88 78 67 87 75 95 84 97 86 100 89 110 98
CZ 7 19 53 65 57 46 79 68 99 111 101 90 103 92 123 112 125 114 135 130 137 132 145 140 147 142 157 152 159 154 167 162 169 164 179 174 181 176
DEPOLARIZE2(0.001) 18 6 25 14 27 16 30 42 32 21 41 29 49 38 51 40 54 43 64 52 71 60 73 62 76 88 78 67 87 75 95 84 97 86 100 89 110 98 7 19 53 65 57 46 79 68 99 111 101 90 103 92 123 112 125 114 135 130 137 132 145 140 147 142 157 152 159 154 167 162 169 164 179 174 181 176
DEPOLARIZE1(0.001) 0 1 2 3 4 5 8 9 10 11 12 13 15 17 20 22 23 24 26 28 31 33 34 35 36 37 39 44 45 47 48 50 55 56 58 59 61 63 66 69 70 72 74 77 80 81 82 83 85 91 93 94 96 102 104 105 106 107 108 109 113 115 116 117 118 119 120 121 122 124 126 127 128 129 131 133 134 136 138 139 141 143 144 146 148 149 150 151 153 155 156 158 160 161 163 165 166 168 170 171 172 173 175 177 178 180 182 183 184 185 186 187 188 189 190 191 192 193
TICK
CZ 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 57 68 72 83 74 85 77 88 79 90 81 92 94 105 96 107 98 109 101 112 103 114 123 128 125 130 127 132 135 140 137 142 145 150 147 152 149 154 157 162 159 164 167 172 169 174 171 176 179 184 181 186
CX 25 36 27 38 29 40 32 43 34 45 49 60 51 62 54 65 56 67 71 82 73 84 75 86 78 89 80 91 95 106 97 108 100 111 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185
DEPOLARIZE2(0.001) 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 57 68 72 83 74 85 77 88 79 90 81 92 94 105 96 107 98 109 101 112 103 114 123 128 125 130 127 132 135 140 137 142 145 150 147 152 149 154 157 162 159 164 167 172 169 174 171 176 179 184 181 186 25 36 27 38 29 40 32 43 34 45 49 60 51 62 54 65 56 67 71 82 73 84 75 86 78 89 80 91 95 106 97 108 100 111 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185
DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 14 16 18 19 21 23 24 30 41 47 53 58 64 69 70 76 87 93 99 104 110 115 116 117 118 119 120 121 122 133 138 143 144 155 160 165 166 177 182 187 188 189 190 191 192 193
TICK
CX 30 19 34 23 47 36 56 45 76 65 80 69 93 82 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187
CZ 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 72 61 74 63 77 66 94 83 96 85 99 88 118 107 120 109 133 128 155 150 177 172
DEPOLARIZE2(0.001) 30 19 34 23 47 36 56 45 76 65 80 69 93 82 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 72 61 74 63 77 66 94 83 96 85 99 88 118 107 120 109 133 128 155 150 177 172
DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 18 21 24 25 27 29 32 35 38 40 41 43 46 49 51 52 54 57 58 59 60 62 64 67 68 70 71 73 75 78 79 81 84 86 87 89 90 92 95 97 98 100 101 103 104 105 106 108 110 111 112 114 116 117 119 121 122 123 125 127 130 132 135 137 138 139 140 142 144 145 147 149 152 154 157 159 160 161 162 164 166 167 169 171 174 176 179 181 182 183 184 186 188 189 191 193
TICK
CX 18 7 25 13 27 15 29 17 32 20 34 22 41 30 49 37 51 39 54 42 56 44 64 53 71 59 73 61 75 63 78 66 80 68 87 76 95 83 97 85 100 88 102 90 110 99 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186
CZ 26 14 28 16 31 19 33 21 35 23 48 36 50 38 52 40 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 98 86 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175
DEPOLARIZE2(0.001) 18 7 25 13 27 15 29 17 32 20 34 22 41 30 49 37 51 39 54 42 56 44 64 53 71 59 73 61 75 63 78 66 80 68 87 76 95 83 97 85 100 88 102 90 110 99 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 26 14 28 16 31 19 33 21 35 23 48 36 50 38 52 40 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 98 86 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175
DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 8 9 10 11 12 24 46 47 58 70 92 93 104 105 107 109 116 117 119 121 122 132 133 138 144 154 155 160 166 176 177 182 183 185 187 188 189 191 193
TICK
CX 6 18 29 41 52 64 75 87 98 110
MX(0.001) 2 4 9 11 25 26 27 28 31 32 33 34 35 47 48 49 50 51 54 55 56 57 71 72 73 74 77 78 79 80 81 93 94 95 96 97 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192
DEPOLARIZE2(0.001) 6 18 29 41 52 64 75 87 98 110
DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 13 14 15 16 17 19 20 21 22 23 24 30 36 37 38 39 40 42 43 44 45 46 53 58 59 60 61 62 63 65 66 67 68 69 70 76 82 83 84 85 86 88 89 90 91 92 99 104 105 106 107 108 109 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193
TICK
MX(0.001) 6 29 52 75 98
DETECTOR(4, 0, 0) rec[-66] rec[-145]
DETECTOR(8, 0, 0) rec[-48] rec[-127]
DETECTOR(0, 2, 0) rec[-79] rec[-158]
DETECTOR(2, 2, 0) rec[-75] rec[-154]
DETECTOR(4, 2, 0) rec[-144] rec[-65]
DETECTOR(6, 2, 0) rec[-57] rec[-136]
DETECTOR(8, 2, 0) rec[-126] rec[-47]
DETECTOR(2, 4, 0) rec[-74] rec[-153]
DETECTOR(4, 4, 0) rec[-64] rec[-143]
DETECTOR(6, 4, 0) rec[-56] rec[-135]
DETECTOR(8, 4, 0) rec[-125] rec[-46]
DETECTOR(10, 4, 0) rec[-118] rec[-39]
DETECTOR(0, 6, 0) rec[-157] rec[-78]
DETECTOR(2, 6, 0) rec[-152] rec[-73]
DETECTOR(4, 6, 0) rec[-63] rec[-142]
DETECTOR(6, 6, 0) rec[-55] rec[-134]
DETECTOR(8, 6, 0) rec[-124] rec[-45]
DETECTOR(2, 8, 0) rec[-72] rec[-151]
DETECTOR(4, 8, 0) rec[-62] rec[-141]
DETECTOR(6, 8, 0) rec[-133] rec[-54]
DETECTOR(8, 8, 0) rec[-44] rec[-123]
DETECTOR(10, 8, 0) rec[-117] rec[-38]
DETECTOR(0, 10, 0) rec[-84] rec[-5]
DETECTOR(2, 10, 0) rec[-83] rec[-4]
DETECTOR(4, 10, 0) rec[-82] rec[-3]
DETECTOR(6, 10, 0) rec[-2] rec[-81]
DETECTOR(8, 10, 0) rec[-1] rec[-80]
DETECTOR(12, 12, 0) rec[-111] rec[-32]
DETECTOR(16, 12, 0) rec[-22] rec[-101]
DETECTOR(20, 12, 0) rec[-91] rec[-12]
DETECTOR(2, 14, 0) rec[-150] rec[-71]
DETECTOR(4, 14, 0) rec[-61] rec[-140]
DETECTOR(6, 14, 0) rec[-53] rec[-132]
DETECTOR(8, 14, 0) rec[-122] rec[-43]
DETECTOR(10, 14, 0) rec[-37] rec[-116]
DETECTOR(12, 14, 0) rec[-110] rec[-31]
DETECTOR(14, 14, 0) rec[-27] rec[-106]
DETECTOR(16, 14, 0) rec[-21] rec[-100]
DETECTOR(18, 14, 0) rec[-17] rec[-96]
DETECTOR(20, 14, 0) rec[-11] rec[-90]
DETECTOR(0, 16, 0) rec[-156] rec[-77]
DETECTOR(2, 16, 0) rec[-149] rec[-70]
DETECTOR(4, 16, 0) rec[-60] rec[-139]
DETECTOR(6, 16, 0) rec[-52] rec[-131]
DETECTOR(8, 16, 0) rec[-121] rec[-42]
DETECTOR(10, 16, 0) rec[-36] rec[-115]
DETECTOR(12, 16, 0) rec[-30] rec[-109]
DETECTOR(14, 16, 0) rec[-26] rec[-105]
DETECTOR(16, 16, 0) rec[-99] rec[-20]
DETECTOR(18, 16, 0) rec[-16] rec[-95]
DETECTOR(20, 16, 0) rec[-89] rec[-10]
DETECTOR(22, 16, 0) rec[-86] rec[-7]
DETECTOR(2, 18, 0) rec[-148] rec[-69]
DETECTOR(4, 18, 0) rec[-59] rec[-138]
DETECTOR(6, 18, 0) rec[-130] rec[-51]
DETECTOR(8, 18, 0) rec[-120] rec[-41]
DETECTOR(10, 18, 0) rec[-114] rec[-35]
DETECTOR(12, 18, 0) rec[-108] rec[-29]
DETECTOR(14, 18, 0) rec[-25] rec[-104]
DETECTOR(16, 18, 0) rec[-98] rec[-19]
DETECTOR(18, 18, 0) rec[-94] rec[-15]
DETECTOR(20, 18, 0) rec[-88] rec[-9]
DETECTOR(0, 20, 0) rec[-155] rec[-76]
DETECTOR(2, 20, 0) rec[-147] rec[-68]
DETECTOR(4, 20, 0) rec[-137] rec[-58]
DETECTOR(6, 20, 0) rec[-50] rec[-129]
DETECTOR(8, 20, 0) rec[-40] rec[-119]
DETECTOR(10, 20, 0) rec[-113] rec[-34]
DETECTOR(12, 20, 0) rec[-28] rec[-107]
DETECTOR(14, 20, 0) rec[-103] rec[-24]
DETECTOR(16, 20, 0) rec[-97] rec[-18]
DETECTOR(18, 20, 0) rec[-14] rec[-93]
DETECTOR(20, 20, 0) rec[-8] rec[-87]
DETECTOR(22, 20, 0) rec[-85] rec[-6]
DETECTOR(2, 22, 0) rec[-67] rec[-146]
DETECTOR(6, 22, 0) rec[-49] rec[-128]
DETECTOR(10, 22, 0) rec[-112] rec[-33]
DETECTOR(14, 22, 0) rec[-23] rec[-102]
DETECTOR(18, 22, 0) rec[-92] rec[-13]
DEPOLARIZE1(0.001) 0 1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
TICK
RX 2 4 6 9 11 25 26 27 28 29 31 32 33 34 35 47 48 49 50 51 52 54 55 56 57 71 72 73 74 75 77 78 79 80 81 93 94 95 96 97 98 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192
R 0 18 41 64 87
X_ERROR(0.001) 0 18 41 64 87
Z_ERROR(0.001) 2 4 6 9 11 25 26 27 28 29 31 32 33 34 35 47 48 49 50 51 52 54 55 56 57 71 72 73 74 75 77 78 79 80 81 93 94 95 96 97 98 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192
DEPOLARIZE1(0.001) 1 3 5 7 8 10 12 13 14 15 16 17 19 20 21 22 23 24 30 36 37 38 39 40 42 43 44 45 46 53 58 59 60 61 62 63 65 66 67 68 69 70 76 82 83 84 85 86 88 89 90 91 92 99 104 105 106 107 108 109 110 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193
TICK
CX 6 0 25 13 27 15 29 18 32 20 34 22 49 37 51 39 52 41 54 42 56 44 71 59 73 61 75 64 78 66 80 68 95 83 97 85 98 87 100 88 102 90 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186
CZ 26 14 28 16 31 19 33 21 35 23 48 36 50 38 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175
R 7 30 53 76 99
DEPOLARIZE2(0.001) 6 0 25 13 27 15 29 18 32 20 34 22 49 37 51 39 52 41 54 42 56 44 71 59 73 61 75 64 78 66 80 68 95 83 97 85 98 87 100 88 102 90 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 26 14 28 16 31 19 33 21 35 23 48 36 50 38 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175
X_ERROR(0.001) 7 30 53 76 99
DEPOLARIZE1(0.001) 1 2 3 4 5 8 9 10 11 12 17 24 40 46 47 58 63 70 86 92 93 104 105 107 109 110 116 117 119 121 122 132 133 138 144 154 155 160 166 176 177 182 183 185 187 188 189 191 193
TICK
CX 0 7 18 30 25 36 27 38 29 17 32 43 41 53 49 60 51 62 54 65 64 76 71 82 73 84 75 63 78 89 87 99 95 106 97 108 100 111
CZ 52 40 57 68 79 90 98 86 101 112 103 114 123 128 125 130 135 140 137 142 145 150 147 152 157 162 159 164 167 172 169 174 179 184 181 186
DEPOLARIZE2(0.001) 0 7 18 30 25 36 27 38 29 17 32 43 41 53 49 60 51 62 54 65 64 76 71 82 73 84 75 63 78 89 87 99 95 106 97 108 100 111 52 40 57 68 79 90 98 86 101 112 103 114 123 128 125 130 135 140 137 142 145 150 147 152 157 162 159 164 167 172 169 174 179 184 181 186
DEPOLARIZE1(0.001) 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 19 20 21 22 23 24 26 28 31 33 34 35 37 39 42 44 45 46 47 48 50 55 56 58 59 61 66 67 69 70 72 74 77 80 81 83 85 88 91 92 93 94 96 102 104 105 107 109 110 113 115 116 117 118 119 120 121 122 124 126 127 129 131 132 133 134 136 138 139 141 143 144 146 148 149 151 153 154 155 156 158 160 161 163 165 166 168 170 171 173 175 176 177 178 180 182 183 185 187 188 189 190 191 192 193
TICK
CX 25 14 27 16 30 19 32 21 34 23 47 36 49 38 51 40 54 43 56 45 71 60 73 62 76 65 78 67 80 69 93 82 95 84 97 86 100 89 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187
CZ 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 57 46 72 61 74 63 77 66 79 68 94 83 96 85 99 88 101 90 103 92 118 107 120 109 123 112 125 114 133 128 135 130 137 132 145 140 147 142 155 150 157 152 159 154 167 162 169 164 177 172 179 174 181 176
DEPOLARIZE2(0.001) 25 14 27 16 30 19 32 21 34 23 47 36 49 38 51 40 54 43 56 45 71 60 73 62 76 65 78 67 80 69 93 82 95 84 97 86 100 89 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 57 46 72 61 74 63 77 66 79 68 94 83 96 85 99 88 101 90 103 92 118 107 120 109 123 112 125 114 133 128 135 130 137 132 145 140 147 142 155 150 157 152 159 154 167 162 169 164 177 172 179 174 181 176
DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 18 24 29 35 41 52 58 59 64 70 75 81 87 98 104 105 106 108 110 111 116 117 119 121 122 127 138 139 144 149 160 161 166 171 182 183 184 186 188 189 191 193
TICK
CZ 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 72 83 74 85 77 88 81 92 94 105 96 107 98 109 127 132 149 154 171 176
CX 29 40 34 45 56 67 75 86 80 91 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185
DEPOLARIZE2(0.001) 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 72 83 74 85 77 88 81 92 94 105 96 107 98 109 127 132 149 154 171 176 29 40 34 45 56 67 75 86 80 91 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185
DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 14 16 18 19 21 23 24 25 27 30 32 36 38 41 43 47 49 51 53 54 57 58 60 62 64 65 68 69 70 71 73 76 78 79 82 84 87 89 90 93 95 97 99 100 101 103 104 106 108 110 111 112 114 115 116 117 118 119 120 121 122 123 125 128 130 133 135 137 138 140 142 143 144 145 147 150 152 155 157 159 160 162 164 165 166 167 169 172 174 177 179 181 182 184 186 187 188 189 190 191 192 193
TICK
CX 0 6 18 29 25 37 27 39 30 42 32 44 34 46 41 52 47 59 49 61 51 63 54 66 56 68 64 75 71 83 73 85 76 88 78 90 80 92 87 98 93 105 95 107 97 109 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186
CZ 2 14 4 16 7 19 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 53 65 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 99 111 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187
DEPOLARIZE2(0.001) 0 6 18 29 25 37 27 39 30 42 32 44 34 46 41 52 47 59 49 61 51 63 54 66 56 68 64 75 71 83 73 85 76 88 78 90 80 92 87 98 93 105 95 107 97 109 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 2 14 4 16 7 19 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 53 65 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 99 111 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187
DEPOLARIZE1(0.001) 1 3 5 8 10 12 13 15 17 20 22 24 35 36 58 70 81 82 104 110 116 117 118 119 120 121 122 127 128 138 144 149 150 160 166 171 172 182 188 189 190 191 192 193
TICK
CX 7 0 30 18 53 41 76 64 99 87
MX(0.001) 2 4 9 11 13 14 15 16 17 19 20 21 22 23 25 26 27 28 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 54 55 56 57 59 60 61 62 63 65 66 67 68 69 71 72 73 74 77 78 79 80 81 82 83 84 85 86 88 89 90 91 92 93 94 95 96 97 100 101 102 103 105 106 107 108 109 111 112 113 114 115 118 120 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 139 140 141 142 143 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 161 162 163 164 165 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 183 184 185 186 187 190 192
DEPOLARIZE2(0.001) 7 0 30 18 53 41 76 64 99 87
DEPOLARIZE1(0.001) 1 3 5 6 8 10 12 24 29 52 58 70 75 98 104 110 116 117 119 121 122 138 144 160 166 182 188 189 191 193
TICK
M(0.001) 0 6 18 29 41 52 64 75 87 98
MX(0.001) 7 30 53 76 99
DETECTOR(4, 0, 0) rec[-235] rec[-136]
DETECTOR(4, 0, 0) rec[-136] rec[-146] rec[-127]
DETECTOR(8, 0, 0) rec[-217] rec[-98]
DETECTOR(8, 0, 0) rec[-108] rec[-98] rec[-89]
DETECTOR(0, 2, 0) rec[-248] rec[-169]
DETECTOR(2, 2, 0) rec[-155] rec[-165] rec[-146] rec[-164] rec[-145]
DETECTOR(2, 2, 0) rec[-155] rec[-244]
DETECTOR(4, 2, 0) rec[-135] rec[-234]
DETECTOR(6, 2, 0) rec[-126] rec[-127] rec[-107] rec[-108] rec[-117]
DETECTOR(6, 2, 0) rec[-226] rec[-117]
DETECTOR(8, 2, 0) rec[-97] rec[-216]
DETECTOR(2, 4, 0) rec[-243] rec[-154]
DETECTOR(4, 4, 0) rec[-134] rec[-144] rec[-125] rec[-126] rec[-145]
DETECTOR(4, 4, 0) rec[-233] rec[-134]
DETECTOR(6, 4, 0) rec[-225] rec[-116]
DETECTOR(8, 4, 0) rec[-87] rec[-106] rec[-96] rec[-107] rec[-88]
DETECTOR(8, 4, 0) rec[-96] rec[-215]
DETECTOR(10, 4, 0) rec[-79] rec[-208]
DETECTOR(0, 6, 0) rec[-247] rec[-168]
DETECTOR(2, 6, 0) rec[-144] rec[-163] rec[-143] rec[-162] rec[-153]
DETECTOR(2, 6, 0) rec[-242] rec[-153]
DETECTOR(4, 6, 0) rec[-133] rec[-232]
DETECTOR(6, 6, 0) rec[-106] rec[-125] rec[-115] rec[-124] rec[-105]
DETECTOR(6, 6, 0) rec[-224] rec[-115]
DETECTOR(8, 6, 0) rec[-95] rec[-214]
DETECTOR(2, 8, 0) rec[-152] rec[-241]
DETECTOR(4, 8, 0) rec[-124] rec[-132] rec[-142] rec[-143] rec[-123]
DETECTOR(4, 8, 0) rec[-132] rec[-231]
DETECTOR(6, 8, 0) rec[-114] rec[-223]
DETECTOR(8, 8, 0) rec[-94] rec[-86] rec[-105] rec[-104] rec[-85]
DETECTOR(8, 8, 0) rec[-213] rec[-94]
DETECTOR(10, 8, 0) rec[-78] rec[-207]
DETECTOR(0, 10, 0) rec[-14]
DETECTOR(2, 10, 0) rec[-14] rec[-142] rec[-160] rec[-161] rec[-15] rec[-141] rec[-4]
DETECTOR(2, 10, 0) rec[-12]
DETECTOR(4, 10, 0) rec[-10]
DETECTOR(6, 10, 0) rec[-11] rec[-2] rec[-104] rec[-10] rec[-123] rec[-103] rec[-122]
DETECTOR(6, 10, 0) rec[-8]
DETECTOR(8, 10, 0) rec[-6]
DETECTOR(0, 12, 0) rec[-5] rec[-174]
DETECTOR(2, 12, 0) rec[-4] rec[-173]
DETECTOR(2, 10, 0) rec[-14] rec[-142] rec[-160] rec[-161] rec[-15] rec[-141] rec[-4]
DETECTOR(4, 12, 0) rec[-3] rec[-172]
DETECTOR(6, 12, 0) rec[-171] rec[-2]
DETECTOR(6, 10, 0) rec[-11] rec[-2] rec[-104] rec[-10] rec[-123] rec[-103] rec[-122]
DETECTOR(8, 12, 0) rec[-170] rec[-1]
DETECTOR(12, 12, 0) rec[-201] rec[-67]
DETECTOR(16, 12, 0) rec[-191] rec[-47]
DETECTOR(20, 12, 0) rec[-27] rec[-181]
DETECTOR(2, 14, 0) rec[-151] rec[-240]
DETECTOR(4, 14, 0) rec[-140] rec[-121] rec[-131] rec[-141] rec[-122]
DETECTOR(4, 14, 0) rec[-230] rec[-131]
DETECTOR(6, 14, 0) rec[-222] rec[-113]
DETECTOR(8, 14, 0) rec[-83] rec[-93] rec[-102] rec[-84] rec[-103]
DETECTOR(8, 14, 0) rec[-93] rec[-212]
DETECTOR(10, 14, 0) rec[-206] rec[-77]
DETECTOR(12, 14, 0) rec[-61] rec[-72] rec[-62] rec[-66] rec[-71]
DETECTOR(12, 14, 0) rec[-200] rec[-66]
DETECTOR(14, 14, 0) rec[-196] rec[-57]
DETECTOR(16, 14, 0) rec[-41] rec[-42] rec[-52] rec[-46] rec[-51]
DETECTOR(16, 14, 0) rec[-46] rec[-190]
DETECTOR(18, 14, 0) rec[-186] rec[-37]
DETECTOR(20, 14, 0) rec[-26] rec[-21] rec[-22] rec[-32] rec[-31]
DETECTOR(20, 14, 0) rec[-180] rec[-26]
DETECTOR(0, 16, 0) rec[-167] rec[-246]
DETECTOR(2, 16, 0) rec[-140] rec[-158] rec[-159] rec[-139] rec[-150]
DETECTOR(2, 16, 0) rec[-150] rec[-239]
DETECTOR(4, 16, 0) rec[-229] rec[-130]
DETECTOR(6, 16, 0) rec[-101] rec[-112] rec[-121] rec[-102] rec[-120]
DETECTOR(6, 16, 0) rec[-112] rec[-221]
DETECTOR(8, 16, 0) rec[-92] rec[-211]
DETECTOR(10, 16, 0) rec[-83] rec[-82] rec[-70] rec[-71] rec[-76]
DETECTOR(10, 16, 0) rec[-76] rec[-205]
DETECTOR(12, 16, 0) rec[-199] rec[-65]
DETECTOR(14, 16, 0) rec[-60] rec[-61] rec[-51] rec[-50] rec[-56]
DETECTOR(14, 16, 0) rec[-195] rec[-56]
DETECTOR(16, 16, 0) rec[-189] rec[-45]
DETECTOR(18, 16, 0) rec[-40] rec[-36] rec[-41] rec[-30] rec[-31]
DETECTOR(18, 16, 0) rec[-185] rec[-36]
DETECTOR(20, 16, 0) rec[-25] rec[-179]
DETECTOR(22, 16, 0) rec[-21] rec[-20] rec[-17]
DETECTOR(22, 16, 0) rec[-17] rec[-176]
DETECTOR(2, 18, 0) rec[-149] rec[-238]
DETECTOR(4, 18, 0) rec[-138] rec[-119] rec[-129] rec[-139] rec[-120]
DETECTOR(4, 18, 0) rec[-129] rec[-228]
DETECTOR(6, 18, 0) rec[-220] rec[-111]
DETECTOR(8, 18, 0) rec[-101] rec[-100] rec[-82] rec[-91] rec[-81]
DETECTOR(8, 18, 0) rec[-91] rec[-210]
DETECTOR(10, 18, 0) rec[-204] rec[-75]
DETECTOR(12, 18, 0) rec[-60] rec[-69] rec[-59] rec[-64] rec[-70]
DETECTOR(12, 18, 0) rec[-198] rec[-64]
DETECTOR(14, 18, 0) rec[-194] rec[-55]
DETECTOR(16, 18, 0) rec[-40] rec[-39] rec[-44] rec[-49] rec[-50]
DETECTOR(16, 18, 0) rec[-188] rec[-44]
DETECTOR(18, 18, 0) rec[-35] rec[-184]
DETECTOR(20, 18, 0) rec[-19] rec[-20] rec[-29] rec[-24] rec[-30]
DETECTOR(20, 18, 0) rec[-24] rec[-178]
DETECTOR(0, 20, 0) rec[-245] rec[-166]
DETECTOR(2, 20, 0) rec[-138] rec[-156] rec[-148] rec[-157] rec[-137]
DETECTOR(2, 20, 0) rec[-148] rec[-237]
DETECTOR(4, 20, 0) rec[-128] rec[-227]
DETECTOR(6, 20, 0) rec[-110] rec[-99] rec[-100] rec[-119] rec[-118]
DETECTOR(6, 20, 0) rec[-110] rec[-219]
DETECTOR(8, 20, 0) rec[-90] rec[-209]
DETECTOR(10, 20, 0) rec[-68] rec[-74] rec[-69] rec[-80] rec[-81]
DETECTOR(10, 20, 0) rec[-203] rec[-74]
DETECTOR(12, 20, 0) rec[-197] rec[-63]
DETECTOR(14, 20, 0) rec[-48] rec[-54] rec[-59] rec[-58] rec[-49]
DETECTOR(14, 20, 0) rec[-193] rec[-54]
DETECTOR(16, 20, 0) rec[-43] rec[-187]
DETECTOR(18, 20, 0) rec[-39] rec[-34] rec[-38] rec[-29] rec[-28]
DETECTOR(18, 20, 0) rec[-34] rec[-183]
DETECTOR(20, 20, 0) rec[-177] rec[-23]
DETECTOR(22, 20, 0) rec[-18] rec[-16] rec[-19]
DETECTOR(22, 20, 0) rec[-175] rec[-16]
DETECTOR(2, 22, 0) rec[-147] rec[-236]
DETECTOR(6, 22, 0) rec[-218] rec[-109]
DETECTOR(10, 22, 0) rec[-73] rec[-202]
DETECTOR(14, 22, 0) rec[-53] rec[-192]
DETECTOR(18, 22, 0) rec[-33] rec[-182]
OBSERVABLE_INCLUDE(0) rec[-40] rec[-121] rec[-125] rec[-101] rec[-60] rec[-30] rec[-50] rec[-120] rec[-127] rec[-124] rec[-122] rec[-126] rec[-123] rec[-82] rec[-20] rec[-70]
DEPOLARIZE1(0.001) 1 2 3 4 5 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 54 55 56 57 58 59 60 61 62 63 65 66 67 68 69 70 71 72 73 74 77 78 79 80 81 82 83 84 85 86 88 89 90 91 92 93 94 95 96 97 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193

nelimee avatar Apr 19 '25 15:04 nelimee

the detector associated with the region PAULI_MARK#2 is included in the generated circuit.

I did not see this included in the circuit provided above?

inmzhang avatar Apr 19 '25 16:04 inmzhang

the detector associated with the region PAULI_MARK#2 is included in the generated circuit.

I did not see this included in the circuit provided above?

Right, I confused with the measurements above.

nelimee avatar Apr 19 '25 16:04 nelimee

After manually adding those detectors in the final round, I can verify that the circuit distance is:

  • k=1: 2
  • k=2: 4
  • k=3: 5
  • k=4: 7

Is there an easy way to make tqecd to find these detectors?

inmzhang avatar Apr 21 '25 11:04 inmzhang

After manually adding those detectors in the final round, I can verify that the circuit distance is:

  • k=1: 2
  • k=2: 4
  • k=3: 5
  • k=4: 7

Is there an easy way to make tqecd to find these detectors?

I cannot work on it today. I'll have a look tomorrow. What I do not get is why these detectors are not the first added, as tqecd should first add detectors contained in one round, before trying to match between neighbouring rounds.

nelimee avatar Apr 21 '25 12:04 nelimee

What I do not get is why these detectors are not the first added, as tqecd should first add detectors contained in one round, before trying to match between neighbouring rounds.

I think it's because the consecutive measurement moments are divided into individual fragments:

R 0 1 2 3 4
TICK
M 0 1 2
TICK
MX 3 4

will generate two fragments now in tqecd.

inmzhang avatar Apr 21 '25 12:04 inmzhang

What I do not get is why these detectors are not the first added, as tqecd should first add detectors contained in one round, before trying to match between neighbouring rounds.

I think it's because the consecutive measurement moments are divided into individual fragments:

R 0 1 2 3 4
TICK
M 0 1 2
TICK
MX 3 4

will generate two fragments now in tqecd.

Yes. Basically, we can have either the expected detector including data-qubits from the extended plaquette or detectors involving ancilla measurements. This is due to the fact that matched flows are removed from the search space.

I am not sure how to solve that at the moment. We could:

  1. add meta-data to qubits saying "destruction flows involving measurements on this qubit can participate in multiple detectors", hence not removing the flow when it is matched, and annotating all data-qubits. That may not be easily usable when walking codes will enter into the equation.
  2. add the possibility for Plaquette instances to include detectors, bypassing automatic detector computation, and only performing automatic computation when the detectors are not already provided by the user (not sure this is possible in general as, by definition, Plaquette instances are only aware of themselves and detectors include most of the time measurements from previous timesteps (i.e., previous Plaquette instances)).
  3. something else ?

Option 1 seems like a bad fix: something that works for that specific case, but might break for another slightly different case.

I think option 2 would be a nice to have, allowing "power users" to explicitly specify the detectors they want without relying on an automatic process that may fails to produce the exact detectors they want, and it might also be needed for the more complex structures to come (Y-basis/walking code). One problem: the representation of detectors will be hard... it needs to be able to represent measurements in the past and* measurements from outside the Plaquette instance, and that will add quite a lot of complexity, which makes me reluctant to implement option 2.

I am open to other options.

nelimee avatar Apr 22 '25 12:04 nelimee

What if we allow those single-source flows to propagate one-more round and build detectors for those that can terminate trivially? For example, we propagate the end stabilizer from the reset till the end of the next fragment and if it can terminates at commuting measurements we add it to the detectors. The difference is that we do not match end/start stabilizers at the fragment interface in this case.

inmzhang avatar Apr 22 '25 13:04 inmzhang

What if we allow those single-source flows to propagate one-more round and build detectors for those that can terminate trivially? For example, we propagate the end stabilizer from the reset till the end of the next fragment and if it can terminates at commuting measurements we add it to the detectors. The difference is that we do not match end/start stabilizers at the fragment interface in this case.

Considering that flows matched by that method would not be removed from the search space, that seems like a slightly more reasonable version than option 1, but I still think this looks like a solution for a specific problem that might end up biting us later on.

Also, a quick note: I am not against reworking entirely tqecd. I already made a few attempts locally using stim-native methods (such a flow_generators), but they ended up not being successful. If we need to rework it entirely, let's do it. If we only need to add a sensible rule to detectors matching, that's better.

nelimee avatar Apr 22 '25 13:04 nelimee

but I still think this looks like a solution for a specific problem that might end up biting us later on.

I have that worry too but I do not have an anti-case in mind.

I am not against reworking entirely tqecd

If we can come up with a better algorithm to build detectors or some improvements that require significant changes, it's totally worth a rewrite. Maybe even rewrite in C++ to improve performance.

inmzhang avatar Apr 22 '25 15:04 inmzhang

I have that worry too but I do not have an anti-case in mind.

Me neither. But we might be surprised to see non-independent detectors showing up in other situations due to that addition. I need to think if there is any way to check the validity of the approach in order to have a safe-guard and raise (or warn) if the change end up also giving wrong results.

If we can come up with a better algorithm to build detectors or some improvements that require significant changes, it's totally worth a rewrite.

The method in https://github.com/Strilanc/magic-state-cultivation/blob/main/src/gen/_chunk/_chunk_compiler.py#L346 might be worth a look at.

Maybe even rewrite in C++ to improve performance.

Detector computation is not that expensive. If I remember correctly, the main cost of the detector computation part is building the circuits we will compute detectors on.

UPDATE: From benchmarks on my computer: image

So detector computation is expensive, might be worth an efficient rewrite, but is not the most expensive part of tqec.

nelimee avatar Apr 23 '25 07:04 nelimee

I'm trying to reproduce properly the missing detector error in order to make it reproducible and try to understand exactly what is happening. That might take time.

nelimee avatar Apr 25 '25 11:04 nelimee

I have not tested yet, but I think I found the source of the issue. The missing detector is likely due to

https://github.com/tqec/tqec/blob/a0af55cd2fdeed843a900cc4dd432c32fa8cde16/src/tqec/compile/detectors/compute.py#L244-L245

that filter out any detector that does not include a measurement from one of the syndrome qubit(s) of the central plaquette in the last timestep. This was done to ensure that each detector was uniquely assigned to a plaquette and avoid duplicates, but the missing detector ends on a qubit that is labeled as a "data" qubit.

I think the best way to fix that issue is to declare the ancilla qubit as a syndrome qubit. That will change the indexing of qubits, but that might solve the problem easily.

nelimee avatar Apr 25 '25 15:04 nelimee

Nice! For local quick tests, I added a new attribute data_as_syndrome_roles to PlaquetteQubits. I include the down-left (top-left) data qubit of the up (down) spatial arm plaquette in the list, then filter over syndrome_qubits + data_as_syndrome_roles during detector computation. It works correctly! The measured circuit distance matches the result here.

inmzhang avatar Apr 26 '25 03:04 inmzhang

The last two commits implement the fix I had in mind. Move rotation seems to still have an issue. I won't have time this week-end for more tinkering, so if you want to rather push your fix (or submit a PR on top of this one) @inmzhang please feel free.

nelimee avatar Apr 26 '25 09:04 nelimee

The last two commits implement the fix I had in mind. Move rotation seems to still have an issue. I won't have time this week-end for more tinkering, so if you want to rather push your fix (or submit a PR on top of this one) @inmzhang please feel free.

Ok, I'll take a look.

inmzhang avatar Apr 26 '25 09:04 inmzhang

Currently, some detectors are missing for move rotation. Here, the detectors with Pauli mark 1 is not computed. ~I think it's because the detector spans three fragments.~

It seems I forgot some important details about the flow matching, isn't a single measurement moment forming a fragment by itself and the algorithm will only match between two consecutive moments? Why is it able to find the this detector? @nelimee

inmzhang avatar Apr 26 '25 12:04 inmzhang

It seems I forgot some important details about the flow matching, isn't a single measurement moment forming a fragment by itself

When the circuit is split by tqecd, a single measurement moment finishes the fragment, and so the above statement is true.

https://github.com/tqec/tqecd/blob/3a4ea8313a2e7a2239853da863f26cc80fc634b1/src/tqecd/fragment.py#L245-L250

The Fragment docstring was written with that in mind, but Fragment instances are in no way limited to one unique final measurement moment, as can be seen for example here:

https://github.com/tqec/tqecd/blob/3a4ea8313a2e7a2239853da863f26cc80fc634b1/src/tqecd/fragment.py#L81-L89

In the above code, moments are tested in reverse until there are no more measurements, hinting that more than one final measurement moment is valid.

In tqec, Fragment instances are constructed from the coordless_subcircuits:

https://github.com/tqec/tqec/blob/34af5b1d896721ff0f685311916767449e8ef2d1/src/tqec/compile/detectors/compute.py#L225-L225

that are built from the subcircuits

https://github.com/tqec/tqec/blob/34af5b1d896721ff0f685311916767449e8ef2d1/src/tqec/compile/detectors/compute.py#L209-L211

in turns obtained from a subtemplate and the plaquettes

https://github.com/tqec/tqec/blob/34af5b1d896721ff0f685311916767449e8ef2d1/src/tqec/compile/detectors/compute.py#L202

That means that the Fragment instances are provided with one QEC round as defined by the plaquettes. In the specific case of data-qubit measurements, these measurements are defined within the last plaquette instance (and not as a separate plaquette), hence they are included in the Fragment instance.

and the algorithm will only match between two consecutive moments?

It does. First match flows that are created and terminated within the same moment, then match for flows between two consecutive moments.

Why is it able to find the this detector?

I guess the explanation above should be enough to answer that question.

Currently, some detectors are missing for move rotation. Here, the detectors with Pauli mark 1 is not computed.

I will have a quick look today.

nelimee avatar Apr 27 '25 13:04 nelimee

Thanks for the clarification, so I forgot that the fragment is constructed directly from the plaquettes instead of splitting from the merged circuits.

inmzhang avatar Apr 28 '25 02:04 inmzhang