Commit ·
79ed4eb
1
Parent(s): 4a3e194
Rerun every result on the constant-depth host, add the amplified host with its fault-tolerance theorem and runs, the orbit certificate and the literature on growth, and cut the paper to 35 pages
Browse files- README.md +34 -13
- paper/README.md +13 -6
- paper/runs/paper_c_evaluator.json +17 -2
- paper/runs/paper_environment.json +6 -6
- paper/runs/paper_fanin2.json +27 -0
- paper/runs/paper_host_family.json +10 -10
- paper/runs/paper_interp.json +2 -2
- paper/runs/paper_neuromorphic.json +12 -31
- paper/runs/paper_noise_certify.json +224 -0
- paper/runs/paper_noise_curve.json +822 -822
- paper/runs/paper_noise_leak.json +41 -41
- paper/runs/paper_noise_margin.json +2 -2
- paper/runs/paper_noise_omega.json +21 -21
- paper/runs/paper_noise_profile.json +83 -77
- paper/runs/paper_redundant_curve_r3.json +2718 -0
- paper/runs/paper_redundant_layers_r3.json +245 -0
- paper/runs/paper_redundant_omega_r3.json +47 -0
- paper/runs/paper_redundant_r3.json +35 -0
- paper/runs/paper_redundant_restore_r3.json +66 -0
- paper/runs/paper_redundant_selfrep_r3.json +35 -0
- paper/runs/paper_runs_family.json +8 -7
- paper/runs/paper_runs_family_gate.json +9 -9
- paper/runs/paper_runs_lev_sparse.json +20 -20
- paper/runs/paper_runs_lockstep.json +8 -8
- paper/runs/paper_runs_net.json +30 -30
- paper/runs/paper_settle.json +1 -1
- paper/runs/paper_throughput.json +26 -21
- paper/runs/paper_verify.json +12 -11
- paper/runs/paper_verify_times.json +31 -39
- paper/universal_construction_ternary.pdf +2 -2
- paper/universal_construction_ternary.tex +0 -0
- src/check_c.py +3 -2
- src/check_family.py +35 -18
- src/check_framing.py +1 -1
- src/check_host.py +1 -1
- src/check_host_family.py +1 -1
- src/fanin2.py +127 -28
- src/hosted_constructor.py +3 -3
- src/netlist_eval.c +103 -31
- src/neuromorphic.py +56 -41
- src/noise.py +101 -9
- src/paper_verify.py +1 -1
- src/redundant.py +745 -0
- src/selfrep.py +1 -1
- src/throughput.py +25 -1
- src/verify.py +30 -16
README.md
CHANGED
|
@@ -561,9 +561,14 @@ weights and checked to the byte.
|
|
| 561 |
|
| 562 |
`paper/` states and proves what this machine does, for a host serialized one
|
| 563 |
unit at a time: `variants/neural_subleq8io_netlist.safetensors` stores the bias
|
| 564 |
-
of every unit and every edge of the wiring, 17,
|
| 565 |
-
|
| 566 |
-
analyses, and parsing the file rebuilds
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 567 |
as von Neumann did, a 27-instruction program emits the serialization of the
|
| 568 |
host, its initial memory and its own description tape; each generation is
|
| 569 |
instantiated from the bytes the last one emitted, by parsing that output,
|
|
@@ -574,17 +579,26 @@ image from its description, copies the description and hands over, so that with
|
|
| 574 |
its own description it reproduces generation after generation by the
|
| 575 |
interpreter's dynamics, that a larger interpreter runs a netlist realizing a
|
| 576 |
smaller one, and that the constructor itself runs as a netlist stored in the
|
| 577 |
-
interpreter's state.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 578 |
|
| 579 |
`python src/verify.py` audits every statement of the paper, and `--tier 2` adds
|
| 580 |
every construction end to end; the checks of a tier run concurrently. `--tier 3` runs
|
| 581 |
-
the self-reproducing instance on the threshold evaluators,
|
| 582 |
-
|
| 583 |
-
|
|
|
|
|
|
|
| 584 |
`src/paper_stats.py`, `src/paper_verify.py`, `src/paper_runs.py`,
|
| 585 |
`src/organism.py`, `src/check_c.py`, `src/hierarchy.py`, `src/hosted_constructor.py`,
|
| 586 |
-
`src/throughput.py`, `src/noise.py`, `src/
|
| 587 |
-
`src/check_*.py` set, and their records are in
|
|
|
|
| 588 |
|
| 589 |
---
|
| 590 |
|
|
@@ -981,20 +995,27 @@ src/ the library (run scripts as `python src/<nam
|
|
| 981 |
├── paper_runs.py self-description, three generations, lockstep
|
| 982 |
├── organism.py the organism: decodes a description into the idle bank,
|
| 983 |
│ copies it and hands over, generation after generation
|
| 984 |
-
├──
|
|
|
|
|
|
|
|
|
|
| 985 |
├── check_c.py the host and the organism on the evaluator in C
|
|
|
|
|
|
|
|
|
|
| 986 |
├── fanin2.py rewrites a netlist to effective fan-in two
|
| 987 |
├── hierarchy.py a larger interpreter interpreting a netlist realizing a
|
| 988 |
│ smaller one
|
| 989 |
├── hosted_constructor.py the universal constructor as a netlist stored in the
|
| 990 |
│ interpreter, with tape, output word and device in signals
|
| 991 |
├── noise.py read noise on the self-reproducing run, the deviation curve
|
| 992 |
-
│ against the
|
|
|
|
| 993 |
├── neuromorphic.py the datapath on the Loihi and Akida neuron models
|
| 994 |
└── check_*.py codec boundaries and optimality, step counts, tapes that are
|
| 995 |
not recipes, ternary depth, environment cost, device, host,
|
| 996 |
-
levelization, framing, settling, dependence,
|
| 997 |
-
all 29 machines
|
| 998 |
paper/ the manuscript, and the record of every run it reports
|
| 999 |
tools/ build_all.py (build + quantize + verify every profile),
|
| 1000 |
cpu_programs.py (assembler + CPU program suite), test_cpu.py
|
|
|
|
| 561 |
|
| 562 |
`paper/` states and proves what this machine does, for a host serialized one
|
| 563 |
unit at a time: `variants/neural_subleq8io_netlist.safetensors` stores the bias
|
| 564 |
+
of every unit and every edge of the wiring, 17,598 units and 51,132 edges in
|
| 565 |
+
160,240 bytes, in the order `src/host_family.py` builds them, so the network the
|
| 566 |
+
file denotes is the network the paper analyses, and parsing the file rebuilds
|
| 567 |
+
it. That host is the member with eight-bit words of a family whose step has
|
| 568 |
+
depth 13 for every word width, with a carry-lookahead subtractor and the
|
| 569 |
+
operands fetched through the decode lines of the counter; `src/host_family.py`
|
| 570 |
+
builds any member and `src/check_host_family.py` checks each against SUBLEQ
|
| 571 |
+
on the evaluator in C. Separating construction from copying
|
| 572 |
as von Neumann did, a 27-instruction program emits the serialization of the
|
| 573 |
host, its initial memory and its own description tape; each generation is
|
| 574 |
instantiated from the bytes the last one emitted, by parsing that output,
|
|
|
|
| 579 |
its own description it reproduces generation after generation by the
|
| 580 |
interpreter's dynamics, that a larger interpreter runs a netlist realizing a
|
| 581 |
smaller one, and that the constructor itself runs as a netlist stored in the
|
| 582 |
+
interpreter's state. Its robustness section gives the margin every orbit has
|
| 583 |
+
against perturbation, a certificate of the leakage an orbit tolerates from the
|
| 584 |
+
inputs active along it, and the amplified host of `src/redundant.py`: every row
|
| 585 |
+
of the levelized host replaced by r rows reading all r copies of its inputs,
|
| 586 |
+
which multiplies every margin by r, reproduces itself exactly, and completes the
|
| 587 |
+
self-reproducing run under read noise at levels where the host fails within its
|
| 588 |
+
first bytes.
|
| 589 |
|
| 590 |
`python src/verify.py` audits every statement of the paper, and `--tier 2` adds
|
| 591 |
every construction end to end; the checks of a tier run concurrently. `--tier 3` runs
|
| 592 |
+
the self-reproducing instance on the threshold evaluators, the perturbation
|
| 593 |
+
experiments and the amplified host, whose cost belongs to the object: one
|
| 594 |
+
generation is 1,664,939 steps of a map of 41,967 units, and the amplified host
|
| 595 |
+
reproduces itself in 33,796,449 steps of 125,901 units. The scripts that produce
|
| 596 |
+
every figure are `src/selfrep.py`, `src/netlist_io.py`, `src/host_family.py`,
|
| 597 |
`src/paper_stats.py`, `src/paper_verify.py`, `src/paper_runs.py`,
|
| 598 |
`src/organism.py`, `src/check_c.py`, `src/hierarchy.py`, `src/hosted_constructor.py`,
|
| 599 |
+
`src/throughput.py`, `src/noise.py`, `src/redundant.py`, `src/fanin2.py`,
|
| 600 |
+
`src/neuromorphic.py` and the `src/check_*.py` set, and their records are in
|
| 601 |
+
`paper/runs/`.
|
| 602 |
|
| 603 |
---
|
| 604 |
|
|
|
|
| 995 |
├── paper_runs.py self-description, three generations, lockstep
|
| 996 |
├── organism.py the organism: decodes a description into the idle bank,
|
| 997 |
│ copies it and hands over, generation after generation
|
| 998 |
+
├── host_family.py the host family H_A: a constant-depth SUBLEQ step for
|
| 999 |
+
│ every word width, and its serialization in build order
|
| 1000 |
+
├── netlist_eval.c an evaluator of the host family, the amplified host and the
|
| 1001 |
+
│ interpreter in C, the levels of a large netlist in parallel
|
| 1002 |
├── check_c.py the host and the organism on the evaluator in C
|
| 1003 |
+
├── redundant.py the amplified host N_r: r-fold redundancy with the restoring
|
| 1004 |
+
│ organ inside every unit, its self-reproduction, its runs
|
| 1005 |
+
│ under read noise
|
| 1006 |
├── fanin2.py rewrites a netlist to effective fan-in two
|
| 1007 |
├── hierarchy.py a larger interpreter interpreting a netlist realizing a
|
| 1008 |
│ smaller one
|
| 1009 |
├── hosted_constructor.py the universal constructor as a netlist stored in the
|
| 1010 |
│ interpreter, with tape, output word and device in signals
|
| 1011 |
├── noise.py read noise on the self-reproducing run, the deviation curve
|
| 1012 |
+
│ against the bounds, weight error with zero-entry leakage, the
|
| 1013 |
+
│ active-input counts that certify an orbit
|
| 1014 |
├── neuromorphic.py the datapath on the Loihi and Akida neuron models
|
| 1015 |
└── check_*.py codec boundaries and optimality, step counts, tapes that are
|
| 1016 |
not recipes, ternary depth, environment cost, device, host,
|
| 1017 |
+
host family, levelization, framing, settling, dependence,
|
| 1018 |
+
serialization, all 29 machines
|
| 1019 |
paper/ the manuscript, and the record of every run it reports
|
| 1020 |
tools/ build_all.py (build + quantize + verify every profile),
|
| 1021 |
cpu_programs.py (assembler + CPU program suite), test_cpu.py
|
paper/README.md
CHANGED
|
@@ -28,16 +28,21 @@ and cover every claim the paper makes.
|
|
| 28 |
|
| 29 |
Tier three runs the self-reproducing instance itself on the threshold
|
| 30 |
evaluators, runs the constructor on all twenty-nine machines of the artifact,
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
|
| 36 |
## What each script establishes
|
| 37 |
|
| 38 |
| Script | Record | Establishes |
|
| 39 |
|---|---|---|
|
| 40 |
-
| `src/host_netlist.py` | — | the step netlist of the host,
|
|
|
|
| 41 |
| `src/netlist_io.py` | — | the serialization sigma and its inverse |
|
| 42 |
| `src/noise.py margin` | `paper_noise_margin.json` | the margin along the trajectory |
|
| 43 |
| `src/noise.py profile` | `paper_noise_profile.json` | the pre-activation profile and its bound on the failure rate |
|
|
@@ -56,6 +61,7 @@ rate of each evaluator, so the cost of any one run is a multiplication.
|
|
| 56 |
| `src/check_environment.py` | `paper_environment.json` | the cost of the environment against the cost of the network |
|
| 57 |
| `src/check_sigma.py` | — | sigma is a function, injective, and inverted by the parser |
|
| 58 |
| `src/check_settle.py` | `paper_settle.json` | order-independent settling, the full adder under all 9! record orders |
|
|
|
|
| 59 |
| `src/check_dependence.py` | — | the dependence hypothesis of the size proposition |
|
| 60 |
| `src/check_family.py` | `paper_runs_family.json` | the constructor emits all 29 machines |
|
| 61 |
| `src/check_family_gate.py` | `paper_runs_family_gate.json` | four of them on the netlist of sigma |
|
|
@@ -65,7 +71,8 @@ rate of each evaluator, so the cost of any one run is a multiplication.
|
|
| 65 |
| `src/hierarchy.py` | `paper_hierarchy.json` | a larger interpreter runs a smaller one transition by transition |
|
| 66 |
| `src/hosted_constructor.py` | `paper_hosted.json` | the constructor as a netlist stored in the interpreter |
|
| 67 |
| `src/throughput.py` | `paper_throughput.json` | the rate of each evaluator |
|
| 68 |
-
| `src/noise.py` | `paper_noise_*.json` | read noise, the deviation curve, weight error with leakage |
|
|
|
|
| 69 |
| `src/neuromorphic.py` | `paper_neuromorphic.json` | the datapath on the Loihi and Akida neuron models |
|
| 70 |
|
| 71 |
`src/neuromorphic.py run` needs Lava, which requires Python 3.10; everything
|
|
|
|
| 28 |
|
| 29 |
Tier three runs the self-reproducing instance itself on the threshold
|
| 30 |
evaluators, runs the constructor on all twenty-nine machines of the artifact,
|
| 31 |
+
carries out the perturbation experiments and the orbit certificate, and runs
|
| 32 |
+
the amplified host: its exact self-reproduction on the evaluator in C, the
|
| 33 |
+
self-reproducing instance of the host on it under read noise, its deviation
|
| 34 |
+
curve, and the correction of single wrong copies. Its cost belongs to the object and not to the implementation: one
|
| 35 |
+
generation is 1,664,939 steps of a map of 41,967 units, that is 6.99e10 unit
|
| 36 |
+
evaluations, and the amplified host reproduces itself in 33,796,449 steps of
|
| 37 |
+
125,901 units. `runs/paper_throughput.json` holds the rate of each evaluator, so
|
| 38 |
+
the cost of any one run is a multiplication.
|
| 39 |
|
| 40 |
## What each script establishes
|
| 41 |
|
| 42 |
| Script | Record | Establishes |
|
| 43 |
|---|---|---|
|
| 44 |
+
| `src/host_netlist.py`, `src/host_family.py` | — | the step netlist of the host, a member of the constant-depth family H_A |
|
| 45 |
+
| `src/check_host_family.py` | `paper_host_family.json` | one step of H_A against SUBLEQ_A for A = 3 to 12, on the evaluator in C |
|
| 46 |
| `src/netlist_io.py` | — | the serialization sigma and its inverse |
|
| 47 |
| `src/noise.py margin` | `paper_noise_margin.json` | the margin along the trajectory |
|
| 48 |
| `src/noise.py profile` | `paper_noise_profile.json` | the pre-activation profile and its bound on the failure rate |
|
|
|
|
| 61 |
| `src/check_environment.py` | `paper_environment.json` | the cost of the environment against the cost of the network |
|
| 62 |
| `src/check_sigma.py` | — | sigma is a function, injective, and inverted by the parser |
|
| 63 |
| `src/check_settle.py` | `paper_settle.json` | order-independent settling, the full adder under all 9! record orders |
|
| 64 |
+
| `src/fanin2.py` | `paper_fanin2.json` | the fan-in-two rewriting, on the host, the interpreter and every small ternary unit |
|
| 65 |
| `src/check_dependence.py` | — | the dependence hypothesis of the size proposition |
|
| 66 |
| `src/check_family.py` | `paper_runs_family.json` | the constructor emits all 29 machines |
|
| 67 |
| `src/check_family_gate.py` | `paper_runs_family_gate.json` | four of them on the netlist of sigma |
|
|
|
|
| 71 |
| `src/hierarchy.py` | `paper_hierarchy.json` | a larger interpreter runs a smaller one transition by transition |
|
| 72 |
| `src/hosted_constructor.py` | `paper_hosted.json` | the constructor as a netlist stored in the interpreter |
|
| 73 |
| `src/throughput.py` | `paper_throughput.json` | the rate of each evaluator |
|
| 74 |
+
| `src/noise.py` | `paper_noise_*.json` | read noise, the deviation curve, weight error with leakage, the active-input counts of the orbit certificate |
|
| 75 |
+
| `src/redundant.py` | `paper_redundant_*.json` | the amplified host N_3: one step against SUBLEQ on replicated states, the margin 3/2, exact self-reproduction in C, the run under noise, the deviation curve and its bound by layer, wrong copies and the state read by majority |
|
| 76 |
| `src/neuromorphic.py` | `paper_neuromorphic.json` | the datapath on the Loihi and Akida neuron models |
|
| 77 |
|
| 78 |
`src/neuromorphic.py run` needs Lava, which requires Python 3.10; everything
|
paper/runs/paper_c_evaluator.json
CHANGED
|
@@ -3,7 +3,22 @@
|
|
| 3 |
"depth": 13,
|
| 4 |
"rows": 41967,
|
| 5 |
"identity_rows": 24369,
|
| 6 |
-
"max_width": 8210
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
},
|
| 8 |
"netlist_random": "random states: 1048576 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 9 |
"lev_random": "random states: 1048576 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
|
@@ -48,5 +63,5 @@
|
|
| 48 |
},
|
| 49 |
"self_describing_equals_sigma": true,
|
| 50 |
"ok": true,
|
| 51 |
-
"seconds":
|
| 52 |
}
|
|
|
|
| 3 |
"depth": 13,
|
| 4 |
"rows": 41967,
|
| 5 |
"identity_rows": 24369,
|
| 6 |
+
"max_width": 8210,
|
| 7 |
+
"layer_sizes": [
|
| 8 |
+
2313,
|
| 9 |
+
8210,
|
| 10 |
+
2090,
|
| 11 |
+
2587,
|
| 12 |
+
6427,
|
| 13 |
+
2347,
|
| 14 |
+
2379,
|
| 15 |
+
2389,
|
| 16 |
+
2609,
|
| 17 |
+
2353,
|
| 18 |
+
2339,
|
| 19 |
+
3867,
|
| 20 |
+
2057
|
| 21 |
+
]
|
| 22 |
},
|
| 23 |
"netlist_random": "random states: 1048576 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 24 |
"lev_random": "random states: 1048576 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
|
|
|
| 63 |
},
|
| 64 |
"self_describing_equals_sigma": true,
|
| 65 |
"ok": true,
|
| 66 |
+
"seconds": 1077.7651741330046
|
| 67 |
}
|
paper/runs/paper_environment.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
| 1 |
{
|
| 2 |
"sigma_entries": 88385,
|
| 3 |
"sigma_bytes": 160240,
|
| 4 |
-
"sigma_seconds": 0.
|
| 5 |
-
"build_seconds": 0.
|
| 6 |
"inst_bytes": 305508,
|
| 7 |
-
"inst_seconds": 1.
|
| 8 |
-
"sigma_inverse_seconds": 0.
|
| 9 |
"lev_units_in": 17598,
|
| 10 |
"lev_units_out": 41967,
|
| 11 |
"lev_nonzero": 75501,
|
| 12 |
"lev_layers": 13,
|
| 13 |
-
"lev_seconds":
|
| 14 |
"lev_entries": 124165940,
|
| 15 |
"steps": 1664939,
|
| 16 |
"emitted_bytes": 305508,
|
| 17 |
-
"reference_seconds": 0.
|
| 18 |
"environment_ops": 2248155,
|
| 19 |
"network_ops": 69872495013,
|
| 20 |
"ratio": 3.217510695133648e-05
|
|
|
|
| 1 |
{
|
| 2 |
"sigma_entries": 88385,
|
| 3 |
"sigma_bytes": 160240,
|
| 4 |
+
"sigma_seconds": 0.1279831129941158,
|
| 5 |
+
"build_seconds": 0.09118957800092176,
|
| 6 |
"inst_bytes": 305508,
|
| 7 |
+
"inst_seconds": 1.931125996634364e-05,
|
| 8 |
+
"sigma_inverse_seconds": 0.08041474440251477,
|
| 9 |
"lev_units_in": 17598,
|
| 10 |
"lev_units_out": 41967,
|
| 11 |
"lev_nonzero": 75501,
|
| 12 |
"lev_layers": 13,
|
| 13 |
+
"lev_seconds": 2.1859134749975055,
|
| 14 |
"lev_entries": 124165940,
|
| 15 |
"steps": 1664939,
|
| 16 |
"emitted_bytes": 305508,
|
| 17 |
+
"reference_seconds": 0.39680202698218636,
|
| 18 |
"environment_ops": 2248155,
|
| 19 |
"network_ops": 69872495013,
|
| 20 |
"ratio": 3.217510695133648e-05
|
paper/runs/paper_fanin2.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"small_units": 664,
|
| 3 |
+
"small_unit_failures": 0,
|
| 4 |
+
"netlists": {
|
| 5 |
+
"N_host": {
|
| 6 |
+
"units": 17598,
|
| 7 |
+
"units_fanin2": 33568,
|
| 8 |
+
"shapes_above_two": {
|
| 9 |
+
"and": 821,
|
| 10 |
+
"or": 70,
|
| 11 |
+
"threshold": 15
|
| 12 |
+
},
|
| 13 |
+
"agrees_on_random_inputs": true
|
| 14 |
+
},
|
| 15 |
+
"N_U": {
|
| 16 |
+
"units": 13034,
|
| 17 |
+
"units_fanin2": 40081,
|
| 18 |
+
"shapes_above_two": {
|
| 19 |
+
"and": 3091,
|
| 20 |
+
"or": 43
|
| 21 |
+
},
|
| 22 |
+
"agrees_on_random_inputs": true
|
| 23 |
+
}
|
| 24 |
+
},
|
| 25 |
+
"seconds": 2.961936319974484,
|
| 26 |
+
"ok": true
|
| 27 |
+
}
|
paper/runs/paper_host_family.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
| 8 |
"states": 65536,
|
| 9 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 10 |
"ok": true,
|
| 11 |
-
"seconds": 0.
|
| 12 |
},
|
| 13 |
{
|
| 14 |
"A": 4,
|
|
@@ -18,7 +18,7 @@
|
|
| 18 |
"states": 65536,
|
| 19 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 20 |
"ok": true,
|
| 21 |
-
"seconds": 0.
|
| 22 |
},
|
| 23 |
{
|
| 24 |
"A": 5,
|
|
@@ -28,7 +28,7 @@
|
|
| 28 |
"states": 65536,
|
| 29 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 30 |
"ok": true,
|
| 31 |
-
"seconds": 0.
|
| 32 |
},
|
| 33 |
{
|
| 34 |
"A": 6,
|
|
@@ -38,7 +38,7 @@
|
|
| 38 |
"states": 65536,
|
| 39 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 40 |
"ok": true,
|
| 41 |
-
"seconds": 0.
|
| 42 |
},
|
| 43 |
{
|
| 44 |
"A": 7,
|
|
@@ -48,7 +48,7 @@
|
|
| 48 |
"states": 65536,
|
| 49 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 50 |
"ok": true,
|
| 51 |
-
"seconds": 0.
|
| 52 |
},
|
| 53 |
{
|
| 54 |
"A": 8,
|
|
@@ -58,7 +58,7 @@
|
|
| 58 |
"states": 65536,
|
| 59 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 60 |
"ok": true,
|
| 61 |
-
"seconds": 0.
|
| 62 |
},
|
| 63 |
{
|
| 64 |
"A": 9,
|
|
@@ -68,7 +68,7 @@
|
|
| 68 |
"states": 65536,
|
| 69 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 70 |
"ok": true,
|
| 71 |
-
"seconds": 0.
|
| 72 |
},
|
| 73 |
{
|
| 74 |
"A": 10,
|
|
@@ -78,7 +78,7 @@
|
|
| 78 |
"states": 65536,
|
| 79 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 80 |
"ok": true,
|
| 81 |
-
"seconds": 1.
|
| 82 |
},
|
| 83 |
{
|
| 84 |
"A": 11,
|
|
@@ -88,7 +88,7 @@
|
|
| 88 |
"states": 32768,
|
| 89 |
"result": "random states: 32768 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 90 |
"ok": true,
|
| 91 |
-
"seconds":
|
| 92 |
},
|
| 93 |
{
|
| 94 |
"A": 12,
|
|
@@ -98,7 +98,7 @@
|
|
| 98 |
"states": 16384,
|
| 99 |
"result": "random states: 16384 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 100 |
"ok": true,
|
| 101 |
-
"seconds": 2.
|
| 102 |
}
|
| 103 |
],
|
| 104 |
"ok": true
|
|
|
|
| 8 |
"states": 65536,
|
| 9 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 10 |
"ok": true,
|
| 11 |
+
"seconds": 0.01500199901056476
|
| 12 |
},
|
| 13 |
{
|
| 14 |
"A": 4,
|
|
|
|
| 18 |
"states": 65536,
|
| 19 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 20 |
"ok": true,
|
| 21 |
+
"seconds": 0.03776371100684628
|
| 22 |
},
|
| 23 |
{
|
| 24 |
"A": 5,
|
|
|
|
| 28 |
"states": 65536,
|
| 29 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 30 |
"ok": true,
|
| 31 |
+
"seconds": 0.06280311100999825
|
| 32 |
},
|
| 33 |
{
|
| 34 |
"A": 6,
|
|
|
|
| 38 |
"states": 65536,
|
| 39 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 40 |
"ok": true,
|
| 41 |
+
"seconds": 0.12102672000764869
|
| 42 |
},
|
| 43 |
{
|
| 44 |
"A": 7,
|
|
|
|
| 48 |
"states": 65536,
|
| 49 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 50 |
"ok": true,
|
| 51 |
+
"seconds": 0.3255250339861959
|
| 52 |
},
|
| 53 |
{
|
| 54 |
"A": 8,
|
|
|
|
| 58 |
"states": 65536,
|
| 59 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 60 |
"ok": true,
|
| 61 |
+
"seconds": 0.30383163699298166
|
| 62 |
},
|
| 63 |
{
|
| 64 |
"A": 9,
|
|
|
|
| 68 |
"states": 65536,
|
| 69 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 70 |
"ok": true,
|
| 71 |
+
"seconds": 0.9685272219940089
|
| 72 |
},
|
| 73 |
{
|
| 74 |
"A": 10,
|
|
|
|
| 78 |
"states": 65536,
|
| 79 |
"result": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 80 |
"ok": true,
|
| 81 |
+
"seconds": 1.8736297989962623
|
| 82 |
},
|
| 83 |
{
|
| 84 |
"A": 11,
|
|
|
|
| 88 |
"states": 32768,
|
| 89 |
"result": "random states: 32768 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 90 |
"ok": true,
|
| 91 |
+
"seconds": 1.9215046949975658
|
| 92 |
},
|
| 93 |
{
|
| 94 |
"A": 12,
|
|
|
|
| 98 |
"states": 16384,
|
| 99 |
"result": "random states: 16384 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 100 |
"ok": true,
|
| 101 |
+
"seconds": 2.6124302610114682
|
| 102 |
}
|
| 103 |
],
|
| 104 |
"ok": true
|
paper/runs/paper_interp.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
| 13 |
"halted_not_fixed": 0,
|
| 14 |
"counter_wrong": 0,
|
| 15 |
"ok": true,
|
| 16 |
-
"seconds":
|
| 17 |
},
|
| 18 |
{
|
| 19 |
"A": 13,
|
|
@@ -28,7 +28,7 @@
|
|
| 28 |
"halted_not_fixed": 0,
|
| 29 |
"counter_wrong": 0,
|
| 30 |
"ok": true,
|
| 31 |
-
"seconds":
|
| 32 |
}
|
| 33 |
],
|
| 34 |
"ok": true
|
|
|
|
| 13 |
"halted_not_fixed": 0,
|
| 14 |
"counter_wrong": 0,
|
| 15 |
"ok": true,
|
| 16 |
+
"seconds": 2.7823171920026653
|
| 17 |
},
|
| 18 |
{
|
| 19 |
"A": 13,
|
|
|
|
| 28 |
"halted_not_fixed": 0,
|
| 29 |
"counter_wrong": 0,
|
| 30 |
"ok": true,
|
| 31 |
+
"seconds": 9.55269223099458
|
| 32 |
}
|
| 33 |
],
|
| 34 |
"ok": true
|
paper/runs/paper_neuromorphic.json
CHANGED
|
@@ -1,36 +1,17 @@
|
|
| 1 |
{
|
| 2 |
"backend": "Lava 0.10.0, fixed_pt tag (Loihi neuron model)",
|
| 3 |
-
"units":
|
| 4 |
-
"layers":
|
| 5 |
"widths": [
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
34,
|
| 13 |
-
32,
|
| 14 |
-
32,
|
| 15 |
-
29,
|
| 16 |
-
30,
|
| 17 |
-
28,
|
| 18 |
-
29,
|
| 19 |
-
27,
|
| 20 |
-
28,
|
| 21 |
-
26,
|
| 22 |
-
26,
|
| 23 |
-
25,
|
| 24 |
-
25,
|
| 25 |
-
25,
|
| 26 |
-
25,
|
| 27 |
-
33,
|
| 28 |
-
25,
|
| 29 |
-
17,
|
| 30 |
-
17
|
| 31 |
],
|
| 32 |
-
"worst_accumulation":
|
| 33 |
-
"patterns":
|
| 34 |
"failures": 0,
|
| 35 |
"margin_membrane_units": 64,
|
| 36 |
"weight_scale": 2,
|
|
@@ -39,8 +20,8 @@
|
|
| 39 |
"ok": true,
|
| 40 |
"akida": {
|
| 41 |
"backend": "akida 2.19.3, software backend",
|
| 42 |
-
"layers":
|
| 43 |
-
"patterns":
|
| 44 |
"failures": 0,
|
| 45 |
"weights_bits": 2,
|
| 46 |
"act_bits": 1,
|
|
|
|
| 1 |
{
|
| 2 |
"backend": "Lava 0.10.0, fixed_pt tag (Loihi neuron model)",
|
| 3 |
+
"units": 106,
|
| 4 |
+
"layers": 6,
|
| 5 |
"widths": [
|
| 6 |
+
48,
|
| 7 |
+
58,
|
| 8 |
+
23,
|
| 9 |
+
23,
|
| 10 |
+
9,
|
| 11 |
+
9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
],
|
| 13 |
+
"worst_accumulation": 16,
|
| 14 |
+
"patterns": 4096,
|
| 15 |
"failures": 0,
|
| 16 |
"margin_membrane_units": 64,
|
| 17 |
"weight_scale": 2,
|
|
|
|
| 20 |
"ok": true,
|
| 21 |
"akida": {
|
| 22 |
"backend": "akida 2.19.3, software backend",
|
| 23 |
+
"layers": 6,
|
| 24 |
+
"patterns": 65536,
|
| 25 |
"failures": 0,
|
| 26 |
"weights_bits": 2,
|
| 27 |
"act_bits": 1,
|
paper/runs/paper_noise_certify.json
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"M": 41967,
|
| 3 |
+
"widest_layer": 8210,
|
| 4 |
+
"selfdesc_10000": {
|
| 5 |
+
"steps": 10000,
|
| 6 |
+
"A_star": 349,
|
| 7 |
+
"K_star": 8,
|
| 8 |
+
"per_layer_active_zero_max": [
|
| 9 |
+
312,
|
| 10 |
+
310,
|
| 11 |
+
326,
|
| 12 |
+
326,
|
| 13 |
+
317,
|
| 14 |
+
324,
|
| 15 |
+
324,
|
| 16 |
+
333,
|
| 17 |
+
349,
|
| 18 |
+
324,
|
| 19 |
+
330,
|
| 20 |
+
317,
|
| 21 |
+
312
|
| 22 |
+
],
|
| 23 |
+
"per_layer_active_programmed_max": [
|
| 24 |
+
4,
|
| 25 |
+
2,
|
| 26 |
+
1,
|
| 27 |
+
7,
|
| 28 |
+
2,
|
| 29 |
+
2,
|
| 30 |
+
2,
|
| 31 |
+
8,
|
| 32 |
+
8,
|
| 33 |
+
3,
|
| 34 |
+
3,
|
| 35 |
+
2,
|
| 36 |
+
1
|
| 37 |
+
],
|
| 38 |
+
"per_layer_popcount_max": [
|
| 39 |
+
312,
|
| 40 |
+
310,
|
| 41 |
+
326,
|
| 42 |
+
326,
|
| 43 |
+
317,
|
| 44 |
+
324,
|
| 45 |
+
324,
|
| 46 |
+
333,
|
| 47 |
+
349,
|
| 48 |
+
324,
|
| 49 |
+
330,
|
| 50 |
+
317,
|
| 51 |
+
312
|
| 52 |
+
],
|
| 53 |
+
"gamma_certified": 0.0014326647564469914,
|
| 54 |
+
"epsilon_certified": 0.0625,
|
| 55 |
+
"seconds": 76.52389068101184
|
| 56 |
+
},
|
| 57 |
+
"leak_rows": [
|
| 58 |
+
{
|
| 59 |
+
"epsilon": 0.0,
|
| 60 |
+
"gamma": 0.0,
|
| 61 |
+
"worst_bound": 0.0,
|
| 62 |
+
"orbit_bound": 0.0,
|
| 63 |
+
"certified_by_orbit": true,
|
| 64 |
+
"first_deviation": null
|
| 65 |
+
},
|
| 66 |
+
{
|
| 67 |
+
"epsilon": 0.0,
|
| 68 |
+
"gamma": 3.0454379339749056e-05,
|
| 69 |
+
"worst_bound": 0.25,
|
| 70 |
+
"orbit_bound": 0.01062857838957242,
|
| 71 |
+
"certified_by_orbit": true,
|
| 72 |
+
"first_deviation": null
|
| 73 |
+
},
|
| 74 |
+
{
|
| 75 |
+
"epsilon": 0.0,
|
| 76 |
+
"gamma": 5.4817882811548304e-05,
|
| 77 |
+
"worst_bound": 0.45000001788139343,
|
| 78 |
+
"orbit_bound": 0.019131441101230356,
|
| 79 |
+
"certified_by_orbit": true,
|
| 80 |
+
"first_deviation": null
|
| 81 |
+
},
|
| 82 |
+
{
|
| 83 |
+
"epsilon": 0.0,
|
| 84 |
+
"gamma": 9.136313801924717e-05,
|
| 85 |
+
"worst_bound": 0.75,
|
| 86 |
+
"orbit_bound": 0.03188573516871726,
|
| 87 |
+
"certified_by_orbit": true,
|
| 88 |
+
"first_deviation": null
|
| 89 |
+
},
|
| 90 |
+
{
|
| 91 |
+
"epsilon": 0.0,
|
| 92 |
+
"gamma": 0.00024363503471799245,
|
| 93 |
+
"worst_bound": 2.0,
|
| 94 |
+
"orbit_bound": 0.08502862711657937,
|
| 95 |
+
"certified_by_orbit": true,
|
| 96 |
+
"first_deviation": null
|
| 97 |
+
},
|
| 98 |
+
{
|
| 99 |
+
"epsilon": 0.0,
|
| 100 |
+
"gamma": 0.0009745401388719698,
|
| 101 |
+
"worst_bound": 8.0,
|
| 102 |
+
"orbit_bound": 0.34011450846631747,
|
| 103 |
+
"certified_by_orbit": true,
|
| 104 |
+
"first_deviation": null
|
| 105 |
+
},
|
| 106 |
+
{
|
| 107 |
+
"epsilon": 0.0,
|
| 108 |
+
"gamma": 0.003898160555487879,
|
| 109 |
+
"worst_bound": 32.0,
|
| 110 |
+
"orbit_bound": 1.3604580338652699,
|
| 111 |
+
"certified_by_orbit": false,
|
| 112 |
+
"first_deviation": null
|
| 113 |
+
},
|
| 114 |
+
{
|
| 115 |
+
"epsilon": 0.0,
|
| 116 |
+
"gamma": 0.015592642221951517,
|
| 117 |
+
"worst_bound": 128.0,
|
| 118 |
+
"orbit_bound": 5.4418321354610795,
|
| 119 |
+
"certified_by_orbit": false,
|
| 120 |
+
"first_deviation": 1
|
| 121 |
+
},
|
| 122 |
+
{
|
| 123 |
+
"epsilon": 0.0009765625,
|
| 124 |
+
"gamma": 1.5227189669874528e-05,
|
| 125 |
+
"worst_bound": 0.3711170554161072,
|
| 126 |
+
"orbit_bound": 0.013126789194786211,
|
| 127 |
+
"certified_by_orbit": true,
|
| 128 |
+
"first_deviation": null
|
| 129 |
+
},
|
| 130 |
+
{
|
| 131 |
+
"epsilon": 0.001953125,
|
| 132 |
+
"gamma": 0.0,
|
| 133 |
+
"worst_bound": 0.5,
|
| 134 |
+
"orbit_bound": 0.015625,
|
| 135 |
+
"certified_by_orbit": true,
|
| 136 |
+
"first_deviation": null
|
| 137 |
+
},
|
| 138 |
+
{
|
| 139 |
+
"epsilon": 0.00390625,
|
| 140 |
+
"gamma": 0.0,
|
| 141 |
+
"worst_bound": 1.0,
|
| 142 |
+
"orbit_bound": 0.03125,
|
| 143 |
+
"certified_by_orbit": true,
|
| 144 |
+
"first_deviation": null
|
| 145 |
+
},
|
| 146 |
+
{
|
| 147 |
+
"epsilon": 0.015625,
|
| 148 |
+
"gamma": 0.0,
|
| 149 |
+
"worst_bound": 4.0,
|
| 150 |
+
"orbit_bound": 0.125,
|
| 151 |
+
"certified_by_orbit": true,
|
| 152 |
+
"first_deviation": null
|
| 153 |
+
},
|
| 154 |
+
{
|
| 155 |
+
"epsilon": 0.0625,
|
| 156 |
+
"gamma": 0.0,
|
| 157 |
+
"worst_bound": 16.0,
|
| 158 |
+
"orbit_bound": 0.5,
|
| 159 |
+
"certified_by_orbit": false,
|
| 160 |
+
"first_deviation": null
|
| 161 |
+
},
|
| 162 |
+
{
|
| 163 |
+
"epsilon": 0.25,
|
| 164 |
+
"gamma": 0.0,
|
| 165 |
+
"worst_bound": 64.0,
|
| 166 |
+
"orbit_bound": 2.0,
|
| 167 |
+
"certified_by_orbit": false,
|
| 168 |
+
"first_deviation": 3
|
| 169 |
+
}
|
| 170 |
+
],
|
| 171 |
+
"omega_star": {
|
| 172 |
+
"steps": 1664939,
|
| 173 |
+
"A_star": 441,
|
| 174 |
+
"K_star": 8,
|
| 175 |
+
"per_layer_active_zero_max": [
|
| 176 |
+
405,
|
| 177 |
+
404,
|
| 178 |
+
420,
|
| 179 |
+
420,
|
| 180 |
+
411,
|
| 181 |
+
418,
|
| 182 |
+
418,
|
| 183 |
+
426,
|
| 184 |
+
441,
|
| 185 |
+
418,
|
| 186 |
+
424,
|
| 187 |
+
411,
|
| 188 |
+
406
|
| 189 |
+
],
|
| 190 |
+
"per_layer_active_programmed_max": [
|
| 191 |
+
6,
|
| 192 |
+
2,
|
| 193 |
+
1,
|
| 194 |
+
8,
|
| 195 |
+
2,
|
| 196 |
+
2,
|
| 197 |
+
2,
|
| 198 |
+
8,
|
| 199 |
+
8,
|
| 200 |
+
3,
|
| 201 |
+
3,
|
| 202 |
+
2,
|
| 203 |
+
1
|
| 204 |
+
],
|
| 205 |
+
"per_layer_popcount_max": [
|
| 206 |
+
405,
|
| 207 |
+
404,
|
| 208 |
+
420,
|
| 209 |
+
420,
|
| 210 |
+
411,
|
| 211 |
+
418,
|
| 212 |
+
418,
|
| 213 |
+
426,
|
| 214 |
+
441,
|
| 215 |
+
418,
|
| 216 |
+
424,
|
| 217 |
+
411,
|
| 218 |
+
406
|
| 219 |
+
],
|
| 220 |
+
"gamma_certified": 0.0011337868480725624,
|
| 221 |
+
"epsilon_certified": 0.0625,
|
| 222 |
+
"seconds": 5459.065824607009
|
| 223 |
+
}
|
| 224 |
+
}
|
paper/runs/paper_noise_curve.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
{
|
| 2 |
-
"M":
|
| 3 |
"grid": [
|
| 4 |
0.02,
|
| 5 |
0.04,
|
|
@@ -21,7 +21,7 @@
|
|
| 21 |
"median_first_deviation": null,
|
| 22 |
"step_exposure": 768000,
|
| 23 |
"empirical_rate_per_step": 0.0,
|
| 24 |
-
"bound_rate_per_step":
|
| 25 |
"looseness": null,
|
| 26 |
"first_deviation": [
|
| 27 |
null,
|
|
@@ -281,7 +281,7 @@
|
|
| 281 |
null,
|
| 282 |
null
|
| 283 |
],
|
| 284 |
-
"seconds":
|
| 285 |
},
|
| 286 |
{
|
| 287 |
"sigma": 0.04,
|
|
@@ -291,7 +291,7 @@
|
|
| 291 |
"median_first_deviation": null,
|
| 292 |
"step_exposure": 768000,
|
| 293 |
"empirical_rate_per_step": 0.0,
|
| 294 |
-
"bound_rate_per_step":
|
| 295 |
"looseness": null,
|
| 296 |
"first_deviation": [
|
| 297 |
null,
|
|
@@ -551,7 +551,7 @@
|
|
| 551 |
null,
|
| 552 |
null
|
| 553 |
],
|
| 554 |
-
"seconds":
|
| 555 |
},
|
| 556 |
{
|
| 557 |
"sigma": 0.06,
|
|
@@ -561,7 +561,7 @@
|
|
| 561 |
"median_first_deviation": null,
|
| 562 |
"step_exposure": 768000,
|
| 563 |
"empirical_rate_per_step": 0.0,
|
| 564 |
-
"bound_rate_per_step":
|
| 565 |
"looseness": null,
|
| 566 |
"first_deviation": [
|
| 567 |
null,
|
|
@@ -821,18 +821,18 @@
|
|
| 821 |
null,
|
| 822 |
null
|
| 823 |
],
|
| 824 |
-
"seconds":
|
| 825 |
},
|
| 826 |
{
|
| 827 |
"sigma": 0.08,
|
| 828 |
"copies": 256,
|
| 829 |
"steps": 4000,
|
| 830 |
-
"deviated":
|
| 831 |
-
"median_first_deviation":
|
| 832 |
-
"step_exposure":
|
| 833 |
-
"empirical_rate_per_step":
|
| 834 |
-
"bound_rate_per_step":
|
| 835 |
-
"looseness":
|
| 836 |
"first_deviation": [
|
| 837 |
null,
|
| 838 |
null,
|
|
@@ -842,6 +842,7 @@
|
|
| 842 |
null,
|
| 843 |
null,
|
| 844 |
null,
|
|
|
|
| 845 |
null,
|
| 846 |
null,
|
| 847 |
null,
|
|
@@ -856,7 +857,6 @@
|
|
| 856 |
null,
|
| 857 |
null,
|
| 858 |
null,
|
| 859 |
-
2370,
|
| 860 |
null,
|
| 861 |
null,
|
| 862 |
null,
|
|
@@ -875,7 +875,6 @@
|
|
| 875 |
null,
|
| 876 |
null,
|
| 877 |
null,
|
| 878 |
-
742,
|
| 879 |
null,
|
| 880 |
null,
|
| 881 |
null,
|
|
@@ -904,11 +903,11 @@
|
|
| 904 |
null,
|
| 905 |
null,
|
| 906 |
null,
|
|
|
|
| 907 |
null,
|
| 908 |
null,
|
| 909 |
null,
|
| 910 |
null,
|
| 911 |
-
3121,
|
| 912 |
null,
|
| 913 |
null,
|
| 914 |
null,
|
|
@@ -921,7 +920,6 @@
|
|
| 921 |
null,
|
| 922 |
null,
|
| 923 |
null,
|
| 924 |
-
474,
|
| 925 |
null,
|
| 926 |
null,
|
| 927 |
null,
|
|
@@ -935,7 +933,14 @@
|
|
| 935 |
null,
|
| 936 |
null,
|
| 937 |
null,
|
| 938 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 939 |
null,
|
| 940 |
null,
|
| 941 |
null,
|
|
@@ -954,9 +959,7 @@
|
|
| 954 |
null,
|
| 955 |
null,
|
| 956 |
null,
|
| 957 |
-
61,
|
| 958 |
null,
|
| 959 |
-
3951,
|
| 960 |
null,
|
| 961 |
null,
|
| 962 |
null,
|
|
@@ -974,7 +977,6 @@
|
|
| 974 |
null,
|
| 975 |
null,
|
| 976 |
null,
|
| 977 |
-
2883,
|
| 978 |
null,
|
| 979 |
null,
|
| 980 |
null,
|
|
@@ -993,11 +995,12 @@
|
|
| 993 |
null,
|
| 994 |
null,
|
| 995 |
null,
|
| 996 |
-
2739,
|
| 997 |
null,
|
| 998 |
null,
|
| 999 |
null,
|
|
|
|
| 1000 |
null,
|
|
|
|
| 1001 |
null,
|
| 1002 |
null,
|
| 1003 |
null,
|
|
@@ -1006,9 +1009,11 @@
|
|
| 1006 |
null,
|
| 1007 |
null,
|
| 1008 |
null,
|
|
|
|
| 1009 |
null,
|
| 1010 |
null,
|
| 1011 |
null,
|
|
|
|
| 1012 |
null,
|
| 1013 |
null,
|
| 1014 |
null,
|
|
@@ -1031,19 +1036,14 @@
|
|
| 1031 |
null,
|
| 1032 |
null,
|
| 1033 |
null,
|
| 1034 |
-
3303,
|
| 1035 |
null,
|
| 1036 |
null,
|
| 1037 |
null,
|
| 1038 |
null,
|
| 1039 |
-
1916,
|
| 1040 |
-
1090,
|
| 1041 |
null,
|
| 1042 |
null,
|
| 1043 |
null,
|
| 1044 |
null,
|
| 1045 |
-
2752,
|
| 1046 |
-
1611,
|
| 1047 |
null,
|
| 1048 |
null,
|
| 1049 |
null,
|
|
@@ -1051,7 +1051,6 @@
|
|
| 1051 |
null,
|
| 1052 |
null,
|
| 1053 |
null,
|
| 1054 |
-
2448,
|
| 1055 |
null,
|
| 1056 |
null,
|
| 1057 |
null,
|
|
@@ -1066,7 +1065,6 @@
|
|
| 1066 |
null,
|
| 1067 |
null,
|
| 1068 |
null,
|
| 1069 |
-
1604,
|
| 1070 |
null,
|
| 1071 |
null,
|
| 1072 |
null,
|
|
@@ -1074,7 +1072,6 @@
|
|
| 1074 |
null,
|
| 1075 |
null,
|
| 1076 |
null,
|
| 1077 |
-
399,
|
| 1078 |
null,
|
| 1079 |
null,
|
| 1080 |
null,
|
|
@@ -1082,1096 +1079,1099 @@
|
|
| 1082 |
null,
|
| 1083 |
null,
|
| 1084 |
null,
|
| 1085 |
-
972,
|
| 1086 |
null,
|
| 1087 |
null,
|
| 1088 |
null,
|
| 1089 |
null,
|
| 1090 |
null,
|
| 1091 |
null,
|
| 1092 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1093 |
],
|
| 1094 |
-
"seconds":
|
| 1095 |
},
|
| 1096 |
{
|
| 1097 |
"sigma": 0.09,
|
| 1098 |
"copies": 256,
|
| 1099 |
"steps": 4000,
|
| 1100 |
-
"deviated":
|
| 1101 |
-
"median_first_deviation":
|
| 1102 |
-
"step_exposure":
|
| 1103 |
-
"empirical_rate_per_step": 0.
|
| 1104 |
-
"bound_rate_per_step": 0.
|
| 1105 |
-
"looseness": 2.
|
| 1106 |
"first_deviation": [
|
| 1107 |
-
|
| 1108 |
-
|
| 1109 |
-
|
| 1110 |
-
|
| 1111 |
-
|
| 1112 |
-
|
| 1113 |
-
|
| 1114 |
-
|
| 1115 |
-
|
| 1116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1117 |
1127,
|
| 1118 |
-
|
| 1119 |
-
|
| 1120 |
-
|
| 1121 |
-
|
| 1122 |
-
|
|
|
|
|
|
|
| 1123 |
307,
|
| 1124 |
-
|
| 1125 |
-
|
| 1126 |
-
|
| 1127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1128 |
366,
|
| 1129 |
-
45,
|
| 1130 |
-
442,
|
| 1131 |
-
683,
|
| 1132 |
-
2628,
|
| 1133 |
-
560,
|
| 1134 |
null,
|
| 1135 |
-
669,
|
| 1136 |
-
199,
|
| 1137 |
-
1027,
|
| 1138 |
-
1698,
|
| 1139 |
-
1596,
|
| 1140 |
-
1027,
|
| 1141 |
-
2059,
|
| 1142 |
-
89,
|
| 1143 |
-
44,
|
| 1144 |
-
159,
|
| 1145 |
-
1436,
|
| 1146 |
-
431,
|
| 1147 |
-
925,
|
| 1148 |
-
1896,
|
| 1149 |
-
217,
|
| 1150 |
null,
|
| 1151 |
-
|
| 1152 |
-
|
| 1153 |
-
|
| 1154 |
-
|
| 1155 |
-
|
| 1156 |
-
|
| 1157 |
-
|
| 1158 |
-
|
| 1159 |
-
|
| 1160 |
-
|
| 1161 |
-
|
| 1162 |
-
|
| 1163 |
-
2742,
|
| 1164 |
-
458,
|
| 1165 |
-
1329,
|
| 1166 |
-
60,
|
| 1167 |
-
909,
|
| 1168 |
-
1000,
|
| 1169 |
-
209,
|
| 1170 |
-
1061,
|
| 1171 |
-
970,
|
| 1172 |
-
null,
|
| 1173 |
-
1427,
|
| 1174 |
-
1294,
|
| 1175 |
-
465,
|
| 1176 |
-
694,
|
| 1177 |
-
2026,
|
| 1178 |
-
426,
|
| 1179 |
-
28,
|
| 1180 |
-
43,
|
| 1181 |
-
1088,
|
| 1182 |
-
1354,
|
| 1183 |
-
782,
|
| 1184 |
-
2188,
|
| 1185 |
-
2922,
|
| 1186 |
-
778,
|
| 1187 |
-
403,
|
| 1188 |
-
371,
|
| 1189 |
-
464,
|
| 1190 |
-
3041,
|
| 1191 |
-
109,
|
| 1192 |
null,
|
| 1193 |
522,
|
| 1194 |
-
|
| 1195 |
-
|
| 1196 |
-
|
| 1197 |
-
|
| 1198 |
-
|
| 1199 |
-
|
| 1200 |
-
|
| 1201 |
-
|
| 1202 |
-
|
| 1203 |
-
|
| 1204 |
-
|
| 1205 |
-
|
| 1206 |
-
|
| 1207 |
-
|
| 1208 |
-
|
| 1209 |
-
|
| 1210 |
-
|
| 1211 |
-
|
| 1212 |
-
|
| 1213 |
-
|
| 1214 |
-
|
| 1215 |
-
|
| 1216 |
-
|
| 1217 |
-
|
| 1218 |
-
|
| 1219 |
-
|
| 1220 |
-
|
| 1221 |
-
|
| 1222 |
-
|
| 1223 |
-
|
| 1224 |
-
|
| 1225 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1226 |
null,
|
| 1227 |
-
|
| 1228 |
-
|
| 1229 |
-
|
| 1230 |
-
18,
|
| 1231 |
-
240,
|
| 1232 |
-
104,
|
| 1233 |
-
126,
|
| 1234 |
-
62,
|
| 1235 |
-
1198,
|
| 1236 |
-
93,
|
| 1237 |
-
229,
|
| 1238 |
-
972,
|
| 1239 |
-
331,
|
| 1240 |
-
924,
|
| 1241 |
-
1,
|
| 1242 |
-
731,
|
| 1243 |
-
497,
|
| 1244 |
-
245,
|
| 1245 |
-
123,
|
| 1246 |
-
417,
|
| 1247 |
-
1381,
|
| 1248 |
-
46,
|
| 1249 |
null,
|
| 1250 |
-
|
| 1251 |
-
|
| 1252 |
-
|
| 1253 |
-
|
| 1254 |
-
|
| 1255 |
-
|
| 1256 |
-
|
| 1257 |
-
|
| 1258 |
-
|
| 1259 |
-
|
| 1260 |
-
|
| 1261 |
-
|
| 1262 |
-
|
| 1263 |
-
|
| 1264 |
-
|
| 1265 |
-
|
| 1266 |
-
|
| 1267 |
-
|
| 1268 |
-
|
| 1269 |
-
|
| 1270 |
-
|
| 1271 |
-
|
| 1272 |
-
|
| 1273 |
-
|
| 1274 |
-
|
| 1275 |
-
|
| 1276 |
-
|
| 1277 |
-
|
| 1278 |
-
|
| 1279 |
-
|
| 1280 |
-
|
| 1281 |
-
|
| 1282 |
-
|
| 1283 |
-
|
| 1284 |
-
|
| 1285 |
-
607,
|
| 1286 |
-
3971,
|
| 1287 |
-
158,
|
| 1288 |
-
309,
|
| 1289 |
-
361,
|
| 1290 |
-
301,
|
| 1291 |
-
311,
|
| 1292 |
-
59,
|
| 1293 |
-
474,
|
| 1294 |
-
399,
|
| 1295 |
-
1012,
|
| 1296 |
-
407,
|
| 1297 |
-
1295,
|
| 1298 |
-
1393,
|
| 1299 |
-
784,
|
| 1300 |
-
609,
|
| 1301 |
866,
|
| 1302 |
-
|
| 1303 |
-
|
| 1304 |
-
|
| 1305 |
-
|
| 1306 |
-
|
| 1307 |
-
|
| 1308 |
-
|
| 1309 |
-
417,
|
| 1310 |
-
1083,
|
| 1311 |
-
690,
|
| 1312 |
-
1836,
|
| 1313 |
-
1323,
|
| 1314 |
-
869,
|
| 1315 |
-
429,
|
| 1316 |
-
930,
|
| 1317 |
-
491,
|
| 1318 |
-
120,
|
| 1319 |
-
133,
|
| 1320 |
-
282,
|
| 1321 |
-
1898,
|
| 1322 |
-
708,
|
| 1323 |
-
67,
|
| 1324 |
-
90,
|
| 1325 |
-
3046,
|
| 1326 |
-
628,
|
| 1327 |
-
498,
|
| 1328 |
-
39,
|
| 1329 |
-
549,
|
| 1330 |
-
1395,
|
| 1331 |
-
603,
|
| 1332 |
-
2537,
|
| 1333 |
-
775,
|
| 1334 |
-
1604,
|
| 1335 |
-
797,
|
| 1336 |
-
57,
|
| 1337 |
-
719,
|
| 1338 |
-
368,
|
| 1339 |
-
426,
|
| 1340 |
-
492,
|
| 1341 |
-
568,
|
| 1342 |
-
1279,
|
| 1343 |
498,
|
| 1344 |
-
|
| 1345 |
-
|
| 1346 |
-
|
| 1347 |
-
|
| 1348 |
-
|
| 1349 |
-
|
| 1350 |
-
|
| 1351 |
-
|
| 1352 |
-
|
| 1353 |
-
|
| 1354 |
-
|
| 1355 |
-
|
| 1356 |
-
|
| 1357 |
-
|
| 1358 |
-
|
| 1359 |
-
|
| 1360 |
-
|
| 1361 |
-
|
| 1362 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1363 |
],
|
| 1364 |
-
"seconds":
|
| 1365 |
},
|
| 1366 |
{
|
| 1367 |
"sigma": 0.1,
|
| 1368 |
"copies": 256,
|
| 1369 |
-
"steps":
|
| 1370 |
"deviated": 256,
|
| 1371 |
-
"median_first_deviation":
|
| 1372 |
-
"step_exposure":
|
| 1373 |
-
"empirical_rate_per_step": 0.
|
| 1374 |
-
"bound_rate_per_step": 0.
|
| 1375 |
-
"looseness": 2.
|
| 1376 |
"first_deviation": [
|
| 1377 |
-
114,
|
| 1378 |
-
83,
|
| 1379 |
-
71,
|
| 1380 |
-
8,
|
| 1381 |
-
27,
|
| 1382 |
-
33,
|
| 1383 |
-
40,
|
| 1384 |
-
6,
|
| 1385 |
-
21,
|
| 1386 |
-
82,
|
| 1387 |
-
113,
|
| 1388 |
-
6,
|
| 1389 |
-
108,
|
| 1390 |
-
75,
|
| 1391 |
-
4,
|
| 1392 |
-
132,
|
| 1393 |
-
361,
|
| 1394 |
-
47,
|
| 1395 |
-
56,
|
| 1396 |
-
42,
|
| 1397 |
-
39,
|
| 1398 |
-
50,
|
| 1399 |
32,
|
|
|
|
| 1400 |
99,
|
| 1401 |
-
82,
|
| 1402 |
-
107,
|
| 1403 |
-
33,
|
| 1404 |
-
1,
|
| 1405 |
-
22,
|
| 1406 |
-
13,
|
| 1407 |
-
65,
|
| 1408 |
-
66,
|
| 1409 |
-
65,
|
| 1410 |
-
1,
|
| 1411 |
-
32,
|
| 1412 |
-
92,
|
| 1413 |
-
40,
|
| 1414 |
13,
|
| 1415 |
-
|
| 1416 |
-
|
| 1417 |
-
|
| 1418 |
-
|
| 1419 |
-
|
| 1420 |
-
9,
|
| 1421 |
-
40,
|
| 1422 |
-
26,
|
| 1423 |
-
3,
|
| 1424 |
-
3,
|
| 1425 |
-
47,
|
| 1426 |
-
41,
|
| 1427 |
58,
|
| 1428 |
-
|
| 1429 |
-
|
| 1430 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1431 |
12,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1432 |
10,
|
| 1433 |
-
13,
|
| 1434 |
-
95,
|
| 1435 |
-
65,
|
| 1436 |
-
58,
|
| 1437 |
-
1,
|
| 1438 |
4,
|
| 1439 |
-
|
| 1440 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1441 |
34,
|
| 1442 |
-
|
| 1443 |
-
10,
|
| 1444 |
3,
|
| 1445 |
-
|
| 1446 |
-
|
| 1447 |
-
|
| 1448 |
-
|
| 1449 |
-
|
| 1450 |
-
|
| 1451 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1452 |
34,
|
| 1453 |
-
|
| 1454 |
-
47,
|
| 1455 |
-
94,
|
| 1456 |
8,
|
| 1457 |
-
30,
|
| 1458 |
-
120,
|
| 1459 |
-
131,
|
| 1460 |
-
55,
|
| 1461 |
-
97,
|
| 1462 |
-
2,
|
| 1463 |
-
54,
|
| 1464 |
-
38,
|
| 1465 |
-
11,
|
| 1466 |
-
27,
|
| 1467 |
-
35,
|
| 1468 |
-
72,
|
| 1469 |
-
4,
|
| 1470 |
-
2,
|
| 1471 |
-
73,
|
| 1472 |
-
53,
|
| 1473 |
-
98,
|
| 1474 |
-
17,
|
| 1475 |
-
25,
|
| 1476 |
-
10,
|
| 1477 |
-
26,
|
| 1478 |
-
137,
|
| 1479 |
-
46,
|
| 1480 |
-
33,
|
| 1481 |
5,
|
| 1482 |
-
|
| 1483 |
-
96,
|
| 1484 |
-
74,
|
| 1485 |
-
81,
|
| 1486 |
-
10,
|
| 1487 |
3,
|
| 1488 |
-
|
| 1489 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1490 |
2,
|
| 1491 |
-
|
| 1492 |
-
49,
|
| 1493 |
-
24,
|
| 1494 |
-
120,
|
| 1495 |
-
150,
|
| 1496 |
-
102,
|
| 1497 |
-
37,
|
| 1498 |
-
81,
|
| 1499 |
-
22,
|
| 1500 |
-
10,
|
| 1501 |
-
61,
|
| 1502 |
-
77,
|
| 1503 |
-
61,
|
| 1504 |
11,
|
| 1505 |
-
|
| 1506 |
-
22,
|
| 1507 |
-
12,
|
| 1508 |
-
4,
|
| 1509 |
-
1,
|
| 1510 |
1,
|
| 1511 |
-
|
| 1512 |
-
|
| 1513 |
-
|
| 1514 |
-
|
| 1515 |
-
|
| 1516 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1517 |
3,
|
| 1518 |
-
|
|
|
|
| 1519 |
28,
|
| 1520 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1521 |
64,
|
| 1522 |
-
22,
|
| 1523 |
-
34,
|
| 1524 |
77,
|
| 1525 |
-
|
| 1526 |
-
|
| 1527 |
-
7,
|
| 1528 |
-
106,
|
| 1529 |
-
63,
|
| 1530 |
-
90,
|
| 1531 |
-
10,
|
| 1532 |
-
83,
|
| 1533 |
-
87,
|
| 1534 |
-
5,
|
| 1535 |
-
15,
|
| 1536 |
-
104,
|
| 1537 |
-
98,
|
| 1538 |
-
37,
|
| 1539 |
-
58,
|
| 1540 |
25,
|
| 1541 |
-
|
| 1542 |
-
|
| 1543 |
-
|
| 1544 |
-
|
| 1545 |
-
|
| 1546 |
-
|
| 1547 |
-
|
| 1548 |
-
|
| 1549 |
-
33,
|
| 1550 |
-
35,
|
| 1551 |
-
39,
|
| 1552 |
-
132,
|
| 1553 |
-
31,
|
| 1554 |
46,
|
| 1555 |
-
|
| 1556 |
-
|
| 1557 |
-
|
| 1558 |
-
|
| 1559 |
-
|
| 1560 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1561 |
28,
|
| 1562 |
-
|
| 1563 |
-
309,
|
| 1564 |
-
3,
|
| 1565 |
-
2,
|
| 1566 |
-
4,
|
| 1567 |
46,
|
|
|
|
|
|
|
| 1568 |
72,
|
| 1569 |
-
|
| 1570 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1571 |
55,
|
| 1572 |
-
|
| 1573 |
-
|
| 1574 |
-
|
| 1575 |
-
|
| 1576 |
-
|
| 1577 |
-
|
| 1578 |
-
|
| 1579 |
-
|
| 1580 |
-
|
| 1581 |
-
|
| 1582 |
-
|
| 1583 |
-
90,
|
| 1584 |
-
80,
|
| 1585 |
-
53,
|
| 1586 |
-
26,
|
| 1587 |
-
131,
|
| 1588 |
-
22,
|
| 1589 |
-
14,
|
| 1590 |
-
46,
|
| 1591 |
-
40,
|
| 1592 |
-
35,
|
| 1593 |
-
16,
|
| 1594 |
-
164,
|
| 1595 |
-
15,
|
| 1596 |
-
82,
|
| 1597 |
-
28,
|
| 1598 |
-
176,
|
| 1599 |
-
2,
|
| 1600 |
20,
|
| 1601 |
-
48,
|
| 1602 |
-
36,
|
| 1603 |
-
64,
|
| 1604 |
-
226,
|
| 1605 |
-
87,
|
| 1606 |
-
61,
|
| 1607 |
-
51,
|
| 1608 |
-
1,
|
| 1609 |
-
104,
|
| 1610 |
-
34,
|
| 1611 |
-
7,
|
| 1612 |
-
62,
|
| 1613 |
-
205,
|
| 1614 |
8,
|
| 1615 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1616 |
41,
|
| 1617 |
-
|
| 1618 |
-
|
| 1619 |
-
|
| 1620 |
-
|
| 1621 |
-
|
| 1622 |
-
|
| 1623 |
-
|
| 1624 |
-
|
| 1625 |
-
|
| 1626 |
-
|
| 1627 |
-
|
|
|
|
|
|
|
|
|
|
| 1628 |
47,
|
| 1629 |
-
|
| 1630 |
-
|
| 1631 |
-
|
| 1632 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1633 |
],
|
| 1634 |
-
"seconds": 8.
|
| 1635 |
},
|
| 1636 |
{
|
| 1637 |
"sigma": 0.11,
|
| 1638 |
"copies": 256,
|
| 1639 |
-
"steps":
|
| 1640 |
"deviated": 256,
|
| 1641 |
-
"median_first_deviation":
|
| 1642 |
-
"step_exposure":
|
| 1643 |
-
"empirical_rate_per_step": 0.
|
| 1644 |
-
"bound_rate_per_step": 0.
|
| 1645 |
-
"looseness": 2.
|
| 1646 |
"first_deviation": [
|
| 1647 |
-
|
| 1648 |
-
|
| 1649 |
-
|
| 1650 |
12,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1651 |
1,
|
|
|
|
|
|
|
| 1652 |
10,
|
| 1653 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1654 |
12,
|
| 1655 |
-
6,
|
| 1656 |
-
1,
|
| 1657 |
1,
|
| 1658 |
3,
|
| 1659 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1660 |
6,
|
| 1661 |
-
|
|
|
|
|
|
|
|
|
|
| 1662 |
2,
|
|
|
|
|
|
|
|
|
|
| 1663 |
4,
|
| 1664 |
-
|
| 1665 |
-
|
| 1666 |
-
|
| 1667 |
2,
|
| 1668 |
-
7,
|
| 1669 |
8,
|
| 1670 |
-
|
| 1671 |
9,
|
|
|
|
|
|
|
| 1672 |
18,
|
| 1673 |
-
3,
|
| 1674 |
-
2,
|
| 1675 |
-
1,
|
| 1676 |
-
6,
|
| 1677 |
4,
|
| 1678 |
-
1,
|
| 1679 |
-
2,
|
| 1680 |
-
10,
|
| 1681 |
-
5,
|
| 1682 |
-
5,
|
| 1683 |
-
2,
|
| 1684 |
-
2,
|
| 1685 |
-
1,
|
| 1686 |
-
2,
|
| 1687 |
-
14,
|
| 1688 |
-
1,
|
| 1689 |
13,
|
| 1690 |
1,
|
| 1691 |
-
5,
|
| 1692 |
-
12,
|
| 1693 |
-
1,
|
| 1694 |
-
8,
|
| 1695 |
-
2,
|
| 1696 |
-
4,
|
| 1697 |
4,
|
|
|
|
| 1698 |
11,
|
|
|
|
|
|
|
|
|
|
| 1699 |
1,
|
|
|
|
|
|
|
| 1700 |
2,
|
|
|
|
| 1701 |
2,
|
| 1702 |
-
|
|
|
|
| 1703 |
4,
|
| 1704 |
-
|
| 1705 |
-
1,
|
| 1706 |
-
2,
|
| 1707 |
-
8,
|
| 1708 |
-
7,
|
| 1709 |
-
1,
|
| 1710 |
-
1,
|
| 1711 |
-
8,
|
| 1712 |
2,
|
| 1713 |
-
|
| 1714 |
-
1,
|
| 1715 |
-
3,
|
| 1716 |
9,
|
| 1717 |
-
|
| 1718 |
7,
|
| 1719 |
-
|
| 1720 |
-
13,
|
| 1721 |
-
3,
|
| 1722 |
-
3,
|
| 1723 |
6,
|
|
|
|
| 1724 |
3,
|
| 1725 |
2,
|
| 1726 |
-
1,
|
| 1727 |
-
6,
|
| 1728 |
-
2,
|
| 1729 |
-
2,
|
| 1730 |
3,
|
| 1731 |
6,
|
| 1732 |
-
|
| 1733 |
-
1,
|
| 1734 |
-
8,
|
| 1735 |
-
2,
|
| 1736 |
-
4,
|
| 1737 |
-
2,
|
| 1738 |
7,
|
| 1739 |
-
|
| 1740 |
-
|
| 1741 |
-
|
| 1742 |
-
|
| 1743 |
-
8,
|
| 1744 |
-
1,
|
| 1745 |
2,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1746 |
17,
|
| 1747 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1748 |
8,
|
| 1749 |
-
|
| 1750 |
-
|
| 1751 |
-
1,
|
| 1752 |
7,
|
| 1753 |
-
2,
|
| 1754 |
1,
|
|
|
|
| 1755 |
10,
|
|
|
|
|
|
|
| 1756 |
3,
|
| 1757 |
-
2,
|
| 1758 |
-
4,
|
| 1759 |
-
5,
|
| 1760 |
-
2,
|
| 1761 |
-
6,
|
| 1762 |
4,
|
|
|
|
| 1763 |
3,
|
| 1764 |
-
5,
|
| 1765 |
-
22,
|
| 1766 |
-
2,
|
| 1767 |
-
9,
|
| 1768 |
-
5,
|
| 1769 |
-
12,
|
| 1770 |
-
11,
|
| 1771 |
-
3,
|
| 1772 |
-
2,
|
| 1773 |
-
1,
|
| 1774 |
9,
|
| 1775 |
2,
|
| 1776 |
-
|
| 1777 |
7,
|
| 1778 |
-
|
| 1779 |
-
|
| 1780 |
3,
|
| 1781 |
-
|
| 1782 |
-
10,
|
| 1783 |
-
1,
|
| 1784 |
-
1,
|
| 1785 |
-
5,
|
| 1786 |
-
8,
|
| 1787 |
-
6,
|
| 1788 |
-
4,
|
| 1789 |
5,
|
| 1790 |
-
11,
|
| 1791 |
1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1792 |
8,
|
| 1793 |
-
|
| 1794 |
8,
|
| 1795 |
-
2,
|
| 1796 |
1,
|
| 1797 |
-
2,
|
| 1798 |
-
7,
|
| 1799 |
1,
|
| 1800 |
1,
|
| 1801 |
-
|
| 1802 |
-
|
| 1803 |
-
|
| 1804 |
-
|
| 1805 |
-
8,
|
| 1806 |
-
2,
|
| 1807 |
4,
|
| 1808 |
-
1,
|
| 1809 |
2,
|
| 1810 |
-
|
| 1811 |
-
|
| 1812 |
-
9,
|
| 1813 |
5,
|
| 1814 |
-
|
| 1815 |
-
|
| 1816 |
-
|
| 1817 |
-
|
| 1818 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1819 |
4,
|
| 1820 |
-
|
|
|
|
| 1821 |
2,
|
| 1822 |
1,
|
|
|
|
|
|
|
|
|
|
| 1823 |
3,
|
|
|
|
| 1824 |
2,
|
| 1825 |
-
|
| 1826 |
-
|
| 1827 |
3,
|
| 1828 |
-
4,
|
| 1829 |
-
1,
|
| 1830 |
1,
|
|
|
|
| 1831 |
13,
|
| 1832 |
-
6,
|
| 1833 |
5,
|
| 1834 |
-
5,
|
| 1835 |
-
6,
|
| 1836 |
6,
|
| 1837 |
4,
|
| 1838 |
-
|
| 1839 |
-
|
| 1840 |
-
6,
|
| 1841 |
-
1,
|
| 1842 |
4,
|
|
|
|
|
|
|
| 1843 |
21,
|
|
|
|
|
|
|
|
|
|
| 1844 |
1,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1845 |
3,
|
| 1846 |
1,
|
| 1847 |
-
19,
|
| 1848 |
-
1,
|
| 1849 |
-
1,
|
| 1850 |
-
8,
|
| 1851 |
-
8,
|
| 1852 |
-
6,
|
| 1853 |
-
1,
|
| 1854 |
-
4,
|
| 1855 |
9,
|
| 1856 |
-
|
| 1857 |
-
3,
|
| 1858 |
-
4,
|
| 1859 |
-
4,
|
| 1860 |
4,
|
| 1861 |
-
6,
|
| 1862 |
1,
|
| 1863 |
-
|
| 1864 |
-
|
| 1865 |
2,
|
| 1866 |
-
|
| 1867 |
-
|
| 1868 |
-
7,
|
| 1869 |
-
9,
|
| 1870 |
8,
|
| 1871 |
8,
|
| 1872 |
-
|
| 1873 |
5,
|
| 1874 |
-
1,
|
| 1875 |
-
2,
|
| 1876 |
-
1,
|
| 1877 |
-
6,
|
| 1878 |
-
2,
|
| 1879 |
-
3,
|
| 1880 |
-
2,
|
| 1881 |
-
6,
|
| 1882 |
-
1,
|
| 1883 |
-
22,
|
| 1884 |
7,
|
| 1885 |
-
|
| 1886 |
1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1887 |
4,
|
| 1888 |
-
9,
|
| 1889 |
3,
|
| 1890 |
2,
|
|
|
|
|
|
|
| 1891 |
4,
|
| 1892 |
-
|
| 1893 |
-
|
|
|
|
|
|
|
| 1894 |
3,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1895 |
2,
|
|
|
|
|
|
|
| 1896 |
8,
|
| 1897 |
1,
|
|
|
|
|
|
|
| 1898 |
2,
|
|
|
|
| 1899 |
2,
|
| 1900 |
-
|
| 1901 |
-
|
| 1902 |
-
|
|
|
|
| 1903 |
],
|
| 1904 |
-
"seconds":
|
| 1905 |
},
|
| 1906 |
{
|
| 1907 |
"sigma": 0.12,
|
| 1908 |
"copies": 256,
|
| 1909 |
-
"steps":
|
| 1910 |
"deviated": 256,
|
| 1911 |
-
"median_first_deviation":
|
| 1912 |
-
"step_exposure":
|
| 1913 |
-
"empirical_rate_per_step": 0.
|
| 1914 |
-
"bound_rate_per_step":
|
| 1915 |
-
"looseness": 3.
|
| 1916 |
"first_deviation": [
|
| 1917 |
1,
|
| 1918 |
-
2,
|
| 1919 |
3,
|
| 1920 |
-
|
|
|
|
| 1921 |
1,
|
| 1922 |
3,
|
| 1923 |
-
1,
|
| 1924 |
2,
|
| 1925 |
2,
|
| 1926 |
-
|
| 1927 |
-
|
| 1928 |
2,
|
| 1929 |
-
|
| 1930 |
-
|
| 1931 |
-
1,
|
| 1932 |
2,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1933 |
1,
|
| 1934 |
-
|
| 1935 |
-
|
| 1936 |
-
|
| 1937 |
-
|
|
|
|
|
|
|
|
|
|
| 1938 |
2,
|
| 1939 |
1,
|
| 1940 |
3,
|
| 1941 |
-
1,
|
| 1942 |
-
1,
|
| 1943 |
2,
|
| 1944 |
2,
|
|
|
|
| 1945 |
1,
|
| 1946 |
-
|
| 1947 |
-
|
|
|
|
| 1948 |
2,
|
|
|
|
| 1949 |
1,
|
|
|
|
|
|
|
| 1950 |
1,
|
|
|
|
|
|
|
| 1951 |
1,
|
| 1952 |
1,
|
| 1953 |
-
|
| 1954 |
-
5,
|
| 1955 |
-
1,
|
| 1956 |
-
3,
|
| 1957 |
2,
|
| 1958 |
-
1,
|
| 1959 |
3,
|
| 1960 |
-
1,
|
| 1961 |
3,
|
| 1962 |
-
2,
|
| 1963 |
3,
|
| 1964 |
1,
|
| 1965 |
-
1,
|
| 1966 |
-
1,
|
| 1967 |
-
1,
|
| 1968 |
-
1,
|
| 1969 |
-
1,
|
| 1970 |
-
1,
|
| 1971 |
-
1,
|
| 1972 |
-
1,
|
| 1973 |
2,
|
| 1974 |
-
1,
|
| 1975 |
-
1,
|
| 1976 |
2,
|
| 1977 |
1,
|
| 1978 |
2,
|
| 1979 |
1,
|
| 1980 |
-
1,
|
| 1981 |
-
1,
|
| 1982 |
-
1,
|
| 1983 |
-
1,
|
| 1984 |
-
1,
|
| 1985 |
-
1,
|
| 1986 |
-
1,
|
| 1987 |
-
1,
|
| 1988 |
-
1,
|
| 1989 |
-
1,
|
| 1990 |
-
1,
|
| 1991 |
-
1,
|
| 1992 |
-
1,
|
| 1993 |
-
1,
|
| 1994 |
-
1,
|
| 1995 |
-
1,
|
| 1996 |
-
1,
|
| 1997 |
-
1,
|
| 1998 |
3,
|
| 1999 |
1,
|
| 2000 |
1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2001 |
1,
|
|
|
|
| 2002 |
1,
|
|
|
|
| 2003 |
1,
|
|
|
|
| 2004 |
1,
|
| 2005 |
1,
|
|
|
|
| 2006 |
1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2007 |
1,
|
| 2008 |
1,
|
|
|
|
| 2009 |
1,
|
| 2010 |
2,
|
|
|
|
| 2011 |
2,
|
| 2012 |
1,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2013 |
1,
|
|
|
|
|
|
|
| 2014 |
3,
|
| 2015 |
1,
|
| 2016 |
1,
|
|
|
|
| 2017 |
2,
|
|
|
|
| 2018 |
1,
|
| 2019 |
-
2,
|
| 2020 |
1,
|
| 2021 |
1,
|
| 2022 |
-
|
| 2023 |
1,
|
| 2024 |
2,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2025 |
1,
|
| 2026 |
1,
|
| 2027 |
1,
|
|
|
|
| 2028 |
1,
|
| 2029 |
2,
|
|
|
|
| 2030 |
1,
|
|
|
|
| 2031 |
1,
|
|
|
|
| 2032 |
1,
|
| 2033 |
3,
|
|
|
|
|
|
|
| 2034 |
7,
|
| 2035 |
-
|
| 2036 |
-
1,
|
| 2037 |
-
1,
|
| 2038 |
-
1,
|
| 2039 |
-
1,
|
| 2040 |
2,
|
| 2041 |
1,
|
| 2042 |
1,
|
|
|
|
|
|
|
|
|
|
| 2043 |
1,
|
|
|
|
| 2044 |
1,
|
|
|
|
| 2045 |
1,
|
| 2046 |
1,
|
| 2047 |
1,
|
| 2048 |
1,
|
| 2049 |
1,
|
| 2050 |
-
|
|
|
|
| 2051 |
1,
|
| 2052 |
2,
|
| 2053 |
-
|
| 2054 |
-
|
| 2055 |
3,
|
| 2056 |
1,
|
| 2057 |
2,
|
| 2058 |
1,
|
| 2059 |
3,
|
| 2060 |
-
3,
|
| 2061 |
-
3,
|
| 2062 |
-
1,
|
| 2063 |
1,
|
| 2064 |
2,
|
| 2065 |
-
|
| 2066 |
2,
|
| 2067 |
-
|
| 2068 |
-
1,
|
| 2069 |
-
1,
|
| 2070 |
1,
|
|
|
|
| 2071 |
1,
|
| 2072 |
2,
|
| 2073 |
-
5,
|
| 2074 |
1,
|
| 2075 |
-
1,
|
| 2076 |
-
1,
|
| 2077 |
-
1,
|
| 2078 |
-
2,
|
| 2079 |
2,
|
| 2080 |
1,
|
|
|
|
| 2081 |
1,
|
| 2082 |
1,
|
|
|
|
| 2083 |
2,
|
| 2084 |
-
1,
|
| 2085 |
-
1,
|
| 2086 |
2,
|
|
|
|
|
|
|
| 2087 |
2,
|
|
|
|
|
|
|
| 2088 |
2,
|
| 2089 |
1,
|
| 2090 |
1,
|
|
|
|
| 2091 |
1,
|
| 2092 |
-
1,
|
| 2093 |
-
1,
|
| 2094 |
-
2,
|
| 2095 |
-
4,
|
| 2096 |
2,
|
| 2097 |
-
|
|
|
|
| 2098 |
1,
|
| 2099 |
4,
|
| 2100 |
-
|
| 2101 |
-
2,
|
| 2102 |
1,
|
| 2103 |
2,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2104 |
1,
|
| 2105 |
1,
|
| 2106 |
-
|
| 2107 |
3,
|
| 2108 |
1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2109 |
1,
|
| 2110 |
-
|
|
|
|
|
|
|
| 2111 |
2,
|
| 2112 |
-
1,
|
| 2113 |
-
1,
|
| 2114 |
-
1,
|
| 2115 |
2,
|
| 2116 |
1,
|
|
|
|
| 2117 |
1,
|
|
|
|
|
|
|
| 2118 |
2,
|
| 2119 |
-
1,
|
| 2120 |
2,
|
| 2121 |
-
1,
|
| 2122 |
-
1,
|
| 2123 |
-
1,
|
| 2124 |
-
1,
|
| 2125 |
3,
|
| 2126 |
-
|
| 2127 |
2,
|
| 2128 |
1,
|
| 2129 |
3,
|
| 2130 |
1,
|
| 2131 |
1,
|
| 2132 |
-
4,
|
| 2133 |
1,
|
| 2134 |
3,
|
| 2135 |
-
1,
|
| 2136 |
-
1,
|
| 2137 |
-
1,
|
| 2138 |
-
1,
|
| 2139 |
-
1,
|
| 2140 |
-
1,
|
| 2141 |
-
1,
|
| 2142 |
2,
|
| 2143 |
-
|
|
|
|
| 2144 |
3,
|
| 2145 |
-
1,
|
| 2146 |
-
1,
|
| 2147 |
-
1,
|
| 2148 |
-
1,
|
| 2149 |
4,
|
| 2150 |
1,
|
| 2151 |
-
|
|
|
|
| 2152 |
3,
|
| 2153 |
1,
|
| 2154 |
1,
|
| 2155 |
-
1,
|
| 2156 |
2,
|
|
|
|
| 2157 |
1,
|
| 2158 |
2,
|
| 2159 |
-
1,
|
| 2160 |
2,
|
|
|
|
|
|
|
|
|
|
| 2161 |
2,
|
| 2162 |
-
1,
|
| 2163 |
-
4,
|
| 2164 |
-
1,
|
| 2165 |
-
1,
|
| 2166 |
3,
|
| 2167 |
-
1,
|
| 2168 |
2,
|
| 2169 |
-
|
| 2170 |
-
1,
|
| 2171 |
-
1,
|
| 2172 |
1
|
| 2173 |
],
|
| 2174 |
-
"seconds": 0.
|
| 2175 |
},
|
| 2176 |
{
|
| 2177 |
"sigma": 0.15,
|
|
@@ -2181,8 +2181,8 @@
|
|
| 2181 |
"median_first_deviation": 1,
|
| 2182 |
"step_exposure": 256,
|
| 2183 |
"empirical_rate_per_step": 1.0,
|
| 2184 |
-
"bound_rate_per_step":
|
| 2185 |
-
"looseness":
|
| 2186 |
"first_deviation": [
|
| 2187 |
1,
|
| 2188 |
1,
|
|
@@ -2441,7 +2441,7 @@
|
|
| 2441 |
1,
|
| 2442 |
1
|
| 2443 |
],
|
| 2444 |
-
"seconds": 0.
|
| 2445 |
},
|
| 2446 |
{
|
| 2447 |
"sigma": 0.2,
|
|
@@ -2451,8 +2451,8 @@
|
|
| 2451 |
"median_first_deviation": 1,
|
| 2452 |
"step_exposure": 256,
|
| 2453 |
"empirical_rate_per_step": 1.0,
|
| 2454 |
-
"bound_rate_per_step":
|
| 2455 |
-
"looseness":
|
| 2456 |
"first_deviation": [
|
| 2457 |
1,
|
| 2458 |
1,
|
|
@@ -2711,7 +2711,7 @@
|
|
| 2711 |
1,
|
| 2712 |
1
|
| 2713 |
],
|
| 2714 |
-
"seconds": 0.
|
| 2715 |
}
|
| 2716 |
]
|
| 2717 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"M": 41967,
|
| 3 |
"grid": [
|
| 4 |
0.02,
|
| 5 |
0.04,
|
|
|
|
| 21 |
"median_first_deviation": null,
|
| 22 |
"step_exposure": 768000,
|
| 23 |
"empirical_rate_per_step": 0.0,
|
| 24 |
+
"bound_rate_per_step": 2.5656078135354018e-133,
|
| 25 |
"looseness": null,
|
| 26 |
"first_deviation": [
|
| 27 |
null,
|
|
|
|
| 281 |
null,
|
| 282 |
null
|
| 283 |
],
|
| 284 |
+
"seconds": 46.02053378999699
|
| 285 |
},
|
| 286 |
{
|
| 287 |
"sigma": 0.04,
|
|
|
|
| 291 |
"median_first_deviation": null,
|
| 292 |
"step_exposure": 768000,
|
| 293 |
"empirical_rate_per_step": 0.0,
|
| 294 |
+
"bound_rate_per_step": 3.132890518620101e-31,
|
| 295 |
"looseness": null,
|
| 296 |
"first_deviation": [
|
| 297 |
null,
|
|
|
|
| 551 |
null,
|
| 552 |
null
|
| 553 |
],
|
| 554 |
+
"seconds": 46.60683405501186
|
| 555 |
},
|
| 556 |
{
|
| 557 |
"sigma": 0.06,
|
|
|
|
| 561 |
"median_first_deviation": null,
|
| 562 |
"step_exposure": 768000,
|
| 563 |
"empirical_rate_per_step": 0.0,
|
| 564 |
+
"bound_rate_per_step": 3.298499968807918e-12,
|
| 565 |
"looseness": null,
|
| 566 |
"first_deviation": [
|
| 567 |
null,
|
|
|
|
| 821 |
null,
|
| 822 |
null
|
| 823 |
],
|
| 824 |
+
"seconds": 46.58634748199256
|
| 825 |
},
|
| 826 |
{
|
| 827 |
"sigma": 0.08,
|
| 828 |
"copies": 256,
|
| 829 |
"steps": 4000,
|
| 830 |
+
"deviated": 7,
|
| 831 |
+
"median_first_deviation": 2070,
|
| 832 |
+
"step_exposure": 1008916,
|
| 833 |
+
"empirical_rate_per_step": 6.938139547791888e-06,
|
| 834 |
+
"bound_rate_per_step": 1.7225467833232754e-05,
|
| 835 |
+
"looseness": 2.4827214434905507,
|
| 836 |
"first_deviation": [
|
| 837 |
null,
|
| 838 |
null,
|
|
|
|
| 842 |
null,
|
| 843 |
null,
|
| 844 |
null,
|
| 845 |
+
2070,
|
| 846 |
null,
|
| 847 |
null,
|
| 848 |
null,
|
|
|
|
| 857 |
null,
|
| 858 |
null,
|
| 859 |
null,
|
|
|
|
| 860 |
null,
|
| 861 |
null,
|
| 862 |
null,
|
|
|
|
| 875 |
null,
|
| 876 |
null,
|
| 877 |
null,
|
|
|
|
| 878 |
null,
|
| 879 |
null,
|
| 880 |
null,
|
|
|
|
| 903 |
null,
|
| 904 |
null,
|
| 905 |
null,
|
| 906 |
+
1008,
|
| 907 |
null,
|
| 908 |
null,
|
| 909 |
null,
|
| 910 |
null,
|
|
|
|
| 911 |
null,
|
| 912 |
null,
|
| 913 |
null,
|
|
|
|
| 920 |
null,
|
| 921 |
null,
|
| 922 |
null,
|
|
|
|
| 923 |
null,
|
| 924 |
null,
|
| 925 |
null,
|
|
|
|
| 933 |
null,
|
| 934 |
null,
|
| 935 |
null,
|
| 936 |
+
null,
|
| 937 |
+
null,
|
| 938 |
+
null,
|
| 939 |
+
null,
|
| 940 |
+
null,
|
| 941 |
+
2321,
|
| 942 |
+
null,
|
| 943 |
+
null,
|
| 944 |
null,
|
| 945 |
null,
|
| 946 |
null,
|
|
|
|
| 959 |
null,
|
| 960 |
null,
|
| 961 |
null,
|
|
|
|
| 962 |
null,
|
|
|
|
| 963 |
null,
|
| 964 |
null,
|
| 965 |
null,
|
|
|
|
| 977 |
null,
|
| 978 |
null,
|
| 979 |
null,
|
|
|
|
| 980 |
null,
|
| 981 |
null,
|
| 982 |
null,
|
|
|
|
| 995 |
null,
|
| 996 |
null,
|
| 997 |
null,
|
|
|
|
| 998 |
null,
|
| 999 |
null,
|
| 1000 |
null,
|
| 1001 |
+
1086,
|
| 1002 |
null,
|
| 1003 |
+
3407,
|
| 1004 |
null,
|
| 1005 |
null,
|
| 1006 |
null,
|
|
|
|
| 1009 |
null,
|
| 1010 |
null,
|
| 1011 |
null,
|
| 1012 |
+
2894,
|
| 1013 |
null,
|
| 1014 |
null,
|
| 1015 |
null,
|
| 1016 |
+
130,
|
| 1017 |
null,
|
| 1018 |
null,
|
| 1019 |
null,
|
|
|
|
| 1036 |
null,
|
| 1037 |
null,
|
| 1038 |
null,
|
|
|
|
| 1039 |
null,
|
| 1040 |
null,
|
| 1041 |
null,
|
| 1042 |
null,
|
|
|
|
|
|
|
| 1043 |
null,
|
| 1044 |
null,
|
| 1045 |
null,
|
| 1046 |
null,
|
|
|
|
|
|
|
| 1047 |
null,
|
| 1048 |
null,
|
| 1049 |
null,
|
|
|
|
| 1051 |
null,
|
| 1052 |
null,
|
| 1053 |
null,
|
|
|
|
| 1054 |
null,
|
| 1055 |
null,
|
| 1056 |
null,
|
|
|
|
| 1065 |
null,
|
| 1066 |
null,
|
| 1067 |
null,
|
|
|
|
| 1068 |
null,
|
| 1069 |
null,
|
| 1070 |
null,
|
|
|
|
| 1072 |
null,
|
| 1073 |
null,
|
| 1074 |
null,
|
|
|
|
| 1075 |
null,
|
| 1076 |
null,
|
| 1077 |
null,
|
|
|
|
| 1079 |
null,
|
| 1080 |
null,
|
| 1081 |
null,
|
|
|
|
| 1082 |
null,
|
| 1083 |
null,
|
| 1084 |
null,
|
| 1085 |
null,
|
| 1086 |
null,
|
| 1087 |
null,
|
| 1088 |
+
null,
|
| 1089 |
+
null,
|
| 1090 |
+
null,
|
| 1091 |
+
null,
|
| 1092 |
+
null
|
| 1093 |
],
|
| 1094 |
+
"seconds": 61.79399620901677
|
| 1095 |
},
|
| 1096 |
{
|
| 1097 |
"sigma": 0.09,
|
| 1098 |
"copies": 256,
|
| 1099 |
"steps": 4000,
|
| 1100 |
+
"deviated": 202,
|
| 1101 |
+
"median_first_deviation": 1059,
|
| 1102 |
+
"step_exposure": 496131,
|
| 1103 |
+
"empirical_rate_per_step": 0.0004071505308073876,
|
| 1104 |
+
"bound_rate_per_step": 0.001161353542861366,
|
| 1105 |
+
"looseness": 2.8523935374918437,
|
| 1106 |
"first_deviation": [
|
| 1107 |
+
1318,
|
| 1108 |
+
null,
|
| 1109 |
+
null,
|
| 1110 |
+
null,
|
| 1111 |
+
510,
|
| 1112 |
+
1019,
|
| 1113 |
+
1011,
|
| 1114 |
+
797,
|
| 1115 |
+
1576,
|
| 1116 |
+
null,
|
| 1117 |
+
704,
|
| 1118 |
+
625,
|
| 1119 |
+
2943,
|
| 1120 |
+
1383,
|
| 1121 |
+
2067,
|
| 1122 |
+
883,
|
| 1123 |
+
1978,
|
| 1124 |
+
1059,
|
| 1125 |
+
null,
|
| 1126 |
+
1581,
|
| 1127 |
+
null,
|
| 1128 |
+
null,
|
| 1129 |
+
5,
|
| 1130 |
+
603,
|
| 1131 |
+
3812,
|
| 1132 |
+
1796,
|
| 1133 |
+
3578,
|
| 1134 |
+
null,
|
| 1135 |
+
3244,
|
| 1136 |
+
981,
|
| 1137 |
+
2472,
|
| 1138 |
+
null,
|
| 1139 |
+
147,
|
| 1140 |
+
338,
|
| 1141 |
+
437,
|
| 1142 |
+
295,
|
| 1143 |
+
1028,
|
| 1144 |
+
null,
|
| 1145 |
+
1865,
|
| 1146 |
+
256,
|
| 1147 |
+
2546,
|
| 1148 |
+
null,
|
| 1149 |
+
856,
|
| 1150 |
+
1968,
|
| 1151 |
+
3278,
|
| 1152 |
+
2974,
|
| 1153 |
+
2156,
|
| 1154 |
+
3087,
|
| 1155 |
+
3887,
|
| 1156 |
+
1195,
|
| 1157 |
+
null,
|
| 1158 |
+
78,
|
| 1159 |
+
922,
|
| 1160 |
+
2150,
|
| 1161 |
+
243,
|
| 1162 |
+
3366,
|
| 1163 |
+
549,
|
| 1164 |
+
966,
|
| 1165 |
+
null,
|
| 1166 |
+
null,
|
| 1167 |
+
2931,
|
| 1168 |
+
3157,
|
| 1169 |
+
null,
|
| 1170 |
+
3015,
|
| 1171 |
+
301,
|
| 1172 |
+
3475,
|
| 1173 |
+
1047,
|
| 1174 |
+
933,
|
| 1175 |
+
1504,
|
| 1176 |
+
null,
|
| 1177 |
+
null,
|
| 1178 |
+
null,
|
| 1179 |
+
1338,
|
| 1180 |
+
1297,
|
| 1181 |
+
728,
|
| 1182 |
+
83,
|
| 1183 |
+
1420,
|
| 1184 |
1127,
|
| 1185 |
+
1881,
|
| 1186 |
+
2,
|
| 1187 |
+
1714,
|
| 1188 |
+
1531,
|
| 1189 |
+
1539,
|
| 1190 |
+
1586,
|
| 1191 |
+
null,
|
| 1192 |
307,
|
| 1193 |
+
568,
|
| 1194 |
+
1458,
|
| 1195 |
+
850,
|
| 1196 |
+
143,
|
| 1197 |
+
3843,
|
| 1198 |
+
2938,
|
| 1199 |
+
2759,
|
| 1200 |
+
3339,
|
| 1201 |
+
null,
|
| 1202 |
+
16,
|
| 1203 |
+
823,
|
| 1204 |
+
1851,
|
| 1205 |
+
325,
|
| 1206 |
+
null,
|
| 1207 |
+
144,
|
| 1208 |
+
2245,
|
| 1209 |
+
null,
|
| 1210 |
366,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1211 |
null,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1212 |
null,
|
| 1213 |
+
274,
|
| 1214 |
+
571,
|
| 1215 |
+
3241,
|
| 1216 |
+
19,
|
| 1217 |
+
1047,
|
| 1218 |
+
3304,
|
| 1219 |
+
94,
|
| 1220 |
+
227,
|
| 1221 |
+
null,
|
| 1222 |
+
2426,
|
| 1223 |
+
1655,
|
| 1224 |
+
1469,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1225 |
null,
|
| 1226 |
522,
|
| 1227 |
+
662,
|
| 1228 |
+
3318,
|
| 1229 |
+
967,
|
| 1230 |
+
null,
|
| 1231 |
+
2997,
|
| 1232 |
+
null,
|
| 1233 |
+
884,
|
| 1234 |
+
3268,
|
| 1235 |
+
486,
|
| 1236 |
+
231,
|
| 1237 |
+
198,
|
| 1238 |
+
null,
|
| 1239 |
+
937,
|
| 1240 |
+
3667,
|
| 1241 |
+
1474,
|
| 1242 |
+
377,
|
| 1243 |
+
2,
|
| 1244 |
+
124,
|
| 1245 |
+
null,
|
| 1246 |
+
3694,
|
| 1247 |
+
null,
|
| 1248 |
+
296,
|
| 1249 |
+
1297,
|
| 1250 |
+
2716,
|
| 1251 |
+
1077,
|
| 1252 |
+
466,
|
| 1253 |
+
2020,
|
| 1254 |
+
101,
|
| 1255 |
+
2288,
|
| 1256 |
+
null,
|
| 1257 |
+
1383,
|
| 1258 |
+
2439,
|
| 1259 |
+
null,
|
| 1260 |
+
2549,
|
| 1261 |
+
934,
|
| 1262 |
+
652,
|
| 1263 |
+
358,
|
| 1264 |
+
189,
|
| 1265 |
+
null,
|
| 1266 |
+
780,
|
| 1267 |
+
24,
|
| 1268 |
+
1309,
|
| 1269 |
+
8,
|
| 1270 |
+
2445,
|
| 1271 |
+
1409,
|
| 1272 |
+
640,
|
| 1273 |
+
3229,
|
| 1274 |
null,
|
| 1275 |
+
1038,
|
| 1276 |
+
115,
|
| 1277 |
+
710,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1278 |
null,
|
| 1279 |
+
617,
|
| 1280 |
+
818,
|
| 1281 |
+
null,
|
| 1282 |
+
1361,
|
| 1283 |
+
1075,
|
| 1284 |
+
2229,
|
| 1285 |
+
null,
|
| 1286 |
+
1965,
|
| 1287 |
+
2051,
|
| 1288 |
+
289,
|
| 1289 |
+
null,
|
| 1290 |
+
490,
|
| 1291 |
+
null,
|
| 1292 |
+
1847,
|
| 1293 |
+
null,
|
| 1294 |
+
null,
|
| 1295 |
+
1605,
|
| 1296 |
+
3561,
|
| 1297 |
+
3531,
|
| 1298 |
+
null,
|
| 1299 |
+
111,
|
| 1300 |
+
799,
|
| 1301 |
+
1137,
|
| 1302 |
+
null,
|
| 1303 |
+
null,
|
| 1304 |
+
191,
|
| 1305 |
+
887,
|
| 1306 |
+
3672,
|
| 1307 |
+
1039,
|
| 1308 |
+
3086,
|
| 1309 |
+
2318,
|
| 1310 |
+
1080,
|
| 1311 |
+
917,
|
| 1312 |
+
2676,
|
| 1313 |
+
1205,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1314 |
866,
|
| 1315 |
+
1332,
|
| 1316 |
+
1042,
|
| 1317 |
+
13,
|
| 1318 |
+
283,
|
| 1319 |
+
1197,
|
| 1320 |
+
1,
|
| 1321 |
+
2382,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1322 |
498,
|
| 1323 |
+
1542,
|
| 1324 |
+
141,
|
| 1325 |
+
2289,
|
| 1326 |
+
3387,
|
| 1327 |
+
null,
|
| 1328 |
+
287,
|
| 1329 |
+
null,
|
| 1330 |
+
533,
|
| 1331 |
+
null,
|
| 1332 |
+
414,
|
| 1333 |
+
319,
|
| 1334 |
+
3201,
|
| 1335 |
+
941,
|
| 1336 |
+
623,
|
| 1337 |
+
null,
|
| 1338 |
+
null,
|
| 1339 |
+
null,
|
| 1340 |
+
null,
|
| 1341 |
+
678,
|
| 1342 |
+
1970,
|
| 1343 |
+
18,
|
| 1344 |
+
1947,
|
| 1345 |
+
3102,
|
| 1346 |
+
869,
|
| 1347 |
+
379,
|
| 1348 |
+
null,
|
| 1349 |
+
1489,
|
| 1350 |
+
1004,
|
| 1351 |
+
null,
|
| 1352 |
+
2866,
|
| 1353 |
+
1774,
|
| 1354 |
+
901,
|
| 1355 |
+
873,
|
| 1356 |
+
331,
|
| 1357 |
+
1600,
|
| 1358 |
+
1613,
|
| 1359 |
+
1590,
|
| 1360 |
+
841,
|
| 1361 |
+
2102,
|
| 1362 |
+
613
|
| 1363 |
],
|
| 1364 |
+
"seconds": 61.69014779900317
|
| 1365 |
},
|
| 1366 |
{
|
| 1367 |
"sigma": 0.1,
|
| 1368 |
"copies": 256,
|
| 1369 |
+
"steps": 568,
|
| 1370 |
"deviated": 256,
|
| 1371 |
+
"median_first_deviation": 78,
|
| 1372 |
+
"step_exposure": 29384,
|
| 1373 |
+
"empirical_rate_per_step": 0.00871222433977675,
|
| 1374 |
+
"bound_rate_per_step": 0.024059813034108396,
|
| 1375 |
+
"looseness": 2.761615414821254,
|
| 1376 |
"first_deviation": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1377 |
32,
|
| 1378 |
+
181,
|
| 1379 |
99,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1380 |
13,
|
| 1381 |
+
137,
|
| 1382 |
+
209,
|
| 1383 |
+
72,
|
| 1384 |
+
121,
|
| 1385 |
+
44,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1386 |
58,
|
| 1387 |
+
104,
|
| 1388 |
+
174,
|
| 1389 |
+
376,
|
| 1390 |
+
405,
|
| 1391 |
+
8,
|
| 1392 |
+
231,
|
| 1393 |
+
121,
|
| 1394 |
+
560,
|
| 1395 |
+
28,
|
| 1396 |
+
191,
|
| 1397 |
+
83,
|
| 1398 |
+
7,
|
| 1399 |
+
127,
|
| 1400 |
+
31,
|
| 1401 |
+
184,
|
| 1402 |
+
153,
|
| 1403 |
+
137,
|
| 1404 |
+
1,
|
| 1405 |
+
46,
|
| 1406 |
+
81,
|
| 1407 |
+
121,
|
| 1408 |
+
20,
|
| 1409 |
+
397,
|
| 1410 |
+
31,
|
| 1411 |
+
93,
|
| 1412 |
+
65,
|
| 1413 |
+
8,
|
| 1414 |
+
51,
|
| 1415 |
12,
|
| 1416 |
+
144,
|
| 1417 |
+
42,
|
| 1418 |
+
20,
|
| 1419 |
+
154,
|
| 1420 |
+
39,
|
| 1421 |
+
166,
|
| 1422 |
+
55,
|
| 1423 |
+
263,
|
| 1424 |
+
284,
|
| 1425 |
+
266,
|
| 1426 |
+
41,
|
| 1427 |
+
59,
|
| 1428 |
+
28,
|
| 1429 |
+
79,
|
| 1430 |
+
53,
|
| 1431 |
+
102,
|
| 1432 |
+
45,
|
| 1433 |
+
88,
|
| 1434 |
+
361,
|
| 1435 |
+
89,
|
| 1436 |
10,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1437 |
4,
|
| 1438 |
+
120,
|
| 1439 |
+
24,
|
| 1440 |
+
64,
|
| 1441 |
+
173,
|
| 1442 |
+
126,
|
| 1443 |
+
8,
|
| 1444 |
+
1,
|
| 1445 |
+
512,
|
| 1446 |
+
200,
|
| 1447 |
+
281,
|
| 1448 |
34,
|
| 1449 |
+
68,
|
|
|
|
| 1450 |
3,
|
| 1451 |
+
50,
|
| 1452 |
+
100,
|
| 1453 |
+
49,
|
| 1454 |
+
412,
|
| 1455 |
+
404,
|
| 1456 |
+
351,
|
| 1457 |
+
122,
|
| 1458 |
+
186,
|
| 1459 |
+
333,
|
| 1460 |
+
72,
|
| 1461 |
+
78,
|
| 1462 |
+
88,
|
| 1463 |
+
242,
|
| 1464 |
+
28,
|
| 1465 |
+
62,
|
| 1466 |
+
12,
|
| 1467 |
+
133,
|
| 1468 |
+
119,
|
| 1469 |
+
61,
|
| 1470 |
+
65,
|
| 1471 |
+
26,
|
| 1472 |
+
270,
|
| 1473 |
+
23,
|
| 1474 |
+
5,
|
| 1475 |
+
152,
|
| 1476 |
+
141,
|
| 1477 |
+
55,
|
| 1478 |
+
169,
|
| 1479 |
+
278,
|
| 1480 |
+
10,
|
| 1481 |
+
183,
|
| 1482 |
+
33,
|
| 1483 |
+
42,
|
| 1484 |
+
174,
|
| 1485 |
+
130,
|
| 1486 |
34,
|
| 1487 |
+
109,
|
|
|
|
|
|
|
| 1488 |
8,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1489 |
5,
|
| 1490 |
+
126,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1491 |
3,
|
| 1492 |
+
193,
|
| 1493 |
+
11,
|
| 1494 |
+
293,
|
| 1495 |
+
45,
|
| 1496 |
+
391,
|
| 1497 |
+
44,
|
| 1498 |
+
74,
|
| 1499 |
+
341,
|
| 1500 |
+
31,
|
| 1501 |
+
427,
|
| 1502 |
+
147,
|
| 1503 |
2,
|
| 1504 |
+
244,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1505 |
11,
|
| 1506 |
+
28,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1507 |
1,
|
| 1508 |
+
16,
|
| 1509 |
+
49,
|
| 1510 |
+
2,
|
| 1511 |
+
106,
|
| 1512 |
+
51,
|
| 1513 |
+
216,
|
| 1514 |
+
568,
|
| 1515 |
+
39,
|
| 1516 |
+
215,
|
| 1517 |
+
106,
|
| 1518 |
+
90,
|
| 1519 |
+
74,
|
| 1520 |
+
90,
|
| 1521 |
+
46,
|
| 1522 |
+
92,
|
| 1523 |
+
207,
|
| 1524 |
3,
|
| 1525 |
+
29,
|
| 1526 |
+
15,
|
| 1527 |
28,
|
| 1528 |
+
151,
|
| 1529 |
+
47,
|
| 1530 |
+
137,
|
| 1531 |
+
118,
|
| 1532 |
+
25,
|
| 1533 |
+
190,
|
| 1534 |
+
158,
|
| 1535 |
+
329,
|
| 1536 |
+
21,
|
| 1537 |
+
118,
|
| 1538 |
+
196,
|
| 1539 |
+
10,
|
| 1540 |
64,
|
|
|
|
|
|
|
| 1541 |
77,
|
| 1542 |
+
156,
|
| 1543 |
+
13,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1544 |
25,
|
| 1545 |
+
19,
|
| 1546 |
+
50,
|
| 1547 |
+
247,
|
| 1548 |
+
41,
|
| 1549 |
+
90,
|
| 1550 |
+
6,
|
| 1551 |
+
171,
|
| 1552 |
+
72,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1553 |
46,
|
| 1554 |
+
81,
|
| 1555 |
+
67,
|
| 1556 |
+
191,
|
| 1557 |
+
51,
|
| 1558 |
+
221,
|
| 1559 |
+
69,
|
| 1560 |
+
209,
|
| 1561 |
+
85,
|
| 1562 |
+
137,
|
| 1563 |
+
77,
|
| 1564 |
+
235,
|
| 1565 |
+
119,
|
| 1566 |
+
280,
|
| 1567 |
28,
|
| 1568 |
+
151,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1569 |
46,
|
| 1570 |
+
85,
|
| 1571 |
+
33,
|
| 1572 |
72,
|
| 1573 |
+
254,
|
| 1574 |
+
96,
|
| 1575 |
+
140,
|
| 1576 |
+
202,
|
| 1577 |
+
154,
|
| 1578 |
+
101,
|
| 1579 |
55,
|
| 1580 |
+
196,
|
| 1581 |
+
56,
|
| 1582 |
+
178,
|
| 1583 |
+
138,
|
| 1584 |
+
119,
|
| 1585 |
+
130,
|
| 1586 |
+
65,
|
| 1587 |
+
54,
|
| 1588 |
+
24,
|
| 1589 |
+
8,
|
| 1590 |
+
385,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1591 |
20,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1592 |
8,
|
| 1593 |
+
97,
|
| 1594 |
+
65,
|
| 1595 |
+
217,
|
| 1596 |
+
288,
|
| 1597 |
+
184,
|
| 1598 |
+
69,
|
| 1599 |
+
25,
|
| 1600 |
+
24,
|
| 1601 |
+
4,
|
| 1602 |
+
421,
|
| 1603 |
+
5,
|
| 1604 |
+
160,
|
| 1605 |
+
262,
|
| 1606 |
+
115,
|
| 1607 |
+
185,
|
| 1608 |
41,
|
| 1609 |
+
54,
|
| 1610 |
+
159,
|
| 1611 |
+
51,
|
| 1612 |
+
66,
|
| 1613 |
+
40,
|
| 1614 |
+
163,
|
| 1615 |
+
318,
|
| 1616 |
+
63,
|
| 1617 |
+
69,
|
| 1618 |
+
30,
|
| 1619 |
+
89,
|
| 1620 |
+
248,
|
| 1621 |
+
11,
|
| 1622 |
+
5,
|
| 1623 |
47,
|
| 1624 |
+
53,
|
| 1625 |
+
23,
|
| 1626 |
+
118,
|
| 1627 |
+
69,
|
| 1628 |
+
14,
|
| 1629 |
+
39,
|
| 1630 |
+
75,
|
| 1631 |
+
49,
|
| 1632 |
+
86
|
| 1633 |
],
|
| 1634 |
+
"seconds": 8.738715572981164
|
| 1635 |
},
|
| 1636 |
{
|
| 1637 |
"sigma": 0.11,
|
| 1638 |
"copies": 256,
|
| 1639 |
+
"steps": 71,
|
| 1640 |
"deviated": 256,
|
| 1641 |
+
"median_first_deviation": 9,
|
| 1642 |
+
"step_exposure": 3325,
|
| 1643 |
+
"empirical_rate_per_step": 0.07699248120300752,
|
| 1644 |
+
"bound_rate_per_step": 0.2300497758854446,
|
| 1645 |
+
"looseness": 2.987951190699622,
|
| 1646 |
"first_deviation": [
|
| 1647 |
+
13,
|
| 1648 |
+
16,
|
| 1649 |
+
35,
|
| 1650 |
12,
|
| 1651 |
+
4,
|
| 1652 |
+
1,
|
| 1653 |
+
20,
|
| 1654 |
+
8,
|
| 1655 |
+
18,
|
| 1656 |
+
2,
|
| 1657 |
1,
|
| 1658 |
+
6,
|
| 1659 |
+
5,
|
| 1660 |
10,
|
| 1661 |
+
22,
|
| 1662 |
+
18,
|
| 1663 |
+
17,
|
| 1664 |
+
10,
|
| 1665 |
+
5,
|
| 1666 |
+
2,
|
| 1667 |
+
16,
|
| 1668 |
+
14,
|
| 1669 |
+
52,
|
| 1670 |
+
14,
|
| 1671 |
+
29,
|
| 1672 |
+
8,
|
| 1673 |
12,
|
|
|
|
|
|
|
| 1674 |
1,
|
| 1675 |
3,
|
| 1676 |
+
55,
|
| 1677 |
+
15,
|
| 1678 |
+
7,
|
| 1679 |
+
35,
|
| 1680 |
+
18,
|
| 1681 |
6,
|
| 1682 |
+
14,
|
| 1683 |
+
8,
|
| 1684 |
+
3,
|
| 1685 |
+
10,
|
| 1686 |
2,
|
| 1687 |
+
19,
|
| 1688 |
+
16,
|
| 1689 |
+
17,
|
| 1690 |
4,
|
| 1691 |
+
49,
|
| 1692 |
+
25,
|
| 1693 |
+
15,
|
| 1694 |
2,
|
|
|
|
| 1695 |
8,
|
| 1696 |
+
7,
|
| 1697 |
9,
|
| 1698 |
+
19,
|
| 1699 |
+
8,
|
| 1700 |
18,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1701 |
4,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1702 |
13,
|
| 1703 |
1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1704 |
4,
|
| 1705 |
+
3,
|
| 1706 |
11,
|
| 1707 |
+
6,
|
| 1708 |
+
23,
|
| 1709 |
+
9,
|
| 1710 |
1,
|
| 1711 |
+
17,
|
| 1712 |
+
16,
|
| 1713 |
2,
|
| 1714 |
+
38,
|
| 1715 |
2,
|
| 1716 |
+
24,
|
| 1717 |
+
21,
|
| 1718 |
4,
|
| 1719 |
+
18,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1720 |
2,
|
| 1721 |
+
24,
|
|
|
|
|
|
|
| 1722 |
9,
|
| 1723 |
+
4,
|
| 1724 |
7,
|
| 1725 |
+
17,
|
|
|
|
|
|
|
|
|
|
| 1726 |
6,
|
| 1727 |
+
15,
|
| 1728 |
3,
|
| 1729 |
2,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1730 |
3,
|
| 1731 |
6,
|
| 1732 |
+
10,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1733 |
7,
|
| 1734 |
+
7,
|
| 1735 |
+
3,
|
| 1736 |
+
5,
|
| 1737 |
+
27,
|
|
|
|
|
|
|
| 1738 |
2,
|
| 1739 |
+
16,
|
| 1740 |
+
14,
|
| 1741 |
+
13,
|
| 1742 |
+
3,
|
| 1743 |
17,
|
| 1744 |
+
9,
|
| 1745 |
+
19,
|
| 1746 |
+
9,
|
| 1747 |
+
17,
|
| 1748 |
+
9,
|
| 1749 |
+
3,
|
| 1750 |
8,
|
| 1751 |
+
13,
|
| 1752 |
+
9,
|
|
|
|
| 1753 |
7,
|
|
|
|
| 1754 |
1,
|
| 1755 |
+
7,
|
| 1756 |
10,
|
| 1757 |
+
40,
|
| 1758 |
+
9,
|
| 1759 |
3,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1760 |
4,
|
| 1761 |
+
17,
|
| 1762 |
3,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1763 |
9,
|
| 1764 |
2,
|
| 1765 |
+
14,
|
| 1766 |
7,
|
| 1767 |
+
11,
|
| 1768 |
+
11,
|
| 1769 |
3,
|
| 1770 |
+
14,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1771 |
5,
|
|
|
|
| 1772 |
1,
|
| 1773 |
+
21,
|
| 1774 |
+
12,
|
| 1775 |
+
23,
|
| 1776 |
+
4,
|
| 1777 |
+
19,
|
| 1778 |
8,
|
| 1779 |
+
21,
|
| 1780 |
8,
|
|
|
|
| 1781 |
1,
|
|
|
|
|
|
|
| 1782 |
1,
|
| 1783 |
1,
|
| 1784 |
+
12,
|
| 1785 |
+
47,
|
| 1786 |
+
19,
|
| 1787 |
+
7,
|
|
|
|
|
|
|
| 1788 |
4,
|
|
|
|
| 1789 |
2,
|
| 1790 |
+
27,
|
| 1791 |
+
15,
|
|
|
|
| 1792 |
5,
|
| 1793 |
+
19,
|
| 1794 |
+
24,
|
| 1795 |
+
26,
|
| 1796 |
+
14,
|
| 1797 |
+
3,
|
| 1798 |
+
3,
|
| 1799 |
+
5,
|
| 1800 |
+
9,
|
| 1801 |
+
6,
|
| 1802 |
4,
|
| 1803 |
+
3,
|
| 1804 |
+
5,
|
| 1805 |
2,
|
| 1806 |
1,
|
| 1807 |
+
9,
|
| 1808 |
+
11,
|
| 1809 |
+
9,
|
| 1810 |
3,
|
| 1811 |
+
31,
|
| 1812 |
2,
|
| 1813 |
+
15,
|
| 1814 |
+
16,
|
| 1815 |
3,
|
|
|
|
|
|
|
| 1816 |
1,
|
| 1817 |
+
17,
|
| 1818 |
13,
|
|
|
|
| 1819 |
5,
|
|
|
|
|
|
|
| 1820 |
6,
|
| 1821 |
4,
|
| 1822 |
+
67,
|
| 1823 |
+
40,
|
|
|
|
|
|
|
| 1824 |
4,
|
| 1825 |
+
12,
|
| 1826 |
+
10,
|
| 1827 |
21,
|
| 1828 |
+
71,
|
| 1829 |
+
8,
|
| 1830 |
+
27,
|
| 1831 |
1,
|
| 1832 |
+
37,
|
| 1833 |
+
3,
|
| 1834 |
+
24,
|
| 1835 |
+
11,
|
| 1836 |
3,
|
| 1837 |
1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1838 |
9,
|
| 1839 |
+
7,
|
|
|
|
|
|
|
|
|
|
| 1840 |
4,
|
|
|
|
| 1841 |
1,
|
| 1842 |
+
27,
|
| 1843 |
+
25,
|
| 1844 |
2,
|
| 1845 |
+
44,
|
| 1846 |
+
10,
|
|
|
|
|
|
|
| 1847 |
8,
|
| 1848 |
8,
|
| 1849 |
+
11,
|
| 1850 |
5,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1851 |
7,
|
| 1852 |
+
32,
|
| 1853 |
1,
|
| 1854 |
+
19,
|
| 1855 |
+
10,
|
| 1856 |
+
3,
|
| 1857 |
+
36,
|
| 1858 |
+
5,
|
| 1859 |
4,
|
|
|
|
| 1860 |
3,
|
| 1861 |
2,
|
| 1862 |
+
14,
|
| 1863 |
+
30,
|
| 1864 |
4,
|
| 1865 |
+
22,
|
| 1866 |
+
11,
|
| 1867 |
+
52,
|
| 1868 |
+
33,
|
| 1869 |
3,
|
| 1870 |
+
19,
|
| 1871 |
+
1,
|
| 1872 |
+
14,
|
| 1873 |
+
28,
|
| 1874 |
+
1,
|
| 1875 |
+
6,
|
| 1876 |
+
11,
|
| 1877 |
+
32,
|
| 1878 |
+
4,
|
| 1879 |
+
22,
|
| 1880 |
+
2,
|
| 1881 |
+
57,
|
| 1882 |
+
11,
|
| 1883 |
+
38,
|
| 1884 |
+
8,
|
| 1885 |
+
17,
|
| 1886 |
+
5,
|
| 1887 |
+
10,
|
| 1888 |
+
13,
|
| 1889 |
2,
|
| 1890 |
+
25,
|
| 1891 |
+
24,
|
| 1892 |
8,
|
| 1893 |
1,
|
| 1894 |
+
27,
|
| 1895 |
+
11,
|
| 1896 |
2,
|
| 1897 |
+
21,
|
| 1898 |
2,
|
| 1899 |
+
11,
|
| 1900 |
+
69,
|
| 1901 |
+
1,
|
| 1902 |
+
28
|
| 1903 |
],
|
| 1904 |
+
"seconds": 1.0889100350032095
|
| 1905 |
},
|
| 1906 |
{
|
| 1907 |
"sigma": 0.12,
|
| 1908 |
"copies": 256,
|
| 1909 |
+
"steps": 12,
|
| 1910 |
"deviated": 256,
|
| 1911 |
+
"median_first_deviation": 2,
|
| 1912 |
+
"step_exposure": 714,
|
| 1913 |
+
"empirical_rate_per_step": 0.3585434173669468,
|
| 1914 |
+
"bound_rate_per_step": 1.2971409545186365,
|
| 1915 |
+
"looseness": 3.6178071934621348,
|
| 1916 |
"first_deviation": [
|
| 1917 |
1,
|
|
|
|
| 1918 |
3,
|
| 1919 |
+
2,
|
| 1920 |
+
4,
|
| 1921 |
1,
|
| 1922 |
3,
|
|
|
|
| 1923 |
2,
|
| 1924 |
2,
|
| 1925 |
+
7,
|
| 1926 |
+
3,
|
| 1927 |
2,
|
| 1928 |
+
8,
|
| 1929 |
+
4,
|
|
|
|
| 1930 |
2,
|
| 1931 |
+
2,
|
| 1932 |
+
2,
|
| 1933 |
+
2,
|
| 1934 |
+
4,
|
| 1935 |
1,
|
| 1936 |
+
7,
|
| 1937 |
+
4,
|
| 1938 |
+
2,
|
| 1939 |
+
4,
|
| 1940 |
+
2,
|
| 1941 |
+
4,
|
| 1942 |
+
2,
|
| 1943 |
2,
|
| 1944 |
1,
|
| 1945 |
3,
|
|
|
|
|
|
|
| 1946 |
2,
|
| 1947 |
2,
|
| 1948 |
+
4,
|
| 1949 |
1,
|
| 1950 |
+
3,
|
| 1951 |
+
9,
|
| 1952 |
+
4,
|
| 1953 |
2,
|
| 1954 |
+
5,
|
| 1955 |
1,
|
| 1956 |
+
3,
|
| 1957 |
+
8,
|
| 1958 |
1,
|
| 1959 |
+
4,
|
| 1960 |
+
6,
|
| 1961 |
1,
|
| 1962 |
1,
|
| 1963 |
+
4,
|
|
|
|
|
|
|
|
|
|
| 1964 |
2,
|
|
|
|
| 1965 |
3,
|
|
|
|
| 1966 |
3,
|
|
|
|
| 1967 |
3,
|
| 1968 |
1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1969 |
2,
|
|
|
|
|
|
|
| 1970 |
2,
|
| 1971 |
1,
|
| 1972 |
2,
|
| 1973 |
1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1974 |
3,
|
| 1975 |
1,
|
| 1976 |
1,
|
| 1977 |
+
2,
|
| 1978 |
+
3,
|
| 1979 |
+
4,
|
| 1980 |
+
4,
|
| 1981 |
+
2,
|
| 1982 |
+
2,
|
| 1983 |
+
3,
|
| 1984 |
+
5,
|
| 1985 |
+
2,
|
| 1986 |
+
4,
|
| 1987 |
1,
|
| 1988 |
+
9,
|
| 1989 |
1,
|
| 1990 |
+
4,
|
| 1991 |
1,
|
| 1992 |
+
4,
|
| 1993 |
1,
|
| 1994 |
1,
|
| 1995 |
+
3,
|
| 1996 |
1,
|
| 1997 |
+
4,
|
| 1998 |
+
3,
|
| 1999 |
+
4,
|
| 2000 |
+
2,
|
| 2001 |
+
6,
|
| 2002 |
1,
|
| 2003 |
1,
|
| 2004 |
+
3,
|
| 2005 |
1,
|
| 2006 |
2,
|
| 2007 |
+
3,
|
| 2008 |
2,
|
| 2009 |
1,
|
| 2010 |
+
3,
|
| 2011 |
+
2,
|
| 2012 |
+
4,
|
| 2013 |
+
2,
|
| 2014 |
1,
|
| 2015 |
+
2,
|
| 2016 |
+
2,
|
| 2017 |
3,
|
| 2018 |
1,
|
| 2019 |
1,
|
| 2020 |
+
3,
|
| 2021 |
2,
|
| 2022 |
+
5,
|
| 2023 |
1,
|
|
|
|
| 2024 |
1,
|
| 2025 |
1,
|
| 2026 |
+
10,
|
| 2027 |
1,
|
| 2028 |
2,
|
| 2029 |
+
3,
|
| 2030 |
+
2,
|
| 2031 |
+
2,
|
| 2032 |
+
4,
|
| 2033 |
+
3,
|
| 2034 |
1,
|
| 2035 |
1,
|
| 2036 |
1,
|
| 2037 |
+
2,
|
| 2038 |
1,
|
| 2039 |
2,
|
| 2040 |
+
3,
|
| 2041 |
1,
|
| 2042 |
+
2,
|
| 2043 |
1,
|
| 2044 |
+
7,
|
| 2045 |
1,
|
| 2046 |
3,
|
| 2047 |
+
5,
|
| 2048 |
+
3,
|
| 2049 |
7,
|
| 2050 |
+
3,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2051 |
2,
|
| 2052 |
1,
|
| 2053 |
1,
|
| 2054 |
+
2,
|
| 2055 |
+
3,
|
| 2056 |
+
3,
|
| 2057 |
1,
|
| 2058 |
+
5,
|
| 2059 |
1,
|
| 2060 |
+
2,
|
| 2061 |
1,
|
| 2062 |
1,
|
| 2063 |
1,
|
| 2064 |
1,
|
| 2065 |
1,
|
| 2066 |
+
5,
|
| 2067 |
+
6,
|
| 2068 |
1,
|
| 2069 |
2,
|
| 2070 |
+
3,
|
| 2071 |
+
3,
|
| 2072 |
3,
|
| 2073 |
1,
|
| 2074 |
2,
|
| 2075 |
1,
|
| 2076 |
3,
|
|
|
|
|
|
|
|
|
|
| 2077 |
1,
|
| 2078 |
2,
|
| 2079 |
+
3,
|
| 2080 |
2,
|
| 2081 |
+
7,
|
|
|
|
|
|
|
| 2082 |
1,
|
| 2083 |
+
4,
|
| 2084 |
1,
|
| 2085 |
2,
|
|
|
|
| 2086 |
1,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2087 |
2,
|
| 2088 |
1,
|
| 2089 |
+
3,
|
| 2090 |
1,
|
| 2091 |
1,
|
| 2092 |
+
5,
|
| 2093 |
2,
|
|
|
|
|
|
|
| 2094 |
2,
|
| 2095 |
+
6,
|
| 2096 |
+
1,
|
| 2097 |
2,
|
| 2098 |
+
3,
|
| 2099 |
+
4,
|
| 2100 |
2,
|
| 2101 |
1,
|
| 2102 |
1,
|
| 2103 |
+
5,
|
| 2104 |
1,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2105 |
2,
|
| 2106 |
+
5,
|
| 2107 |
+
12,
|
| 2108 |
1,
|
| 2109 |
4,
|
| 2110 |
+
4,
|
|
|
|
| 2111 |
1,
|
| 2112 |
2,
|
| 2113 |
+
3,
|
| 2114 |
+
3,
|
| 2115 |
+
11,
|
| 2116 |
+
5,
|
| 2117 |
1,
|
| 2118 |
1,
|
| 2119 |
+
7,
|
| 2120 |
3,
|
| 2121 |
1,
|
| 2122 |
+
3,
|
| 2123 |
+
6,
|
| 2124 |
+
8,
|
| 2125 |
+
4,
|
| 2126 |
+
4,
|
| 2127 |
1,
|
| 2128 |
+
7,
|
| 2129 |
+
5,
|
| 2130 |
+
3,
|
| 2131 |
2,
|
|
|
|
|
|
|
|
|
|
| 2132 |
2,
|
| 2133 |
1,
|
| 2134 |
+
9,
|
| 2135 |
1,
|
| 2136 |
+
9,
|
| 2137 |
+
8,
|
| 2138 |
2,
|
|
|
|
| 2139 |
2,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2140 |
3,
|
| 2141 |
+
2,
|
| 2142 |
2,
|
| 2143 |
1,
|
| 2144 |
3,
|
| 2145 |
1,
|
| 2146 |
1,
|
|
|
|
| 2147 |
1,
|
| 2148 |
3,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2149 |
2,
|
| 2150 |
+
6,
|
| 2151 |
+
3,
|
| 2152 |
3,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2153 |
4,
|
| 2154 |
1,
|
| 2155 |
+
2,
|
| 2156 |
+
9,
|
| 2157 |
3,
|
| 2158 |
1,
|
| 2159 |
1,
|
|
|
|
| 2160 |
2,
|
| 2161 |
+
3,
|
| 2162 |
1,
|
| 2163 |
2,
|
|
|
|
| 2164 |
2,
|
| 2165 |
+
3,
|
| 2166 |
+
3,
|
| 2167 |
+
3,
|
| 2168 |
2,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2169 |
3,
|
|
|
|
| 2170 |
2,
|
| 2171 |
+
2,
|
|
|
|
|
|
|
| 2172 |
1
|
| 2173 |
],
|
| 2174 |
+
"seconds": 0.18059197199181654
|
| 2175 |
},
|
| 2176 |
{
|
| 2177 |
"sigma": 0.15,
|
|
|
|
| 2181 |
"median_first_deviation": 1,
|
| 2182 |
"step_exposure": 256,
|
| 2183 |
"empirical_rate_per_step": 1.0,
|
| 2184 |
+
"bound_rate_per_step": 36.01275000654335,
|
| 2185 |
+
"looseness": 36.01275000654335,
|
| 2186 |
"first_deviation": [
|
| 2187 |
1,
|
| 2188 |
1,
|
|
|
|
| 2441 |
1,
|
| 2442 |
1
|
| 2443 |
],
|
| 2444 |
+
"seconds": 0.01255840400699526
|
| 2445 |
},
|
| 2446 |
{
|
| 2447 |
"sigma": 0.2,
|
|
|
|
| 2451 |
"median_first_deviation": 1,
|
| 2452 |
"step_exposure": 256,
|
| 2453 |
"empirical_rate_per_step": 1.0,
|
| 2454 |
+
"bound_rate_per_step": 521.2020494536948,
|
| 2455 |
+
"looseness": 521.2020494536948,
|
| 2456 |
"first_deviation": [
|
| 2457 |
1,
|
| 2458 |
1,
|
|
|
|
| 2711 |
1,
|
| 2712 |
1
|
| 2713 |
],
|
| 2714 |
+
"seconds": 0.01062744899536483
|
| 2715 |
}
|
| 2716 |
]
|
| 2717 |
}
|
paper/runs/paper_noise_leak.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
| 1 |
{
|
| 2 |
-
"M":
|
| 3 |
-
"widest_layer":
|
| 4 |
"largest_fanin": 256,
|
| 5 |
-
"gamma_star": 6.
|
| 6 |
"steps": 10000,
|
| 7 |
"rows": [
|
| 8 |
{
|
|
@@ -12,88 +12,88 @@
|
|
| 12 |
"certified_by_corollary": true,
|
| 13 |
"first_deviation": null,
|
| 14 |
"steps": 10000,
|
| 15 |
-
"bytes":
|
| 16 |
-
"seconds":
|
| 17 |
},
|
| 18 |
{
|
| 19 |
"epsilon": 0.0,
|
| 20 |
-
"gamma": 3.
|
| 21 |
"worst_bound": 0.25,
|
| 22 |
"certified_by_corollary": true,
|
| 23 |
"first_deviation": null,
|
| 24 |
"steps": 10000,
|
| 25 |
-
"bytes":
|
| 26 |
-
"seconds":
|
| 27 |
},
|
| 28 |
{
|
| 29 |
"epsilon": 0.0,
|
| 30 |
-
"gamma": 5.
|
| 31 |
-
"worst_bound": 0.
|
| 32 |
"certified_by_corollary": true,
|
| 33 |
"first_deviation": null,
|
| 34 |
"steps": 10000,
|
| 35 |
-
"bytes":
|
| 36 |
-
"seconds":
|
| 37 |
},
|
| 38 |
{
|
| 39 |
"epsilon": 0.0,
|
| 40 |
-
"gamma": 9.
|
| 41 |
"worst_bound": 0.75,
|
| 42 |
"certified_by_corollary": false,
|
| 43 |
"first_deviation": null,
|
| 44 |
"steps": 10000,
|
| 45 |
-
"bytes":
|
| 46 |
-
"seconds":
|
| 47 |
},
|
| 48 |
{
|
| 49 |
"epsilon": 0.0,
|
| 50 |
-
"gamma": 0.
|
| 51 |
"worst_bound": 2.0,
|
| 52 |
"certified_by_corollary": false,
|
| 53 |
"first_deviation": null,
|
| 54 |
"steps": 10000,
|
| 55 |
-
"bytes":
|
| 56 |
-
"seconds":
|
| 57 |
},
|
| 58 |
{
|
| 59 |
"epsilon": 0.0,
|
| 60 |
-
"gamma": 0.
|
| 61 |
"worst_bound": 8.0,
|
| 62 |
"certified_by_corollary": false,
|
| 63 |
"first_deviation": null,
|
| 64 |
"steps": 10000,
|
| 65 |
-
"bytes":
|
| 66 |
-
"seconds":
|
| 67 |
},
|
| 68 |
{
|
| 69 |
"epsilon": 0.0,
|
| 70 |
-
"gamma": 0.
|
| 71 |
"worst_bound": 32.0,
|
| 72 |
"certified_by_corollary": false,
|
| 73 |
"first_deviation": null,
|
| 74 |
"steps": 10000,
|
| 75 |
-
"bytes":
|
| 76 |
-
"seconds":
|
| 77 |
},
|
| 78 |
{
|
| 79 |
"epsilon": 0.0,
|
| 80 |
-
"gamma": 0.
|
| 81 |
"worst_bound": 128.0,
|
| 82 |
"certified_by_corollary": false,
|
| 83 |
"first_deviation": 1,
|
| 84 |
"steps": 1,
|
| 85 |
"bytes": 0,
|
| 86 |
-
"seconds": 0.
|
| 87 |
},
|
| 88 |
{
|
| 89 |
"epsilon": 0.0009765625,
|
| 90 |
-
"gamma": 1.
|
| 91 |
-
"worst_bound": 0.
|
| 92 |
"certified_by_corollary": true,
|
| 93 |
"first_deviation": null,
|
| 94 |
"steps": 10000,
|
| 95 |
-
"bytes":
|
| 96 |
-
"seconds":
|
| 97 |
},
|
| 98 |
{
|
| 99 |
"epsilon": 0.001953125,
|
|
@@ -102,8 +102,8 @@
|
|
| 102 |
"certified_by_corollary": false,
|
| 103 |
"first_deviation": null,
|
| 104 |
"steps": 10000,
|
| 105 |
-
"bytes":
|
| 106 |
-
"seconds":
|
| 107 |
},
|
| 108 |
{
|
| 109 |
"epsilon": 0.00390625,
|
|
@@ -112,8 +112,8 @@
|
|
| 112 |
"certified_by_corollary": false,
|
| 113 |
"first_deviation": null,
|
| 114 |
"steps": 10000,
|
| 115 |
-
"bytes":
|
| 116 |
-
"seconds":
|
| 117 |
},
|
| 118 |
{
|
| 119 |
"epsilon": 0.015625,
|
|
@@ -122,8 +122,8 @@
|
|
| 122 |
"certified_by_corollary": false,
|
| 123 |
"first_deviation": null,
|
| 124 |
"steps": 10000,
|
| 125 |
-
"bytes":
|
| 126 |
-
"seconds":
|
| 127 |
},
|
| 128 |
{
|
| 129 |
"epsilon": 0.0625,
|
|
@@ -132,18 +132,18 @@
|
|
| 132 |
"certified_by_corollary": false,
|
| 133 |
"first_deviation": null,
|
| 134 |
"steps": 10000,
|
| 135 |
-
"bytes":
|
| 136 |
-
"seconds":
|
| 137 |
},
|
| 138 |
{
|
| 139 |
"epsilon": 0.25,
|
| 140 |
"gamma": 0.0,
|
| 141 |
"worst_bound": 64.0,
|
| 142 |
"certified_by_corollary": false,
|
| 143 |
-
"first_deviation":
|
| 144 |
-
"steps":
|
| 145 |
"bytes": 0,
|
| 146 |
-
"seconds": 0.
|
| 147 |
}
|
| 148 |
]
|
| 149 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"M": 41967,
|
| 3 |
+
"widest_layer": 8210,
|
| 4 |
"largest_fanin": 256,
|
| 5 |
+
"gamma_star": 6.090875867949811e-05,
|
| 6 |
"steps": 10000,
|
| 7 |
"rows": [
|
| 8 |
{
|
|
|
|
| 12 |
"certified_by_corollary": true,
|
| 13 |
"first_deviation": null,
|
| 14 |
"steps": 10000,
|
| 15 |
+
"bytes": 1971,
|
| 16 |
+
"seconds": 54.57657353000832
|
| 17 |
},
|
| 18 |
{
|
| 19 |
"epsilon": 0.0,
|
| 20 |
+
"gamma": 3.0454379339749056e-05,
|
| 21 |
"worst_bound": 0.25,
|
| 22 |
"certified_by_corollary": true,
|
| 23 |
"first_deviation": null,
|
| 24 |
"steps": 10000,
|
| 25 |
+
"bytes": 1971,
|
| 26 |
+
"seconds": 55.0811748909764
|
| 27 |
},
|
| 28 |
{
|
| 29 |
"epsilon": 0.0,
|
| 30 |
+
"gamma": 5.4817882811548304e-05,
|
| 31 |
+
"worst_bound": 0.45000001788139343,
|
| 32 |
"certified_by_corollary": true,
|
| 33 |
"first_deviation": null,
|
| 34 |
"steps": 10000,
|
| 35 |
+
"bytes": 1971,
|
| 36 |
+
"seconds": 55.177396277023945
|
| 37 |
},
|
| 38 |
{
|
| 39 |
"epsilon": 0.0,
|
| 40 |
+
"gamma": 9.136313801924717e-05,
|
| 41 |
"worst_bound": 0.75,
|
| 42 |
"certified_by_corollary": false,
|
| 43 |
"first_deviation": null,
|
| 44 |
"steps": 10000,
|
| 45 |
+
"bytes": 1971,
|
| 46 |
+
"seconds": 55.193315256008646
|
| 47 |
},
|
| 48 |
{
|
| 49 |
"epsilon": 0.0,
|
| 50 |
+
"gamma": 0.00024363503471799245,
|
| 51 |
"worst_bound": 2.0,
|
| 52 |
"certified_by_corollary": false,
|
| 53 |
"first_deviation": null,
|
| 54 |
"steps": 10000,
|
| 55 |
+
"bytes": 1971,
|
| 56 |
+
"seconds": 55.23367518899613
|
| 57 |
},
|
| 58 |
{
|
| 59 |
"epsilon": 0.0,
|
| 60 |
+
"gamma": 0.0009745401388719698,
|
| 61 |
"worst_bound": 8.0,
|
| 62 |
"certified_by_corollary": false,
|
| 63 |
"first_deviation": null,
|
| 64 |
"steps": 10000,
|
| 65 |
+
"bytes": 1971,
|
| 66 |
+
"seconds": 55.3521386559878
|
| 67 |
},
|
| 68 |
{
|
| 69 |
"epsilon": 0.0,
|
| 70 |
+
"gamma": 0.003898160555487879,
|
| 71 |
"worst_bound": 32.0,
|
| 72 |
"certified_by_corollary": false,
|
| 73 |
"first_deviation": null,
|
| 74 |
"steps": 10000,
|
| 75 |
+
"bytes": 1971,
|
| 76 |
+
"seconds": 55.28627192400745
|
| 77 |
},
|
| 78 |
{
|
| 79 |
"epsilon": 0.0,
|
| 80 |
+
"gamma": 0.015592642221951517,
|
| 81 |
"worst_bound": 128.0,
|
| 82 |
"certified_by_corollary": false,
|
| 83 |
"first_deviation": 1,
|
| 84 |
"steps": 1,
|
| 85 |
"bytes": 0,
|
| 86 |
+
"seconds": 0.06148931500501931
|
| 87 |
},
|
| 88 |
{
|
| 89 |
"epsilon": 0.0009765625,
|
| 90 |
+
"gamma": 1.5227189669874528e-05,
|
| 91 |
+
"worst_bound": 0.3711170554161072,
|
| 92 |
"certified_by_corollary": true,
|
| 93 |
"first_deviation": null,
|
| 94 |
"steps": 10000,
|
| 95 |
+
"bytes": 1971,
|
| 96 |
+
"seconds": 55.26582065099501
|
| 97 |
},
|
| 98 |
{
|
| 99 |
"epsilon": 0.001953125,
|
|
|
|
| 102 |
"certified_by_corollary": false,
|
| 103 |
"first_deviation": null,
|
| 104 |
"steps": 10000,
|
| 105 |
+
"bytes": 1971,
|
| 106 |
+
"seconds": 54.63976289497805
|
| 107 |
},
|
| 108 |
{
|
| 109 |
"epsilon": 0.00390625,
|
|
|
|
| 112 |
"certified_by_corollary": false,
|
| 113 |
"first_deviation": null,
|
| 114 |
"steps": 10000,
|
| 115 |
+
"bytes": 1971,
|
| 116 |
+
"seconds": 54.65488711200305
|
| 117 |
},
|
| 118 |
{
|
| 119 |
"epsilon": 0.015625,
|
|
|
|
| 122 |
"certified_by_corollary": false,
|
| 123 |
"first_deviation": null,
|
| 124 |
"steps": 10000,
|
| 125 |
+
"bytes": 1971,
|
| 126 |
+
"seconds": 54.657152735977434
|
| 127 |
},
|
| 128 |
{
|
| 129 |
"epsilon": 0.0625,
|
|
|
|
| 132 |
"certified_by_corollary": false,
|
| 133 |
"first_deviation": null,
|
| 134 |
"steps": 10000,
|
| 135 |
+
"bytes": 1971,
|
| 136 |
+
"seconds": 54.68002699298086
|
| 137 |
},
|
| 138 |
{
|
| 139 |
"epsilon": 0.25,
|
| 140 |
"gamma": 0.0,
|
| 141 |
"worst_bound": 64.0,
|
| 142 |
"certified_by_corollary": false,
|
| 143 |
+
"first_deviation": 3,
|
| 144 |
+
"steps": 3,
|
| 145 |
"bytes": 0,
|
| 146 |
+
"seconds": 0.07300862300326116
|
| 147 |
}
|
| 148 |
]
|
| 149 |
}
|
paper/runs/paper_noise_margin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
{
|
| 2 |
"states": 800,
|
| 3 |
-
"steps":
|
| 4 |
-
"layers":
|
| 5 |
"min_margin": 0.5,
|
| 6 |
"max_noninteger": 0.0
|
| 7 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"states": 800,
|
| 3 |
+
"steps": 1664939,
|
| 4 |
+
"layers": 13,
|
| 5 |
"min_margin": 0.5,
|
| 6 |
"max_noninteger": 0.0
|
| 7 |
}
|
paper/runs/paper_noise_omega.json
CHANGED
|
@@ -1,46 +1,46 @@
|
|
| 1 |
{
|
| 2 |
-
"M":
|
| 3 |
-
"target_bytes":
|
| 4 |
"rows": [
|
| 5 |
{
|
| 6 |
"sigma": 0.05,
|
| 7 |
-
"steps":
|
| 8 |
-
"bytes":
|
| 9 |
"complete": true,
|
| 10 |
"first_wrong_byte": null,
|
| 11 |
"halted": true,
|
| 12 |
-
"seconds":
|
| 13 |
-
"bound":
|
| 14 |
},
|
| 15 |
{
|
| 16 |
"sigma": 0.1,
|
| 17 |
-
"steps":
|
| 18 |
-
"bytes":
|
| 19 |
"complete": false,
|
| 20 |
-
"first_wrong_byte":
|
| 21 |
-
"halted":
|
| 22 |
-
"seconds":
|
| 23 |
-
"bound":
|
| 24 |
},
|
| 25 |
{
|
| 26 |
"sigma": 0.15,
|
| 27 |
-
"steps":
|
| 28 |
"bytes": 0,
|
| 29 |
"complete": false,
|
| 30 |
"first_wrong_byte": null,
|
| 31 |
"halted": true,
|
| 32 |
-
"seconds": 0.
|
| 33 |
-
"bound":
|
| 34 |
},
|
| 35 |
{
|
| 36 |
"sigma": 0.2,
|
| 37 |
-
"steps":
|
| 38 |
-
"bytes":
|
| 39 |
"complete": false,
|
| 40 |
-
"first_wrong_byte":
|
| 41 |
-
"halted":
|
| 42 |
-
"seconds": 0.
|
| 43 |
-
"bound":
|
| 44 |
}
|
| 45 |
]
|
| 46 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"M": 41967,
|
| 3 |
+
"target_bytes": 305508,
|
| 4 |
"rows": [
|
| 5 |
{
|
| 6 |
"sigma": 0.05,
|
| 7 |
+
"steps": 1664939,
|
| 8 |
+
"bytes": 305508,
|
| 9 |
"complete": true,
|
| 10 |
"first_wrong_byte": null,
|
| 11 |
"halted": true,
|
| 12 |
+
"seconds": 7486.099872618011,
|
| 13 |
+
"bound": 1.0648362848609219e-12
|
| 14 |
},
|
| 15 |
{
|
| 16 |
"sigma": 0.1,
|
| 17 |
+
"steps": 10517,
|
| 18 |
+
"bytes": 143,
|
| 19 |
"complete": false,
|
| 20 |
+
"first_wrong_byte": null,
|
| 21 |
+
"halted": true,
|
| 22 |
+
"seconds": 29.52936617299565,
|
| 23 |
+
"bound": 253.03705367971799
|
| 24 |
},
|
| 25 |
{
|
| 26 |
"sigma": 0.15,
|
| 27 |
+
"steps": 135,
|
| 28 |
"bytes": 0,
|
| 29 |
"complete": false,
|
| 30 |
"first_wrong_byte": null,
|
| 31 |
"halted": true,
|
| 32 |
+
"seconds": 0.379520524002146,
|
| 33 |
+
"bound": 4861.721250883352
|
| 34 |
},
|
| 35 |
{
|
| 36 |
"sigma": 0.2,
|
| 37 |
+
"steps": 2,
|
| 38 |
+
"bytes": 0,
|
| 39 |
"complete": false,
|
| 40 |
+
"first_wrong_byte": null,
|
| 41 |
+
"halted": true,
|
| 42 |
+
"seconds": 0.005625108984531835,
|
| 43 |
+
"bound": 1042.4040989073897
|
| 44 |
}
|
| 45 |
]
|
| 46 |
}
|
paper/runs/paper_noise_profile.json
CHANGED
|
@@ -1,26 +1,32 @@
|
|
| 1 |
{
|
| 2 |
"steps": 4000,
|
| 3 |
-
"M":
|
| 4 |
"rows_per_step_at": {
|
| 5 |
-
"-3":
|
| 6 |
-
"-2":
|
| 7 |
-
"-1":
|
| 8 |
-
"0":
|
| 9 |
-
"1":
|
| 10 |
-
"2": 0.
|
| 11 |
},
|
| 12 |
-
"fraction_at_half": 0.
|
| 13 |
"histogram_per_step": {
|
| 14 |
-
"-8": 3.
|
| 15 |
-
"-7":
|
| 16 |
-
"-6":
|
| 17 |
-
"-5":
|
| 18 |
-
"-4":
|
| 19 |
-
"-3":
|
| 20 |
-
"-2":
|
| 21 |
-
"-1":
|
| 22 |
-
"0":
|
| 23 |
-
"1":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
},
|
| 25 |
"rows": [
|
| 26 |
{
|
|
@@ -28,10 +34,10 @@
|
|
| 28 |
"measured": 0.0,
|
| 29 |
"deviated": 0,
|
| 30 |
"exposure": 768000,
|
| 31 |
-
"bound_prop":
|
| 32 |
-
"bound_profile_mean":
|
| 33 |
-
"bound_profile_exposure":
|
| 34 |
-
"expected_deviations_bound":
|
| 35 |
"ratio_profile": null
|
| 36 |
},
|
| 37 |
{
|
|
@@ -39,10 +45,10 @@
|
|
| 39 |
"measured": 0.0,
|
| 40 |
"deviated": 0,
|
| 41 |
"exposure": 768000,
|
| 42 |
-
"bound_prop":
|
| 43 |
-
"bound_profile_mean":
|
| 44 |
-
"bound_profile_exposure":
|
| 45 |
-
"expected_deviations_bound":
|
| 46 |
"ratio_profile": null
|
| 47 |
},
|
| 48 |
{
|
|
@@ -50,88 +56,88 @@
|
|
| 50 |
"measured": 0.0,
|
| 51 |
"deviated": 0,
|
| 52 |
"exposure": 768000,
|
| 53 |
-
"bound_prop":
|
| 54 |
-
"bound_profile_mean":
|
| 55 |
-
"bound_profile_exposure":
|
| 56 |
-
"expected_deviations_bound":
|
| 57 |
"ratio_profile": null
|
| 58 |
},
|
| 59 |
{
|
| 60 |
"sigma": 0.08,
|
| 61 |
-
"measured":
|
| 62 |
-
"deviated":
|
| 63 |
-
"exposure":
|
| 64 |
-
"bound_prop":
|
| 65 |
-
"bound_profile_mean":
|
| 66 |
-
"bound_profile_exposure":
|
| 67 |
-
"expected_deviations_bound":
|
| 68 |
-
"ratio_profile": 0.
|
| 69 |
},
|
| 70 |
{
|
| 71 |
"sigma": 0.09,
|
| 72 |
-
"measured": 0.
|
| 73 |
-
"deviated":
|
| 74 |
-
"exposure":
|
| 75 |
-
"bound_prop": 0.
|
| 76 |
-
"bound_profile_mean": 0.
|
| 77 |
-
"bound_profile_exposure": 0.
|
| 78 |
-
"expected_deviations_bound":
|
| 79 |
-
"ratio_profile": 1.
|
| 80 |
},
|
| 81 |
{
|
| 82 |
"sigma": 0.1,
|
| 83 |
-
"measured": 0.
|
| 84 |
"deviated": 256,
|
| 85 |
-
"exposure":
|
| 86 |
-
"bound_prop": 0.
|
| 87 |
-
"bound_profile_mean": 0.
|
| 88 |
-
"bound_profile_exposure": 0.
|
| 89 |
-
"expected_deviations_bound":
|
| 90 |
-
"ratio_profile": 1.
|
| 91 |
},
|
| 92 |
{
|
| 93 |
"sigma": 0.11,
|
| 94 |
-
"measured": 0.
|
| 95 |
"deviated": 256,
|
| 96 |
-
"exposure":
|
| 97 |
-
"bound_prop": 0.
|
| 98 |
-
"bound_profile_mean": 0.
|
| 99 |
-
"bound_profile_exposure": 0.
|
| 100 |
-
"expected_deviations_bound":
|
| 101 |
-
"ratio_profile": 1.
|
| 102 |
},
|
| 103 |
{
|
| 104 |
"sigma": 0.12,
|
| 105 |
-
"measured": 0.
|
| 106 |
"deviated": 256,
|
| 107 |
-
"exposure":
|
| 108 |
-
"bound_prop":
|
| 109 |
-
"bound_profile_mean":
|
| 110 |
-
"bound_profile_exposure":
|
| 111 |
-
"expected_deviations_bound":
|
| 112 |
-
"ratio_profile": 1.
|
| 113 |
},
|
| 114 |
{
|
| 115 |
"sigma": 0.15,
|
| 116 |
"measured": 1.0,
|
| 117 |
"deviated": 256,
|
| 118 |
"exposure": 256,
|
| 119 |
-
"bound_prop":
|
| 120 |
-
"bound_profile_mean":
|
| 121 |
-
"bound_profile_exposure":
|
| 122 |
-
"expected_deviations_bound":
|
| 123 |
-
"ratio_profile":
|
| 124 |
},
|
| 125 |
{
|
| 126 |
"sigma": 0.2,
|
| 127 |
"measured": 1.0,
|
| 128 |
"deviated": 256,
|
| 129 |
"exposure": 256,
|
| 130 |
-
"bound_prop":
|
| 131 |
-
"bound_profile_mean":
|
| 132 |
-
"bound_profile_exposure":
|
| 133 |
-
"expected_deviations_bound":
|
| 134 |
-
"ratio_profile":
|
| 135 |
}
|
| 136 |
]
|
| 137 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"steps": 4000,
|
| 3 |
+
"M": 41967,
|
| 4 |
"rows_per_step_at": {
|
| 5 |
+
"-3": 175.93775,
|
| 6 |
+
"-2": 10395.665,
|
| 7 |
+
"-1": 26825.1435,
|
| 8 |
+
"0": 4065.61925,
|
| 9 |
+
"1": 4.18475,
|
| 10 |
+
"2": 0.766
|
| 11 |
},
|
| 12 |
+
"fraction_at_half": 0.736072694021493,
|
| 13 |
"histogram_per_step": {
|
| 14 |
+
"-8": 3.79425,
|
| 15 |
+
"-7": 25.197,
|
| 16 |
+
"-6": 86.14875,
|
| 17 |
+
"-5": 170.611,
|
| 18 |
+
"-4": 213.70375,
|
| 19 |
+
"-3": 175.93775,
|
| 20 |
+
"-2": 10395.665,
|
| 21 |
+
"-1": 26825.1435,
|
| 22 |
+
"0": 4065.61925,
|
| 23 |
+
"1": 4.18475,
|
| 24 |
+
"2": 0.766,
|
| 25 |
+
"3": 0.146,
|
| 26 |
+
"4": 0.06075,
|
| 27 |
+
"5": 0.017,
|
| 28 |
+
"6": 0.0035,
|
| 29 |
+
"7": 0.00175
|
| 30 |
},
|
| 31 |
"rows": [
|
| 32 |
{
|
|
|
|
| 34 |
"measured": 0.0,
|
| 35 |
"deviated": 0,
|
| 36 |
"exposure": 768000,
|
| 37 |
+
"bound_prop": 2.5656078135354018e-133,
|
| 38 |
+
"bound_profile_mean": 9.442369275557977e-134,
|
| 39 |
+
"bound_profile_exposure": 9.442771918931676e-134,
|
| 40 |
+
"expected_deviations_bound": 7.252048833739527e-128,
|
| 41 |
"ratio_profile": null
|
| 42 |
},
|
| 43 |
{
|
|
|
|
| 45 |
"measured": 0.0,
|
| 46 |
"deviated": 0,
|
| 47 |
"exposure": 768000,
|
| 48 |
+
"bound_prop": 3.132890518620101e-31,
|
| 49 |
+
"bound_profile_mean": 1.1530175820575453e-31,
|
| 50 |
+
"bound_profile_exposure": 1.1530667492607755e-31,
|
| 51 |
+
"expected_deviations_bound": 8.855552634322756e-26,
|
| 52 |
"ratio_profile": null
|
| 53 |
},
|
| 54 |
{
|
|
|
|
| 56 |
"measured": 0.0,
|
| 57 |
"deviated": 0,
|
| 58 |
"exposure": 768000,
|
| 59 |
+
"bound_prop": 3.298499968807918e-12,
|
| 60 |
+
"bound_profile_mean": 1.2139678791351146e-12,
|
| 61 |
+
"bound_profile_exposure": 1.2140196453929234e-12,
|
| 62 |
+
"expected_deviations_bound": 9.323670876617651e-07,
|
| 63 |
"ratio_profile": null
|
| 64 |
},
|
| 65 |
{
|
| 66 |
"sigma": 0.08,
|
| 67 |
+
"measured": 6.938139547791888e-06,
|
| 68 |
+
"deviated": 7,
|
| 69 |
+
"exposure": 1008916,
|
| 70 |
+
"bound_prop": 1.7225467833232754e-05,
|
| 71 |
+
"bound_profile_mean": 6.3395982568941024e-06,
|
| 72 |
+
"bound_profile_exposure": 6.339601579706114e-06,
|
| 73 |
+
"expected_deviations_bound": 6.396125467390774,
|
| 74 |
+
"ratio_profile": 0.9137322096272533
|
| 75 |
},
|
| 76 |
{
|
| 77 |
"sigma": 0.09,
|
| 78 |
+
"measured": 0.0004071505308073876,
|
| 79 |
+
"deviated": 202,
|
| 80 |
+
"exposure": 496131,
|
| 81 |
+
"bound_prop": 0.001161353542861366,
|
| 82 |
+
"bound_profile_mean": 0.0004274203155026871,
|
| 83 |
+
"bound_profile_exposure": 0.00042742506695134133,
|
| 84 |
+
"expected_deviations_bound": 212.05882589163593,
|
| 85 |
+
"ratio_profile": 1.0497961677803758
|
| 86 |
},
|
| 87 |
{
|
| 88 |
"sigma": 0.1,
|
| 89 |
+
"measured": 0.00871222433977675,
|
| 90 |
"deviated": 256,
|
| 91 |
+
"exposure": 29384,
|
| 92 |
+
"bound_prop": 0.024059813034108396,
|
| 93 |
+
"bound_profile_mean": 0.008854885698834775,
|
| 94 |
+
"bound_profile_exposure": 0.008846609711240041,
|
| 95 |
+
"expected_deviations_bound": 259.94877975507734,
|
| 96 |
+
"ratio_profile": 1.0154249209182709
|
| 97 |
},
|
| 98 |
{
|
| 99 |
"sigma": 0.11,
|
| 100 |
+
"measured": 0.07699248120300752,
|
| 101 |
"deviated": 256,
|
| 102 |
+
"exposure": 3325,
|
| 103 |
+
"bound_prop": 0.2300497758854446,
|
| 104 |
+
"bound_profile_mean": 0.08466667914751995,
|
| 105 |
+
"bound_profile_exposure": 0.08417590851485214,
|
| 106 |
+
"expected_deviations_bound": 279.8848958118834,
|
| 107 |
+
"ratio_profile": 1.0933003742651695
|
| 108 |
},
|
| 109 |
{
|
| 110 |
"sigma": 0.12,
|
| 111 |
+
"measured": 0.3585434173669468,
|
| 112 |
"deviated": 256,
|
| 113 |
+
"exposure": 714,
|
| 114 |
+
"bound_prop": 1.2971409545186365,
|
| 115 |
+
"bound_profile_mean": 0.47739501845907056,
|
| 116 |
+
"bound_profile_exposure": 0.473077066189727,
|
| 117 |
+
"expected_deviations_bound": 337.77702525946506,
|
| 118 |
+
"ratio_profile": 1.3194415049197854
|
| 119 |
},
|
| 120 |
{
|
| 121 |
"sigma": 0.15,
|
| 122 |
"measured": 1.0,
|
| 123 |
"deviated": 256,
|
| 124 |
"exposure": 256,
|
| 125 |
+
"bound_prop": 36.01275000654335,
|
| 126 |
+
"bound_profile_mean": 13.25400095821945,
|
| 127 |
+
"bound_profile_exposure": 13.037856344852248,
|
| 128 |
+
"expected_deviations_bound": 3337.6912242821754,
|
| 129 |
+
"ratio_profile": 13.037856344852248
|
| 130 |
},
|
| 131 |
{
|
| 132 |
"sigma": 0.2,
|
| 133 |
"measured": 1.0,
|
| 134 |
"deviated": 256,
|
| 135 |
"exposure": 256,
|
| 136 |
+
"bound_prop": 521.2020494536948,
|
| 137 |
+
"bound_profile_mean": 191.821298335784,
|
| 138 |
+
"bound_profile_exposure": 188.69310025470807,
|
| 139 |
+
"expected_deviations_bound": 48305.433665205266,
|
| 140 |
+
"ratio_profile": 188.69310025470807
|
| 141 |
}
|
| 142 |
]
|
| 143 |
}
|
paper/runs/paper_redundant_curve_r3.json
ADDED
|
@@ -0,0 +1,2718 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"r": 3,
|
| 3 |
+
"M": 125901,
|
| 4 |
+
"grid": [
|
| 5 |
+
0.06,
|
| 6 |
+
0.12,
|
| 7 |
+
0.18,
|
| 8 |
+
0.24,
|
| 9 |
+
0.27,
|
| 10 |
+
0.3,
|
| 11 |
+
0.33,
|
| 12 |
+
0.36,
|
| 13 |
+
0.45,
|
| 14 |
+
0.6
|
| 15 |
+
],
|
| 16 |
+
"rows": [
|
| 17 |
+
{
|
| 18 |
+
"sigma": 0.06,
|
| 19 |
+
"copies": 256,
|
| 20 |
+
"steps": 3000,
|
| 21 |
+
"deviated": 0,
|
| 22 |
+
"median_first_deviation": null,
|
| 23 |
+
"step_exposure": 768000,
|
| 24 |
+
"empirical_rate_per_step": 0.0,
|
| 25 |
+
"bound_tail_per_step": 7.696823440605238e-133,
|
| 26 |
+
"bound_profile_per_step": 2.832710782667393e-133,
|
| 27 |
+
"first_deviation": [
|
| 28 |
+
null,
|
| 29 |
+
null,
|
| 30 |
+
null,
|
| 31 |
+
null,
|
| 32 |
+
null,
|
| 33 |
+
null,
|
| 34 |
+
null,
|
| 35 |
+
null,
|
| 36 |
+
null,
|
| 37 |
+
null,
|
| 38 |
+
null,
|
| 39 |
+
null,
|
| 40 |
+
null,
|
| 41 |
+
null,
|
| 42 |
+
null,
|
| 43 |
+
null,
|
| 44 |
+
null,
|
| 45 |
+
null,
|
| 46 |
+
null,
|
| 47 |
+
null,
|
| 48 |
+
null,
|
| 49 |
+
null,
|
| 50 |
+
null,
|
| 51 |
+
null,
|
| 52 |
+
null,
|
| 53 |
+
null,
|
| 54 |
+
null,
|
| 55 |
+
null,
|
| 56 |
+
null,
|
| 57 |
+
null,
|
| 58 |
+
null,
|
| 59 |
+
null,
|
| 60 |
+
null,
|
| 61 |
+
null,
|
| 62 |
+
null,
|
| 63 |
+
null,
|
| 64 |
+
null,
|
| 65 |
+
null,
|
| 66 |
+
null,
|
| 67 |
+
null,
|
| 68 |
+
null,
|
| 69 |
+
null,
|
| 70 |
+
null,
|
| 71 |
+
null,
|
| 72 |
+
null,
|
| 73 |
+
null,
|
| 74 |
+
null,
|
| 75 |
+
null,
|
| 76 |
+
null,
|
| 77 |
+
null,
|
| 78 |
+
null,
|
| 79 |
+
null,
|
| 80 |
+
null,
|
| 81 |
+
null,
|
| 82 |
+
null,
|
| 83 |
+
null,
|
| 84 |
+
null,
|
| 85 |
+
null,
|
| 86 |
+
null,
|
| 87 |
+
null,
|
| 88 |
+
null,
|
| 89 |
+
null,
|
| 90 |
+
null,
|
| 91 |
+
null,
|
| 92 |
+
null,
|
| 93 |
+
null,
|
| 94 |
+
null,
|
| 95 |
+
null,
|
| 96 |
+
null,
|
| 97 |
+
null,
|
| 98 |
+
null,
|
| 99 |
+
null,
|
| 100 |
+
null,
|
| 101 |
+
null,
|
| 102 |
+
null,
|
| 103 |
+
null,
|
| 104 |
+
null,
|
| 105 |
+
null,
|
| 106 |
+
null,
|
| 107 |
+
null,
|
| 108 |
+
null,
|
| 109 |
+
null,
|
| 110 |
+
null,
|
| 111 |
+
null,
|
| 112 |
+
null,
|
| 113 |
+
null,
|
| 114 |
+
null,
|
| 115 |
+
null,
|
| 116 |
+
null,
|
| 117 |
+
null,
|
| 118 |
+
null,
|
| 119 |
+
null,
|
| 120 |
+
null,
|
| 121 |
+
null,
|
| 122 |
+
null,
|
| 123 |
+
null,
|
| 124 |
+
null,
|
| 125 |
+
null,
|
| 126 |
+
null,
|
| 127 |
+
null,
|
| 128 |
+
null,
|
| 129 |
+
null,
|
| 130 |
+
null,
|
| 131 |
+
null,
|
| 132 |
+
null,
|
| 133 |
+
null,
|
| 134 |
+
null,
|
| 135 |
+
null,
|
| 136 |
+
null,
|
| 137 |
+
null,
|
| 138 |
+
null,
|
| 139 |
+
null,
|
| 140 |
+
null,
|
| 141 |
+
null,
|
| 142 |
+
null,
|
| 143 |
+
null,
|
| 144 |
+
null,
|
| 145 |
+
null,
|
| 146 |
+
null,
|
| 147 |
+
null,
|
| 148 |
+
null,
|
| 149 |
+
null,
|
| 150 |
+
null,
|
| 151 |
+
null,
|
| 152 |
+
null,
|
| 153 |
+
null,
|
| 154 |
+
null,
|
| 155 |
+
null,
|
| 156 |
+
null,
|
| 157 |
+
null,
|
| 158 |
+
null,
|
| 159 |
+
null,
|
| 160 |
+
null,
|
| 161 |
+
null,
|
| 162 |
+
null,
|
| 163 |
+
null,
|
| 164 |
+
null,
|
| 165 |
+
null,
|
| 166 |
+
null,
|
| 167 |
+
null,
|
| 168 |
+
null,
|
| 169 |
+
null,
|
| 170 |
+
null,
|
| 171 |
+
null,
|
| 172 |
+
null,
|
| 173 |
+
null,
|
| 174 |
+
null,
|
| 175 |
+
null,
|
| 176 |
+
null,
|
| 177 |
+
null,
|
| 178 |
+
null,
|
| 179 |
+
null,
|
| 180 |
+
null,
|
| 181 |
+
null,
|
| 182 |
+
null,
|
| 183 |
+
null,
|
| 184 |
+
null,
|
| 185 |
+
null,
|
| 186 |
+
null,
|
| 187 |
+
null,
|
| 188 |
+
null,
|
| 189 |
+
null,
|
| 190 |
+
null,
|
| 191 |
+
null,
|
| 192 |
+
null,
|
| 193 |
+
null,
|
| 194 |
+
null,
|
| 195 |
+
null,
|
| 196 |
+
null,
|
| 197 |
+
null,
|
| 198 |
+
null,
|
| 199 |
+
null,
|
| 200 |
+
null,
|
| 201 |
+
null,
|
| 202 |
+
null,
|
| 203 |
+
null,
|
| 204 |
+
null,
|
| 205 |
+
null,
|
| 206 |
+
null,
|
| 207 |
+
null,
|
| 208 |
+
null,
|
| 209 |
+
null,
|
| 210 |
+
null,
|
| 211 |
+
null,
|
| 212 |
+
null,
|
| 213 |
+
null,
|
| 214 |
+
null,
|
| 215 |
+
null,
|
| 216 |
+
null,
|
| 217 |
+
null,
|
| 218 |
+
null,
|
| 219 |
+
null,
|
| 220 |
+
null,
|
| 221 |
+
null,
|
| 222 |
+
null,
|
| 223 |
+
null,
|
| 224 |
+
null,
|
| 225 |
+
null,
|
| 226 |
+
null,
|
| 227 |
+
null,
|
| 228 |
+
null,
|
| 229 |
+
null,
|
| 230 |
+
null,
|
| 231 |
+
null,
|
| 232 |
+
null,
|
| 233 |
+
null,
|
| 234 |
+
null,
|
| 235 |
+
null,
|
| 236 |
+
null,
|
| 237 |
+
null,
|
| 238 |
+
null,
|
| 239 |
+
null,
|
| 240 |
+
null,
|
| 241 |
+
null,
|
| 242 |
+
null,
|
| 243 |
+
null,
|
| 244 |
+
null,
|
| 245 |
+
null,
|
| 246 |
+
null,
|
| 247 |
+
null,
|
| 248 |
+
null,
|
| 249 |
+
null,
|
| 250 |
+
null,
|
| 251 |
+
null,
|
| 252 |
+
null,
|
| 253 |
+
null,
|
| 254 |
+
null,
|
| 255 |
+
null,
|
| 256 |
+
null,
|
| 257 |
+
null,
|
| 258 |
+
null,
|
| 259 |
+
null,
|
| 260 |
+
null,
|
| 261 |
+
null,
|
| 262 |
+
null,
|
| 263 |
+
null,
|
| 264 |
+
null,
|
| 265 |
+
null,
|
| 266 |
+
null,
|
| 267 |
+
null,
|
| 268 |
+
null,
|
| 269 |
+
null,
|
| 270 |
+
null,
|
| 271 |
+
null,
|
| 272 |
+
null,
|
| 273 |
+
null,
|
| 274 |
+
null,
|
| 275 |
+
null,
|
| 276 |
+
null,
|
| 277 |
+
null,
|
| 278 |
+
null,
|
| 279 |
+
null,
|
| 280 |
+
null,
|
| 281 |
+
null,
|
| 282 |
+
null,
|
| 283 |
+
null
|
| 284 |
+
],
|
| 285 |
+
"seconds": 144.019176983973
|
| 286 |
+
},
|
| 287 |
+
{
|
| 288 |
+
"sigma": 0.12,
|
| 289 |
+
"copies": 256,
|
| 290 |
+
"steps": 3000,
|
| 291 |
+
"deviated": 0,
|
| 292 |
+
"median_first_deviation": null,
|
| 293 |
+
"step_exposure": 768000,
|
| 294 |
+
"empirical_rate_per_step": 0.0,
|
| 295 |
+
"bound_tail_per_step": 9.398671555860006e-31,
|
| 296 |
+
"bound_profile_per_step": 3.459052746172635e-31,
|
| 297 |
+
"first_deviation": [
|
| 298 |
+
null,
|
| 299 |
+
null,
|
| 300 |
+
null,
|
| 301 |
+
null,
|
| 302 |
+
null,
|
| 303 |
+
null,
|
| 304 |
+
null,
|
| 305 |
+
null,
|
| 306 |
+
null,
|
| 307 |
+
null,
|
| 308 |
+
null,
|
| 309 |
+
null,
|
| 310 |
+
null,
|
| 311 |
+
null,
|
| 312 |
+
null,
|
| 313 |
+
null,
|
| 314 |
+
null,
|
| 315 |
+
null,
|
| 316 |
+
null,
|
| 317 |
+
null,
|
| 318 |
+
null,
|
| 319 |
+
null,
|
| 320 |
+
null,
|
| 321 |
+
null,
|
| 322 |
+
null,
|
| 323 |
+
null,
|
| 324 |
+
null,
|
| 325 |
+
null,
|
| 326 |
+
null,
|
| 327 |
+
null,
|
| 328 |
+
null,
|
| 329 |
+
null,
|
| 330 |
+
null,
|
| 331 |
+
null,
|
| 332 |
+
null,
|
| 333 |
+
null,
|
| 334 |
+
null,
|
| 335 |
+
null,
|
| 336 |
+
null,
|
| 337 |
+
null,
|
| 338 |
+
null,
|
| 339 |
+
null,
|
| 340 |
+
null,
|
| 341 |
+
null,
|
| 342 |
+
null,
|
| 343 |
+
null,
|
| 344 |
+
null,
|
| 345 |
+
null,
|
| 346 |
+
null,
|
| 347 |
+
null,
|
| 348 |
+
null,
|
| 349 |
+
null,
|
| 350 |
+
null,
|
| 351 |
+
null,
|
| 352 |
+
null,
|
| 353 |
+
null,
|
| 354 |
+
null,
|
| 355 |
+
null,
|
| 356 |
+
null,
|
| 357 |
+
null,
|
| 358 |
+
null,
|
| 359 |
+
null,
|
| 360 |
+
null,
|
| 361 |
+
null,
|
| 362 |
+
null,
|
| 363 |
+
null,
|
| 364 |
+
null,
|
| 365 |
+
null,
|
| 366 |
+
null,
|
| 367 |
+
null,
|
| 368 |
+
null,
|
| 369 |
+
null,
|
| 370 |
+
null,
|
| 371 |
+
null,
|
| 372 |
+
null,
|
| 373 |
+
null,
|
| 374 |
+
null,
|
| 375 |
+
null,
|
| 376 |
+
null,
|
| 377 |
+
null,
|
| 378 |
+
null,
|
| 379 |
+
null,
|
| 380 |
+
null,
|
| 381 |
+
null,
|
| 382 |
+
null,
|
| 383 |
+
null,
|
| 384 |
+
null,
|
| 385 |
+
null,
|
| 386 |
+
null,
|
| 387 |
+
null,
|
| 388 |
+
null,
|
| 389 |
+
null,
|
| 390 |
+
null,
|
| 391 |
+
null,
|
| 392 |
+
null,
|
| 393 |
+
null,
|
| 394 |
+
null,
|
| 395 |
+
null,
|
| 396 |
+
null,
|
| 397 |
+
null,
|
| 398 |
+
null,
|
| 399 |
+
null,
|
| 400 |
+
null,
|
| 401 |
+
null,
|
| 402 |
+
null,
|
| 403 |
+
null,
|
| 404 |
+
null,
|
| 405 |
+
null,
|
| 406 |
+
null,
|
| 407 |
+
null,
|
| 408 |
+
null,
|
| 409 |
+
null,
|
| 410 |
+
null,
|
| 411 |
+
null,
|
| 412 |
+
null,
|
| 413 |
+
null,
|
| 414 |
+
null,
|
| 415 |
+
null,
|
| 416 |
+
null,
|
| 417 |
+
null,
|
| 418 |
+
null,
|
| 419 |
+
null,
|
| 420 |
+
null,
|
| 421 |
+
null,
|
| 422 |
+
null,
|
| 423 |
+
null,
|
| 424 |
+
null,
|
| 425 |
+
null,
|
| 426 |
+
null,
|
| 427 |
+
null,
|
| 428 |
+
null,
|
| 429 |
+
null,
|
| 430 |
+
null,
|
| 431 |
+
null,
|
| 432 |
+
null,
|
| 433 |
+
null,
|
| 434 |
+
null,
|
| 435 |
+
null,
|
| 436 |
+
null,
|
| 437 |
+
null,
|
| 438 |
+
null,
|
| 439 |
+
null,
|
| 440 |
+
null,
|
| 441 |
+
null,
|
| 442 |
+
null,
|
| 443 |
+
null,
|
| 444 |
+
null,
|
| 445 |
+
null,
|
| 446 |
+
null,
|
| 447 |
+
null,
|
| 448 |
+
null,
|
| 449 |
+
null,
|
| 450 |
+
null,
|
| 451 |
+
null,
|
| 452 |
+
null,
|
| 453 |
+
null,
|
| 454 |
+
null,
|
| 455 |
+
null,
|
| 456 |
+
null,
|
| 457 |
+
null,
|
| 458 |
+
null,
|
| 459 |
+
null,
|
| 460 |
+
null,
|
| 461 |
+
null,
|
| 462 |
+
null,
|
| 463 |
+
null,
|
| 464 |
+
null,
|
| 465 |
+
null,
|
| 466 |
+
null,
|
| 467 |
+
null,
|
| 468 |
+
null,
|
| 469 |
+
null,
|
| 470 |
+
null,
|
| 471 |
+
null,
|
| 472 |
+
null,
|
| 473 |
+
null,
|
| 474 |
+
null,
|
| 475 |
+
null,
|
| 476 |
+
null,
|
| 477 |
+
null,
|
| 478 |
+
null,
|
| 479 |
+
null,
|
| 480 |
+
null,
|
| 481 |
+
null,
|
| 482 |
+
null,
|
| 483 |
+
null,
|
| 484 |
+
null,
|
| 485 |
+
null,
|
| 486 |
+
null,
|
| 487 |
+
null,
|
| 488 |
+
null,
|
| 489 |
+
null,
|
| 490 |
+
null,
|
| 491 |
+
null,
|
| 492 |
+
null,
|
| 493 |
+
null,
|
| 494 |
+
null,
|
| 495 |
+
null,
|
| 496 |
+
null,
|
| 497 |
+
null,
|
| 498 |
+
null,
|
| 499 |
+
null,
|
| 500 |
+
null,
|
| 501 |
+
null,
|
| 502 |
+
null,
|
| 503 |
+
null,
|
| 504 |
+
null,
|
| 505 |
+
null,
|
| 506 |
+
null,
|
| 507 |
+
null,
|
| 508 |
+
null,
|
| 509 |
+
null,
|
| 510 |
+
null,
|
| 511 |
+
null,
|
| 512 |
+
null,
|
| 513 |
+
null,
|
| 514 |
+
null,
|
| 515 |
+
null,
|
| 516 |
+
null,
|
| 517 |
+
null,
|
| 518 |
+
null,
|
| 519 |
+
null,
|
| 520 |
+
null,
|
| 521 |
+
null,
|
| 522 |
+
null,
|
| 523 |
+
null,
|
| 524 |
+
null,
|
| 525 |
+
null,
|
| 526 |
+
null,
|
| 527 |
+
null,
|
| 528 |
+
null,
|
| 529 |
+
null,
|
| 530 |
+
null,
|
| 531 |
+
null,
|
| 532 |
+
null,
|
| 533 |
+
null,
|
| 534 |
+
null,
|
| 535 |
+
null,
|
| 536 |
+
null,
|
| 537 |
+
null,
|
| 538 |
+
null,
|
| 539 |
+
null,
|
| 540 |
+
null,
|
| 541 |
+
null,
|
| 542 |
+
null,
|
| 543 |
+
null,
|
| 544 |
+
null,
|
| 545 |
+
null,
|
| 546 |
+
null,
|
| 547 |
+
null,
|
| 548 |
+
null,
|
| 549 |
+
null,
|
| 550 |
+
null,
|
| 551 |
+
null,
|
| 552 |
+
null,
|
| 553 |
+
null
|
| 554 |
+
],
|
| 555 |
+
"seconds": 155.27243064899812
|
| 556 |
+
},
|
| 557 |
+
{
|
| 558 |
+
"sigma": 0.18,
|
| 559 |
+
"copies": 256,
|
| 560 |
+
"steps": 3000,
|
| 561 |
+
"deviated": 0,
|
| 562 |
+
"median_first_deviation": null,
|
| 563 |
+
"step_exposure": 768000,
|
| 564 |
+
"empirical_rate_per_step": 0.0,
|
| 565 |
+
"bound_tail_per_step": 9.895499906423648e-12,
|
| 566 |
+
"bound_profile_per_step": 3.641903637405343e-12,
|
| 567 |
+
"first_deviation": [
|
| 568 |
+
null,
|
| 569 |
+
null,
|
| 570 |
+
null,
|
| 571 |
+
null,
|
| 572 |
+
null,
|
| 573 |
+
null,
|
| 574 |
+
null,
|
| 575 |
+
null,
|
| 576 |
+
null,
|
| 577 |
+
null,
|
| 578 |
+
null,
|
| 579 |
+
null,
|
| 580 |
+
null,
|
| 581 |
+
null,
|
| 582 |
+
null,
|
| 583 |
+
null,
|
| 584 |
+
null,
|
| 585 |
+
null,
|
| 586 |
+
null,
|
| 587 |
+
null,
|
| 588 |
+
null,
|
| 589 |
+
null,
|
| 590 |
+
null,
|
| 591 |
+
null,
|
| 592 |
+
null,
|
| 593 |
+
null,
|
| 594 |
+
null,
|
| 595 |
+
null,
|
| 596 |
+
null,
|
| 597 |
+
null,
|
| 598 |
+
null,
|
| 599 |
+
null,
|
| 600 |
+
null,
|
| 601 |
+
null,
|
| 602 |
+
null,
|
| 603 |
+
null,
|
| 604 |
+
null,
|
| 605 |
+
null,
|
| 606 |
+
null,
|
| 607 |
+
null,
|
| 608 |
+
null,
|
| 609 |
+
null,
|
| 610 |
+
null,
|
| 611 |
+
null,
|
| 612 |
+
null,
|
| 613 |
+
null,
|
| 614 |
+
null,
|
| 615 |
+
null,
|
| 616 |
+
null,
|
| 617 |
+
null,
|
| 618 |
+
null,
|
| 619 |
+
null,
|
| 620 |
+
null,
|
| 621 |
+
null,
|
| 622 |
+
null,
|
| 623 |
+
null,
|
| 624 |
+
null,
|
| 625 |
+
null,
|
| 626 |
+
null,
|
| 627 |
+
null,
|
| 628 |
+
null,
|
| 629 |
+
null,
|
| 630 |
+
null,
|
| 631 |
+
null,
|
| 632 |
+
null,
|
| 633 |
+
null,
|
| 634 |
+
null,
|
| 635 |
+
null,
|
| 636 |
+
null,
|
| 637 |
+
null,
|
| 638 |
+
null,
|
| 639 |
+
null,
|
| 640 |
+
null,
|
| 641 |
+
null,
|
| 642 |
+
null,
|
| 643 |
+
null,
|
| 644 |
+
null,
|
| 645 |
+
null,
|
| 646 |
+
null,
|
| 647 |
+
null,
|
| 648 |
+
null,
|
| 649 |
+
null,
|
| 650 |
+
null,
|
| 651 |
+
null,
|
| 652 |
+
null,
|
| 653 |
+
null,
|
| 654 |
+
null,
|
| 655 |
+
null,
|
| 656 |
+
null,
|
| 657 |
+
null,
|
| 658 |
+
null,
|
| 659 |
+
null,
|
| 660 |
+
null,
|
| 661 |
+
null,
|
| 662 |
+
null,
|
| 663 |
+
null,
|
| 664 |
+
null,
|
| 665 |
+
null,
|
| 666 |
+
null,
|
| 667 |
+
null,
|
| 668 |
+
null,
|
| 669 |
+
null,
|
| 670 |
+
null,
|
| 671 |
+
null,
|
| 672 |
+
null,
|
| 673 |
+
null,
|
| 674 |
+
null,
|
| 675 |
+
null,
|
| 676 |
+
null,
|
| 677 |
+
null,
|
| 678 |
+
null,
|
| 679 |
+
null,
|
| 680 |
+
null,
|
| 681 |
+
null,
|
| 682 |
+
null,
|
| 683 |
+
null,
|
| 684 |
+
null,
|
| 685 |
+
null,
|
| 686 |
+
null,
|
| 687 |
+
null,
|
| 688 |
+
null,
|
| 689 |
+
null,
|
| 690 |
+
null,
|
| 691 |
+
null,
|
| 692 |
+
null,
|
| 693 |
+
null,
|
| 694 |
+
null,
|
| 695 |
+
null,
|
| 696 |
+
null,
|
| 697 |
+
null,
|
| 698 |
+
null,
|
| 699 |
+
null,
|
| 700 |
+
null,
|
| 701 |
+
null,
|
| 702 |
+
null,
|
| 703 |
+
null,
|
| 704 |
+
null,
|
| 705 |
+
null,
|
| 706 |
+
null,
|
| 707 |
+
null,
|
| 708 |
+
null,
|
| 709 |
+
null,
|
| 710 |
+
null,
|
| 711 |
+
null,
|
| 712 |
+
null,
|
| 713 |
+
null,
|
| 714 |
+
null,
|
| 715 |
+
null,
|
| 716 |
+
null,
|
| 717 |
+
null,
|
| 718 |
+
null,
|
| 719 |
+
null,
|
| 720 |
+
null,
|
| 721 |
+
null,
|
| 722 |
+
null,
|
| 723 |
+
null,
|
| 724 |
+
null,
|
| 725 |
+
null,
|
| 726 |
+
null,
|
| 727 |
+
null,
|
| 728 |
+
null,
|
| 729 |
+
null,
|
| 730 |
+
null,
|
| 731 |
+
null,
|
| 732 |
+
null,
|
| 733 |
+
null,
|
| 734 |
+
null,
|
| 735 |
+
null,
|
| 736 |
+
null,
|
| 737 |
+
null,
|
| 738 |
+
null,
|
| 739 |
+
null,
|
| 740 |
+
null,
|
| 741 |
+
null,
|
| 742 |
+
null,
|
| 743 |
+
null,
|
| 744 |
+
null,
|
| 745 |
+
null,
|
| 746 |
+
null,
|
| 747 |
+
null,
|
| 748 |
+
null,
|
| 749 |
+
null,
|
| 750 |
+
null,
|
| 751 |
+
null,
|
| 752 |
+
null,
|
| 753 |
+
null,
|
| 754 |
+
null,
|
| 755 |
+
null,
|
| 756 |
+
null,
|
| 757 |
+
null,
|
| 758 |
+
null,
|
| 759 |
+
null,
|
| 760 |
+
null,
|
| 761 |
+
null,
|
| 762 |
+
null,
|
| 763 |
+
null,
|
| 764 |
+
null,
|
| 765 |
+
null,
|
| 766 |
+
null,
|
| 767 |
+
null,
|
| 768 |
+
null,
|
| 769 |
+
null,
|
| 770 |
+
null,
|
| 771 |
+
null,
|
| 772 |
+
null,
|
| 773 |
+
null,
|
| 774 |
+
null,
|
| 775 |
+
null,
|
| 776 |
+
null,
|
| 777 |
+
null,
|
| 778 |
+
null,
|
| 779 |
+
null,
|
| 780 |
+
null,
|
| 781 |
+
null,
|
| 782 |
+
null,
|
| 783 |
+
null,
|
| 784 |
+
null,
|
| 785 |
+
null,
|
| 786 |
+
null,
|
| 787 |
+
null,
|
| 788 |
+
null,
|
| 789 |
+
null,
|
| 790 |
+
null,
|
| 791 |
+
null,
|
| 792 |
+
null,
|
| 793 |
+
null,
|
| 794 |
+
null,
|
| 795 |
+
null,
|
| 796 |
+
null,
|
| 797 |
+
null,
|
| 798 |
+
null,
|
| 799 |
+
null,
|
| 800 |
+
null,
|
| 801 |
+
null,
|
| 802 |
+
null,
|
| 803 |
+
null,
|
| 804 |
+
null,
|
| 805 |
+
null,
|
| 806 |
+
null,
|
| 807 |
+
null,
|
| 808 |
+
null,
|
| 809 |
+
null,
|
| 810 |
+
null,
|
| 811 |
+
null,
|
| 812 |
+
null,
|
| 813 |
+
null,
|
| 814 |
+
null,
|
| 815 |
+
null,
|
| 816 |
+
null,
|
| 817 |
+
null,
|
| 818 |
+
null,
|
| 819 |
+
null,
|
| 820 |
+
null,
|
| 821 |
+
null,
|
| 822 |
+
null,
|
| 823 |
+
null
|
| 824 |
+
],
|
| 825 |
+
"seconds": 158.37904969102237
|
| 826 |
+
},
|
| 827 |
+
{
|
| 828 |
+
"sigma": 0.24,
|
| 829 |
+
"copies": 256,
|
| 830 |
+
"steps": 4000,
|
| 831 |
+
"deviated": 1,
|
| 832 |
+
"median_first_deviation": 1851,
|
| 833 |
+
"step_exposure": 1021851,
|
| 834 |
+
"empirical_rate_per_step": 9.78616256186078e-07,
|
| 835 |
+
"bound_tail_per_step": 5.167640349969784e-05,
|
| 836 |
+
"bound_profile_per_step": 1.9018794770682304e-05,
|
| 837 |
+
"first_deviation": [
|
| 838 |
+
null,
|
| 839 |
+
null,
|
| 840 |
+
null,
|
| 841 |
+
null,
|
| 842 |
+
null,
|
| 843 |
+
null,
|
| 844 |
+
null,
|
| 845 |
+
null,
|
| 846 |
+
null,
|
| 847 |
+
null,
|
| 848 |
+
null,
|
| 849 |
+
null,
|
| 850 |
+
null,
|
| 851 |
+
null,
|
| 852 |
+
null,
|
| 853 |
+
null,
|
| 854 |
+
null,
|
| 855 |
+
null,
|
| 856 |
+
null,
|
| 857 |
+
null,
|
| 858 |
+
null,
|
| 859 |
+
null,
|
| 860 |
+
null,
|
| 861 |
+
null,
|
| 862 |
+
null,
|
| 863 |
+
null,
|
| 864 |
+
null,
|
| 865 |
+
null,
|
| 866 |
+
null,
|
| 867 |
+
null,
|
| 868 |
+
null,
|
| 869 |
+
null,
|
| 870 |
+
null,
|
| 871 |
+
null,
|
| 872 |
+
null,
|
| 873 |
+
null,
|
| 874 |
+
null,
|
| 875 |
+
null,
|
| 876 |
+
null,
|
| 877 |
+
null,
|
| 878 |
+
null,
|
| 879 |
+
null,
|
| 880 |
+
null,
|
| 881 |
+
null,
|
| 882 |
+
null,
|
| 883 |
+
null,
|
| 884 |
+
null,
|
| 885 |
+
null,
|
| 886 |
+
null,
|
| 887 |
+
null,
|
| 888 |
+
null,
|
| 889 |
+
null,
|
| 890 |
+
null,
|
| 891 |
+
null,
|
| 892 |
+
null,
|
| 893 |
+
null,
|
| 894 |
+
null,
|
| 895 |
+
null,
|
| 896 |
+
null,
|
| 897 |
+
null,
|
| 898 |
+
null,
|
| 899 |
+
null,
|
| 900 |
+
null,
|
| 901 |
+
null,
|
| 902 |
+
null,
|
| 903 |
+
null,
|
| 904 |
+
null,
|
| 905 |
+
null,
|
| 906 |
+
null,
|
| 907 |
+
null,
|
| 908 |
+
null,
|
| 909 |
+
null,
|
| 910 |
+
null,
|
| 911 |
+
null,
|
| 912 |
+
null,
|
| 913 |
+
null,
|
| 914 |
+
null,
|
| 915 |
+
null,
|
| 916 |
+
null,
|
| 917 |
+
null,
|
| 918 |
+
null,
|
| 919 |
+
null,
|
| 920 |
+
null,
|
| 921 |
+
null,
|
| 922 |
+
null,
|
| 923 |
+
null,
|
| 924 |
+
null,
|
| 925 |
+
null,
|
| 926 |
+
null,
|
| 927 |
+
null,
|
| 928 |
+
null,
|
| 929 |
+
null,
|
| 930 |
+
null,
|
| 931 |
+
null,
|
| 932 |
+
null,
|
| 933 |
+
null,
|
| 934 |
+
null,
|
| 935 |
+
null,
|
| 936 |
+
null,
|
| 937 |
+
null,
|
| 938 |
+
null,
|
| 939 |
+
null,
|
| 940 |
+
null,
|
| 941 |
+
null,
|
| 942 |
+
null,
|
| 943 |
+
null,
|
| 944 |
+
null,
|
| 945 |
+
null,
|
| 946 |
+
null,
|
| 947 |
+
null,
|
| 948 |
+
null,
|
| 949 |
+
null,
|
| 950 |
+
null,
|
| 951 |
+
null,
|
| 952 |
+
null,
|
| 953 |
+
null,
|
| 954 |
+
null,
|
| 955 |
+
null,
|
| 956 |
+
null,
|
| 957 |
+
null,
|
| 958 |
+
null,
|
| 959 |
+
null,
|
| 960 |
+
null,
|
| 961 |
+
null,
|
| 962 |
+
null,
|
| 963 |
+
null,
|
| 964 |
+
null,
|
| 965 |
+
null,
|
| 966 |
+
null,
|
| 967 |
+
null,
|
| 968 |
+
null,
|
| 969 |
+
null,
|
| 970 |
+
null,
|
| 971 |
+
null,
|
| 972 |
+
null,
|
| 973 |
+
null,
|
| 974 |
+
null,
|
| 975 |
+
null,
|
| 976 |
+
null,
|
| 977 |
+
null,
|
| 978 |
+
null,
|
| 979 |
+
null,
|
| 980 |
+
null,
|
| 981 |
+
null,
|
| 982 |
+
null,
|
| 983 |
+
null,
|
| 984 |
+
null,
|
| 985 |
+
null,
|
| 986 |
+
null,
|
| 987 |
+
null,
|
| 988 |
+
null,
|
| 989 |
+
null,
|
| 990 |
+
null,
|
| 991 |
+
null,
|
| 992 |
+
null,
|
| 993 |
+
null,
|
| 994 |
+
null,
|
| 995 |
+
null,
|
| 996 |
+
null,
|
| 997 |
+
null,
|
| 998 |
+
null,
|
| 999 |
+
null,
|
| 1000 |
+
null,
|
| 1001 |
+
null,
|
| 1002 |
+
null,
|
| 1003 |
+
null,
|
| 1004 |
+
null,
|
| 1005 |
+
null,
|
| 1006 |
+
null,
|
| 1007 |
+
null,
|
| 1008 |
+
null,
|
| 1009 |
+
null,
|
| 1010 |
+
null,
|
| 1011 |
+
null,
|
| 1012 |
+
null,
|
| 1013 |
+
null,
|
| 1014 |
+
null,
|
| 1015 |
+
null,
|
| 1016 |
+
null,
|
| 1017 |
+
null,
|
| 1018 |
+
null,
|
| 1019 |
+
null,
|
| 1020 |
+
null,
|
| 1021 |
+
null,
|
| 1022 |
+
null,
|
| 1023 |
+
null,
|
| 1024 |
+
null,
|
| 1025 |
+
null,
|
| 1026 |
+
null,
|
| 1027 |
+
null,
|
| 1028 |
+
null,
|
| 1029 |
+
null,
|
| 1030 |
+
null,
|
| 1031 |
+
null,
|
| 1032 |
+
null,
|
| 1033 |
+
null,
|
| 1034 |
+
null,
|
| 1035 |
+
null,
|
| 1036 |
+
null,
|
| 1037 |
+
null,
|
| 1038 |
+
null,
|
| 1039 |
+
null,
|
| 1040 |
+
null,
|
| 1041 |
+
null,
|
| 1042 |
+
null,
|
| 1043 |
+
null,
|
| 1044 |
+
null,
|
| 1045 |
+
null,
|
| 1046 |
+
null,
|
| 1047 |
+
null,
|
| 1048 |
+
null,
|
| 1049 |
+
null,
|
| 1050 |
+
null,
|
| 1051 |
+
null,
|
| 1052 |
+
null,
|
| 1053 |
+
null,
|
| 1054 |
+
null,
|
| 1055 |
+
null,
|
| 1056 |
+
null,
|
| 1057 |
+
null,
|
| 1058 |
+
null,
|
| 1059 |
+
null,
|
| 1060 |
+
null,
|
| 1061 |
+
null,
|
| 1062 |
+
null,
|
| 1063 |
+
null,
|
| 1064 |
+
null,
|
| 1065 |
+
null,
|
| 1066 |
+
null,
|
| 1067 |
+
null,
|
| 1068 |
+
null,
|
| 1069 |
+
null,
|
| 1070 |
+
null,
|
| 1071 |
+
null,
|
| 1072 |
+
null,
|
| 1073 |
+
null,
|
| 1074 |
+
null,
|
| 1075 |
+
null,
|
| 1076 |
+
null,
|
| 1077 |
+
null,
|
| 1078 |
+
null,
|
| 1079 |
+
null,
|
| 1080 |
+
null,
|
| 1081 |
+
null,
|
| 1082 |
+
null,
|
| 1083 |
+
null,
|
| 1084 |
+
null,
|
| 1085 |
+
null,
|
| 1086 |
+
null,
|
| 1087 |
+
null,
|
| 1088 |
+
null,
|
| 1089 |
+
null,
|
| 1090 |
+
null,
|
| 1091 |
+
null,
|
| 1092 |
+
1851,
|
| 1093 |
+
null
|
| 1094 |
+
],
|
| 1095 |
+
"seconds": 262.654028888006
|
| 1096 |
+
},
|
| 1097 |
+
{
|
| 1098 |
+
"sigma": 0.27,
|
| 1099 |
+
"copies": 256,
|
| 1100 |
+
"steps": 4000,
|
| 1101 |
+
"deviated": 74,
|
| 1102 |
+
"median_first_deviation": 1898,
|
| 1103 |
+
"step_exposure": 873260,
|
| 1104 |
+
"empirical_rate_per_step": 8.473993999496142e-05,
|
| 1105 |
+
"bound_tail_per_step": 0.00348406062858411,
|
| 1106 |
+
"bound_profile_per_step": 0.001282260946508061,
|
| 1107 |
+
"first_deviation": [
|
| 1108 |
+
70,
|
| 1109 |
+
null,
|
| 1110 |
+
1802,
|
| 1111 |
+
null,
|
| 1112 |
+
null,
|
| 1113 |
+
3441,
|
| 1114 |
+
null,
|
| 1115 |
+
289,
|
| 1116 |
+
null,
|
| 1117 |
+
null,
|
| 1118 |
+
null,
|
| 1119 |
+
1889,
|
| 1120 |
+
2319,
|
| 1121 |
+
null,
|
| 1122 |
+
null,
|
| 1123 |
+
1105,
|
| 1124 |
+
null,
|
| 1125 |
+
null,
|
| 1126 |
+
1878,
|
| 1127 |
+
null,
|
| 1128 |
+
null,
|
| 1129 |
+
2517,
|
| 1130 |
+
null,
|
| 1131 |
+
null,
|
| 1132 |
+
759,
|
| 1133 |
+
null,
|
| 1134 |
+
3686,
|
| 1135 |
+
null,
|
| 1136 |
+
null,
|
| 1137 |
+
182,
|
| 1138 |
+
null,
|
| 1139 |
+
3679,
|
| 1140 |
+
1821,
|
| 1141 |
+
null,
|
| 1142 |
+
377,
|
| 1143 |
+
null,
|
| 1144 |
+
null,
|
| 1145 |
+
null,
|
| 1146 |
+
null,
|
| 1147 |
+
null,
|
| 1148 |
+
null,
|
| 1149 |
+
null,
|
| 1150 |
+
null,
|
| 1151 |
+
null,
|
| 1152 |
+
null,
|
| 1153 |
+
null,
|
| 1154 |
+
null,
|
| 1155 |
+
null,
|
| 1156 |
+
497,
|
| 1157 |
+
null,
|
| 1158 |
+
1863,
|
| 1159 |
+
null,
|
| 1160 |
+
284,
|
| 1161 |
+
3923,
|
| 1162 |
+
null,
|
| 1163 |
+
null,
|
| 1164 |
+
null,
|
| 1165 |
+
3319,
|
| 1166 |
+
null,
|
| 1167 |
+
3018,
|
| 1168 |
+
2373,
|
| 1169 |
+
null,
|
| 1170 |
+
null,
|
| 1171 |
+
null,
|
| 1172 |
+
null,
|
| 1173 |
+
null,
|
| 1174 |
+
null,
|
| 1175 |
+
null,
|
| 1176 |
+
null,
|
| 1177 |
+
3153,
|
| 1178 |
+
null,
|
| 1179 |
+
null,
|
| 1180 |
+
null,
|
| 1181 |
+
null,
|
| 1182 |
+
null,
|
| 1183 |
+
3363,
|
| 1184 |
+
3659,
|
| 1185 |
+
null,
|
| 1186 |
+
null,
|
| 1187 |
+
null,
|
| 1188 |
+
212,
|
| 1189 |
+
null,
|
| 1190 |
+
1898,
|
| 1191 |
+
null,
|
| 1192 |
+
2629,
|
| 1193 |
+
779,
|
| 1194 |
+
null,
|
| 1195 |
+
null,
|
| 1196 |
+
null,
|
| 1197 |
+
null,
|
| 1198 |
+
null,
|
| 1199 |
+
3865,
|
| 1200 |
+
null,
|
| 1201 |
+
null,
|
| 1202 |
+
null,
|
| 1203 |
+
null,
|
| 1204 |
+
1339,
|
| 1205 |
+
null,
|
| 1206 |
+
null,
|
| 1207 |
+
null,
|
| 1208 |
+
null,
|
| 1209 |
+
null,
|
| 1210 |
+
null,
|
| 1211 |
+
391,
|
| 1212 |
+
null,
|
| 1213 |
+
null,
|
| 1214 |
+
null,
|
| 1215 |
+
null,
|
| 1216 |
+
null,
|
| 1217 |
+
3229,
|
| 1218 |
+
null,
|
| 1219 |
+
null,
|
| 1220 |
+
null,
|
| 1221 |
+
null,
|
| 1222 |
+
3506,
|
| 1223 |
+
null,
|
| 1224 |
+
null,
|
| 1225 |
+
null,
|
| 1226 |
+
null,
|
| 1227 |
+
1705,
|
| 1228 |
+
null,
|
| 1229 |
+
null,
|
| 1230 |
+
932,
|
| 1231 |
+
null,
|
| 1232 |
+
2863,
|
| 1233 |
+
null,
|
| 1234 |
+
null,
|
| 1235 |
+
null,
|
| 1236 |
+
875,
|
| 1237 |
+
3474,
|
| 1238 |
+
2794,
|
| 1239 |
+
null,
|
| 1240 |
+
null,
|
| 1241 |
+
null,
|
| 1242 |
+
null,
|
| 1243 |
+
null,
|
| 1244 |
+
null,
|
| 1245 |
+
null,
|
| 1246 |
+
null,
|
| 1247 |
+
null,
|
| 1248 |
+
null,
|
| 1249 |
+
null,
|
| 1250 |
+
null,
|
| 1251 |
+
null,
|
| 1252 |
+
null,
|
| 1253 |
+
null,
|
| 1254 |
+
null,
|
| 1255 |
+
null,
|
| 1256 |
+
null,
|
| 1257 |
+
null,
|
| 1258 |
+
null,
|
| 1259 |
+
null,
|
| 1260 |
+
null,
|
| 1261 |
+
null,
|
| 1262 |
+
null,
|
| 1263 |
+
1074,
|
| 1264 |
+
null,
|
| 1265 |
+
3106,
|
| 1266 |
+
null,
|
| 1267 |
+
null,
|
| 1268 |
+
null,
|
| 1269 |
+
1970,
|
| 1270 |
+
null,
|
| 1271 |
+
2405,
|
| 1272 |
+
null,
|
| 1273 |
+
null,
|
| 1274 |
+
94,
|
| 1275 |
+
null,
|
| 1276 |
+
null,
|
| 1277 |
+
717,
|
| 1278 |
+
1474,
|
| 1279 |
+
2855,
|
| 1280 |
+
null,
|
| 1281 |
+
null,
|
| 1282 |
+
null,
|
| 1283 |
+
null,
|
| 1284 |
+
347,
|
| 1285 |
+
null,
|
| 1286 |
+
null,
|
| 1287 |
+
3925,
|
| 1288 |
+
609,
|
| 1289 |
+
2345,
|
| 1290 |
+
null,
|
| 1291 |
+
null,
|
| 1292 |
+
2188,
|
| 1293 |
+
null,
|
| 1294 |
+
null,
|
| 1295 |
+
null,
|
| 1296 |
+
null,
|
| 1297 |
+
null,
|
| 1298 |
+
235,
|
| 1299 |
+
null,
|
| 1300 |
+
null,
|
| 1301 |
+
null,
|
| 1302 |
+
499,
|
| 1303 |
+
null,
|
| 1304 |
+
2692,
|
| 1305 |
+
null,
|
| 1306 |
+
null,
|
| 1307 |
+
null,
|
| 1308 |
+
2130,
|
| 1309 |
+
null,
|
| 1310 |
+
null,
|
| 1311 |
+
3458,
|
| 1312 |
+
null,
|
| 1313 |
+
null,
|
| 1314 |
+
663,
|
| 1315 |
+
null,
|
| 1316 |
+
null,
|
| 1317 |
+
null,
|
| 1318 |
+
1873,
|
| 1319 |
+
null,
|
| 1320 |
+
null,
|
| 1321 |
+
null,
|
| 1322 |
+
2444,
|
| 1323 |
+
null,
|
| 1324 |
+
1251,
|
| 1325 |
+
null,
|
| 1326 |
+
2023,
|
| 1327 |
+
2196,
|
| 1328 |
+
null,
|
| 1329 |
+
null,
|
| 1330 |
+
null,
|
| 1331 |
+
null,
|
| 1332 |
+
null,
|
| 1333 |
+
468,
|
| 1334 |
+
null,
|
| 1335 |
+
3835,
|
| 1336 |
+
null,
|
| 1337 |
+
null,
|
| 1338 |
+
null,
|
| 1339 |
+
null,
|
| 1340 |
+
null,
|
| 1341 |
+
1096,
|
| 1342 |
+
1318,
|
| 1343 |
+
null,
|
| 1344 |
+
3281,
|
| 1345 |
+
null,
|
| 1346 |
+
null,
|
| 1347 |
+
971,
|
| 1348 |
+
null,
|
| 1349 |
+
null,
|
| 1350 |
+
null,
|
| 1351 |
+
3703,
|
| 1352 |
+
1487,
|
| 1353 |
+
null,
|
| 1354 |
+
1248,
|
| 1355 |
+
null,
|
| 1356 |
+
null,
|
| 1357 |
+
null,
|
| 1358 |
+
null,
|
| 1359 |
+
null,
|
| 1360 |
+
null,
|
| 1361 |
+
null,
|
| 1362 |
+
3523,
|
| 1363 |
+
null
|
| 1364 |
+
],
|
| 1365 |
+
"seconds": 229.52103876898764
|
| 1366 |
+
},
|
| 1367 |
+
{
|
| 1368 |
+
"sigma": 0.3,
|
| 1369 |
+
"copies": 256,
|
| 1370 |
+
"steps": 2154,
|
| 1371 |
+
"deviated": 256,
|
| 1372 |
+
"median_first_deviation": 271,
|
| 1373 |
+
"step_exposure": 103937,
|
| 1374 |
+
"empirical_rate_per_step": 0.002463030489623522,
|
| 1375 |
+
"bound_tail_per_step": 0.07217943910232472,
|
| 1376 |
+
"bound_profile_per_step": 0.026564657096504313,
|
| 1377 |
+
"first_deviation": [
|
| 1378 |
+
693,
|
| 1379 |
+
336,
|
| 1380 |
+
407,
|
| 1381 |
+
289,
|
| 1382 |
+
91,
|
| 1383 |
+
99,
|
| 1384 |
+
147,
|
| 1385 |
+
65,
|
| 1386 |
+
38,
|
| 1387 |
+
323,
|
| 1388 |
+
205,
|
| 1389 |
+
256,
|
| 1390 |
+
255,
|
| 1391 |
+
109,
|
| 1392 |
+
901,
|
| 1393 |
+
855,
|
| 1394 |
+
1042,
|
| 1395 |
+
145,
|
| 1396 |
+
48,
|
| 1397 |
+
426,
|
| 1398 |
+
177,
|
| 1399 |
+
577,
|
| 1400 |
+
206,
|
| 1401 |
+
713,
|
| 1402 |
+
796,
|
| 1403 |
+
153,
|
| 1404 |
+
526,
|
| 1405 |
+
256,
|
| 1406 |
+
1840,
|
| 1407 |
+
289,
|
| 1408 |
+
145,
|
| 1409 |
+
240,
|
| 1410 |
+
1137,
|
| 1411 |
+
205,
|
| 1412 |
+
91,
|
| 1413 |
+
580,
|
| 1414 |
+
33,
|
| 1415 |
+
419,
|
| 1416 |
+
1063,
|
| 1417 |
+
136,
|
| 1418 |
+
763,
|
| 1419 |
+
567,
|
| 1420 |
+
43,
|
| 1421 |
+
285,
|
| 1422 |
+
37,
|
| 1423 |
+
292,
|
| 1424 |
+
103,
|
| 1425 |
+
202,
|
| 1426 |
+
221,
|
| 1427 |
+
255,
|
| 1428 |
+
335,
|
| 1429 |
+
22,
|
| 1430 |
+
502,
|
| 1431 |
+
208,
|
| 1432 |
+
399,
|
| 1433 |
+
145,
|
| 1434 |
+
165,
|
| 1435 |
+
1168,
|
| 1436 |
+
258,
|
| 1437 |
+
735,
|
| 1438 |
+
703,
|
| 1439 |
+
402,
|
| 1440 |
+
515,
|
| 1441 |
+
298,
|
| 1442 |
+
494,
|
| 1443 |
+
77,
|
| 1444 |
+
269,
|
| 1445 |
+
533,
|
| 1446 |
+
729,
|
| 1447 |
+
86,
|
| 1448 |
+
548,
|
| 1449 |
+
432,
|
| 1450 |
+
468,
|
| 1451 |
+
2,
|
| 1452 |
+
680,
|
| 1453 |
+
920,
|
| 1454 |
+
228,
|
| 1455 |
+
13,
|
| 1456 |
+
219,
|
| 1457 |
+
1239,
|
| 1458 |
+
357,
|
| 1459 |
+
271,
|
| 1460 |
+
320,
|
| 1461 |
+
1149,
|
| 1462 |
+
83,
|
| 1463 |
+
56,
|
| 1464 |
+
36,
|
| 1465 |
+
70,
|
| 1466 |
+
155,
|
| 1467 |
+
387,
|
| 1468 |
+
194,
|
| 1469 |
+
252,
|
| 1470 |
+
876,
|
| 1471 |
+
43,
|
| 1472 |
+
57,
|
| 1473 |
+
468,
|
| 1474 |
+
176,
|
| 1475 |
+
131,
|
| 1476 |
+
29,
|
| 1477 |
+
297,
|
| 1478 |
+
340,
|
| 1479 |
+
25,
|
| 1480 |
+
109,
|
| 1481 |
+
251,
|
| 1482 |
+
149,
|
| 1483 |
+
264,
|
| 1484 |
+
908,
|
| 1485 |
+
317,
|
| 1486 |
+
95,
|
| 1487 |
+
245,
|
| 1488 |
+
975,
|
| 1489 |
+
32,
|
| 1490 |
+
41,
|
| 1491 |
+
80,
|
| 1492 |
+
443,
|
| 1493 |
+
1178,
|
| 1494 |
+
159,
|
| 1495 |
+
235,
|
| 1496 |
+
1846,
|
| 1497 |
+
812,
|
| 1498 |
+
229,
|
| 1499 |
+
1218,
|
| 1500 |
+
288,
|
| 1501 |
+
558,
|
| 1502 |
+
47,
|
| 1503 |
+
1662,
|
| 1504 |
+
772,
|
| 1505 |
+
242,
|
| 1506 |
+
104,
|
| 1507 |
+
191,
|
| 1508 |
+
717,
|
| 1509 |
+
220,
|
| 1510 |
+
708,
|
| 1511 |
+
891,
|
| 1512 |
+
959,
|
| 1513 |
+
256,
|
| 1514 |
+
77,
|
| 1515 |
+
1155,
|
| 1516 |
+
52,
|
| 1517 |
+
348,
|
| 1518 |
+
402,
|
| 1519 |
+
181,
|
| 1520 |
+
316,
|
| 1521 |
+
117,
|
| 1522 |
+
169,
|
| 1523 |
+
555,
|
| 1524 |
+
232,
|
| 1525 |
+
460,
|
| 1526 |
+
91,
|
| 1527 |
+
303,
|
| 1528 |
+
16,
|
| 1529 |
+
272,
|
| 1530 |
+
479,
|
| 1531 |
+
238,
|
| 1532 |
+
1501,
|
| 1533 |
+
237,
|
| 1534 |
+
172,
|
| 1535 |
+
181,
|
| 1536 |
+
230,
|
| 1537 |
+
232,
|
| 1538 |
+
305,
|
| 1539 |
+
609,
|
| 1540 |
+
45,
|
| 1541 |
+
1236,
|
| 1542 |
+
315,
|
| 1543 |
+
84,
|
| 1544 |
+
10,
|
| 1545 |
+
523,
|
| 1546 |
+
52,
|
| 1547 |
+
1311,
|
| 1548 |
+
127,
|
| 1549 |
+
123,
|
| 1550 |
+
627,
|
| 1551 |
+
99,
|
| 1552 |
+
258,
|
| 1553 |
+
681,
|
| 1554 |
+
193,
|
| 1555 |
+
241,
|
| 1556 |
+
285,
|
| 1557 |
+
480,
|
| 1558 |
+
4,
|
| 1559 |
+
7,
|
| 1560 |
+
299,
|
| 1561 |
+
41,
|
| 1562 |
+
249,
|
| 1563 |
+
406,
|
| 1564 |
+
334,
|
| 1565 |
+
22,
|
| 1566 |
+
241,
|
| 1567 |
+
318,
|
| 1568 |
+
214,
|
| 1569 |
+
397,
|
| 1570 |
+
506,
|
| 1571 |
+
195,
|
| 1572 |
+
1027,
|
| 1573 |
+
260,
|
| 1574 |
+
281,
|
| 1575 |
+
284,
|
| 1576 |
+
24,
|
| 1577 |
+
411,
|
| 1578 |
+
493,
|
| 1579 |
+
143,
|
| 1580 |
+
633,
|
| 1581 |
+
1463,
|
| 1582 |
+
168,
|
| 1583 |
+
678,
|
| 1584 |
+
75,
|
| 1585 |
+
63,
|
| 1586 |
+
212,
|
| 1587 |
+
7,
|
| 1588 |
+
366,
|
| 1589 |
+
227,
|
| 1590 |
+
120,
|
| 1591 |
+
109,
|
| 1592 |
+
9,
|
| 1593 |
+
145,
|
| 1594 |
+
731,
|
| 1595 |
+
255,
|
| 1596 |
+
645,
|
| 1597 |
+
445,
|
| 1598 |
+
1058,
|
| 1599 |
+
120,
|
| 1600 |
+
792,
|
| 1601 |
+
263,
|
| 1602 |
+
880,
|
| 1603 |
+
1,
|
| 1604 |
+
716,
|
| 1605 |
+
340,
|
| 1606 |
+
97,
|
| 1607 |
+
303,
|
| 1608 |
+
58,
|
| 1609 |
+
646,
|
| 1610 |
+
963,
|
| 1611 |
+
417,
|
| 1612 |
+
616,
|
| 1613 |
+
1871,
|
| 1614 |
+
1223,
|
| 1615 |
+
751,
|
| 1616 |
+
2,
|
| 1617 |
+
842,
|
| 1618 |
+
386,
|
| 1619 |
+
19,
|
| 1620 |
+
761,
|
| 1621 |
+
95,
|
| 1622 |
+
538,
|
| 1623 |
+
487,
|
| 1624 |
+
1026,
|
| 1625 |
+
192,
|
| 1626 |
+
143,
|
| 1627 |
+
193,
|
| 1628 |
+
433,
|
| 1629 |
+
1006,
|
| 1630 |
+
62,
|
| 1631 |
+
937,
|
| 1632 |
+
574,
|
| 1633 |
+
2154
|
| 1634 |
+
],
|
| 1635 |
+
"seconds": 149.61235346001922
|
| 1636 |
+
},
|
| 1637 |
+
{
|
| 1638 |
+
"sigma": 0.33,
|
| 1639 |
+
"copies": 256,
|
| 1640 |
+
"steps": 156,
|
| 1641 |
+
"deviated": 256,
|
| 1642 |
+
"median_first_deviation": 30,
|
| 1643 |
+
"step_exposure": 9911,
|
| 1644 |
+
"empirical_rate_per_step": 0.025829885985268895,
|
| 1645 |
+
"bound_tail_per_step": 0.6901493276563357,
|
| 1646 |
+
"bound_profile_per_step": 0.2540000374425606,
|
| 1647 |
+
"first_deviation": [
|
| 1648 |
+
35,
|
| 1649 |
+
46,
|
| 1650 |
+
71,
|
| 1651 |
+
86,
|
| 1652 |
+
38,
|
| 1653 |
+
147,
|
| 1654 |
+
103,
|
| 1655 |
+
38,
|
| 1656 |
+
16,
|
| 1657 |
+
5,
|
| 1658 |
+
112,
|
| 1659 |
+
6,
|
| 1660 |
+
71,
|
| 1661 |
+
16,
|
| 1662 |
+
4,
|
| 1663 |
+
88,
|
| 1664 |
+
68,
|
| 1665 |
+
60,
|
| 1666 |
+
20,
|
| 1667 |
+
2,
|
| 1668 |
+
8,
|
| 1669 |
+
1,
|
| 1670 |
+
71,
|
| 1671 |
+
41,
|
| 1672 |
+
36,
|
| 1673 |
+
38,
|
| 1674 |
+
20,
|
| 1675 |
+
136,
|
| 1676 |
+
32,
|
| 1677 |
+
4,
|
| 1678 |
+
29,
|
| 1679 |
+
3,
|
| 1680 |
+
27,
|
| 1681 |
+
52,
|
| 1682 |
+
63,
|
| 1683 |
+
6,
|
| 1684 |
+
2,
|
| 1685 |
+
32,
|
| 1686 |
+
8,
|
| 1687 |
+
130,
|
| 1688 |
+
38,
|
| 1689 |
+
2,
|
| 1690 |
+
23,
|
| 1691 |
+
16,
|
| 1692 |
+
10,
|
| 1693 |
+
53,
|
| 1694 |
+
12,
|
| 1695 |
+
23,
|
| 1696 |
+
56,
|
| 1697 |
+
25,
|
| 1698 |
+
33,
|
| 1699 |
+
39,
|
| 1700 |
+
12,
|
| 1701 |
+
12,
|
| 1702 |
+
7,
|
| 1703 |
+
6,
|
| 1704 |
+
54,
|
| 1705 |
+
18,
|
| 1706 |
+
18,
|
| 1707 |
+
1,
|
| 1708 |
+
48,
|
| 1709 |
+
3,
|
| 1710 |
+
80,
|
| 1711 |
+
34,
|
| 1712 |
+
6,
|
| 1713 |
+
72,
|
| 1714 |
+
69,
|
| 1715 |
+
120,
|
| 1716 |
+
2,
|
| 1717 |
+
22,
|
| 1718 |
+
1,
|
| 1719 |
+
28,
|
| 1720 |
+
37,
|
| 1721 |
+
23,
|
| 1722 |
+
18,
|
| 1723 |
+
7,
|
| 1724 |
+
64,
|
| 1725 |
+
76,
|
| 1726 |
+
86,
|
| 1727 |
+
12,
|
| 1728 |
+
107,
|
| 1729 |
+
22,
|
| 1730 |
+
3,
|
| 1731 |
+
38,
|
| 1732 |
+
5,
|
| 1733 |
+
94,
|
| 1734 |
+
5,
|
| 1735 |
+
68,
|
| 1736 |
+
4,
|
| 1737 |
+
66,
|
| 1738 |
+
40,
|
| 1739 |
+
17,
|
| 1740 |
+
10,
|
| 1741 |
+
21,
|
| 1742 |
+
128,
|
| 1743 |
+
81,
|
| 1744 |
+
22,
|
| 1745 |
+
6,
|
| 1746 |
+
16,
|
| 1747 |
+
5,
|
| 1748 |
+
13,
|
| 1749 |
+
156,
|
| 1750 |
+
73,
|
| 1751 |
+
22,
|
| 1752 |
+
35,
|
| 1753 |
+
33,
|
| 1754 |
+
22,
|
| 1755 |
+
96,
|
| 1756 |
+
2,
|
| 1757 |
+
15,
|
| 1758 |
+
8,
|
| 1759 |
+
112,
|
| 1760 |
+
43,
|
| 1761 |
+
109,
|
| 1762 |
+
103,
|
| 1763 |
+
17,
|
| 1764 |
+
3,
|
| 1765 |
+
116,
|
| 1766 |
+
19,
|
| 1767 |
+
45,
|
| 1768 |
+
84,
|
| 1769 |
+
23,
|
| 1770 |
+
67,
|
| 1771 |
+
1,
|
| 1772 |
+
43,
|
| 1773 |
+
29,
|
| 1774 |
+
6,
|
| 1775 |
+
5,
|
| 1776 |
+
12,
|
| 1777 |
+
35,
|
| 1778 |
+
20,
|
| 1779 |
+
17,
|
| 1780 |
+
92,
|
| 1781 |
+
16,
|
| 1782 |
+
40,
|
| 1783 |
+
69,
|
| 1784 |
+
100,
|
| 1785 |
+
26,
|
| 1786 |
+
5,
|
| 1787 |
+
6,
|
| 1788 |
+
28,
|
| 1789 |
+
9,
|
| 1790 |
+
102,
|
| 1791 |
+
45,
|
| 1792 |
+
60,
|
| 1793 |
+
30,
|
| 1794 |
+
78,
|
| 1795 |
+
10,
|
| 1796 |
+
26,
|
| 1797 |
+
62,
|
| 1798 |
+
52,
|
| 1799 |
+
78,
|
| 1800 |
+
12,
|
| 1801 |
+
20,
|
| 1802 |
+
6,
|
| 1803 |
+
63,
|
| 1804 |
+
15,
|
| 1805 |
+
5,
|
| 1806 |
+
60,
|
| 1807 |
+
12,
|
| 1808 |
+
40,
|
| 1809 |
+
18,
|
| 1810 |
+
25,
|
| 1811 |
+
4,
|
| 1812 |
+
83,
|
| 1813 |
+
8,
|
| 1814 |
+
48,
|
| 1815 |
+
19,
|
| 1816 |
+
109,
|
| 1817 |
+
18,
|
| 1818 |
+
53,
|
| 1819 |
+
23,
|
| 1820 |
+
16,
|
| 1821 |
+
21,
|
| 1822 |
+
7,
|
| 1823 |
+
65,
|
| 1824 |
+
21,
|
| 1825 |
+
6,
|
| 1826 |
+
4,
|
| 1827 |
+
37,
|
| 1828 |
+
97,
|
| 1829 |
+
31,
|
| 1830 |
+
43,
|
| 1831 |
+
29,
|
| 1832 |
+
67,
|
| 1833 |
+
9,
|
| 1834 |
+
11,
|
| 1835 |
+
46,
|
| 1836 |
+
12,
|
| 1837 |
+
9,
|
| 1838 |
+
58,
|
| 1839 |
+
43,
|
| 1840 |
+
55,
|
| 1841 |
+
91,
|
| 1842 |
+
12,
|
| 1843 |
+
30,
|
| 1844 |
+
76,
|
| 1845 |
+
69,
|
| 1846 |
+
45,
|
| 1847 |
+
53,
|
| 1848 |
+
33,
|
| 1849 |
+
73,
|
| 1850 |
+
43,
|
| 1851 |
+
7,
|
| 1852 |
+
25,
|
| 1853 |
+
50,
|
| 1854 |
+
18,
|
| 1855 |
+
63,
|
| 1856 |
+
66,
|
| 1857 |
+
32,
|
| 1858 |
+
30,
|
| 1859 |
+
48,
|
| 1860 |
+
32,
|
| 1861 |
+
110,
|
| 1862 |
+
67,
|
| 1863 |
+
38,
|
| 1864 |
+
31,
|
| 1865 |
+
1,
|
| 1866 |
+
14,
|
| 1867 |
+
15,
|
| 1868 |
+
4,
|
| 1869 |
+
4,
|
| 1870 |
+
84,
|
| 1871 |
+
50,
|
| 1872 |
+
81,
|
| 1873 |
+
71,
|
| 1874 |
+
19,
|
| 1875 |
+
42,
|
| 1876 |
+
70,
|
| 1877 |
+
17,
|
| 1878 |
+
42,
|
| 1879 |
+
17,
|
| 1880 |
+
7,
|
| 1881 |
+
112,
|
| 1882 |
+
54,
|
| 1883 |
+
11,
|
| 1884 |
+
3,
|
| 1885 |
+
66,
|
| 1886 |
+
44,
|
| 1887 |
+
14,
|
| 1888 |
+
76,
|
| 1889 |
+
78,
|
| 1890 |
+
2,
|
| 1891 |
+
4,
|
| 1892 |
+
1,
|
| 1893 |
+
71,
|
| 1894 |
+
1,
|
| 1895 |
+
26,
|
| 1896 |
+
3,
|
| 1897 |
+
11,
|
| 1898 |
+
26,
|
| 1899 |
+
58,
|
| 1900 |
+
70,
|
| 1901 |
+
32,
|
| 1902 |
+
18,
|
| 1903 |
+
9
|
| 1904 |
+
],
|
| 1905 |
+
"seconds": 10.62427800099249
|
| 1906 |
+
},
|
| 1907 |
+
{
|
| 1908 |
+
"sigma": 0.36,
|
| 1909 |
+
"copies": 256,
|
| 1910 |
+
"steps": 37,
|
| 1911 |
+
"deviated": 256,
|
| 1912 |
+
"median_first_deviation": 5,
|
| 1913 |
+
"step_exposure": 1731,
|
| 1914 |
+
"empirical_rate_per_step": 0.14789139225880993,
|
| 1915 |
+
"bound_tail_per_step": 3.8914228635558983,
|
| 1916 |
+
"bound_profile_per_step": 1.4321850553772115,
|
| 1917 |
+
"first_deviation": [
|
| 1918 |
+
1,
|
| 1919 |
+
2,
|
| 1920 |
+
14,
|
| 1921 |
+
4,
|
| 1922 |
+
3,
|
| 1923 |
+
1,
|
| 1924 |
+
3,
|
| 1925 |
+
4,
|
| 1926 |
+
10,
|
| 1927 |
+
3,
|
| 1928 |
+
2,
|
| 1929 |
+
4,
|
| 1930 |
+
4,
|
| 1931 |
+
4,
|
| 1932 |
+
2,
|
| 1933 |
+
5,
|
| 1934 |
+
1,
|
| 1935 |
+
4,
|
| 1936 |
+
1,
|
| 1937 |
+
9,
|
| 1938 |
+
17,
|
| 1939 |
+
3,
|
| 1940 |
+
2,
|
| 1941 |
+
9,
|
| 1942 |
+
16,
|
| 1943 |
+
5,
|
| 1944 |
+
10,
|
| 1945 |
+
1,
|
| 1946 |
+
5,
|
| 1947 |
+
5,
|
| 1948 |
+
25,
|
| 1949 |
+
2,
|
| 1950 |
+
17,
|
| 1951 |
+
5,
|
| 1952 |
+
3,
|
| 1953 |
+
7,
|
| 1954 |
+
8,
|
| 1955 |
+
1,
|
| 1956 |
+
9,
|
| 1957 |
+
13,
|
| 1958 |
+
10,
|
| 1959 |
+
8,
|
| 1960 |
+
2,
|
| 1961 |
+
10,
|
| 1962 |
+
7,
|
| 1963 |
+
13,
|
| 1964 |
+
2,
|
| 1965 |
+
4,
|
| 1966 |
+
8,
|
| 1967 |
+
2,
|
| 1968 |
+
16,
|
| 1969 |
+
1,
|
| 1970 |
+
3,
|
| 1971 |
+
6,
|
| 1972 |
+
8,
|
| 1973 |
+
1,
|
| 1974 |
+
7,
|
| 1975 |
+
3,
|
| 1976 |
+
4,
|
| 1977 |
+
8,
|
| 1978 |
+
15,
|
| 1979 |
+
3,
|
| 1980 |
+
2,
|
| 1981 |
+
1,
|
| 1982 |
+
28,
|
| 1983 |
+
6,
|
| 1984 |
+
9,
|
| 1985 |
+
1,
|
| 1986 |
+
1,
|
| 1987 |
+
2,
|
| 1988 |
+
2,
|
| 1989 |
+
5,
|
| 1990 |
+
3,
|
| 1991 |
+
1,
|
| 1992 |
+
4,
|
| 1993 |
+
5,
|
| 1994 |
+
6,
|
| 1995 |
+
4,
|
| 1996 |
+
11,
|
| 1997 |
+
1,
|
| 1998 |
+
8,
|
| 1999 |
+
7,
|
| 2000 |
+
5,
|
| 2001 |
+
6,
|
| 2002 |
+
3,
|
| 2003 |
+
3,
|
| 2004 |
+
3,
|
| 2005 |
+
7,
|
| 2006 |
+
7,
|
| 2007 |
+
7,
|
| 2008 |
+
2,
|
| 2009 |
+
7,
|
| 2010 |
+
3,
|
| 2011 |
+
3,
|
| 2012 |
+
9,
|
| 2013 |
+
1,
|
| 2014 |
+
9,
|
| 2015 |
+
1,
|
| 2016 |
+
1,
|
| 2017 |
+
4,
|
| 2018 |
+
6,
|
| 2019 |
+
14,
|
| 2020 |
+
21,
|
| 2021 |
+
8,
|
| 2022 |
+
15,
|
| 2023 |
+
14,
|
| 2024 |
+
4,
|
| 2025 |
+
14,
|
| 2026 |
+
5,
|
| 2027 |
+
5,
|
| 2028 |
+
2,
|
| 2029 |
+
1,
|
| 2030 |
+
1,
|
| 2031 |
+
3,
|
| 2032 |
+
5,
|
| 2033 |
+
17,
|
| 2034 |
+
6,
|
| 2035 |
+
2,
|
| 2036 |
+
5,
|
| 2037 |
+
5,
|
| 2038 |
+
16,
|
| 2039 |
+
2,
|
| 2040 |
+
4,
|
| 2041 |
+
1,
|
| 2042 |
+
1,
|
| 2043 |
+
5,
|
| 2044 |
+
3,
|
| 2045 |
+
9,
|
| 2046 |
+
4,
|
| 2047 |
+
2,
|
| 2048 |
+
5,
|
| 2049 |
+
3,
|
| 2050 |
+
2,
|
| 2051 |
+
1,
|
| 2052 |
+
4,
|
| 2053 |
+
15,
|
| 2054 |
+
37,
|
| 2055 |
+
2,
|
| 2056 |
+
2,
|
| 2057 |
+
23,
|
| 2058 |
+
6,
|
| 2059 |
+
17,
|
| 2060 |
+
14,
|
| 2061 |
+
3,
|
| 2062 |
+
1,
|
| 2063 |
+
1,
|
| 2064 |
+
11,
|
| 2065 |
+
9,
|
| 2066 |
+
9,
|
| 2067 |
+
1,
|
| 2068 |
+
35,
|
| 2069 |
+
16,
|
| 2070 |
+
4,
|
| 2071 |
+
2,
|
| 2072 |
+
4,
|
| 2073 |
+
4,
|
| 2074 |
+
22,
|
| 2075 |
+
9,
|
| 2076 |
+
7,
|
| 2077 |
+
4,
|
| 2078 |
+
4,
|
| 2079 |
+
9,
|
| 2080 |
+
4,
|
| 2081 |
+
4,
|
| 2082 |
+
1,
|
| 2083 |
+
23,
|
| 2084 |
+
6,
|
| 2085 |
+
16,
|
| 2086 |
+
7,
|
| 2087 |
+
2,
|
| 2088 |
+
7,
|
| 2089 |
+
8,
|
| 2090 |
+
1,
|
| 2091 |
+
4,
|
| 2092 |
+
8,
|
| 2093 |
+
17,
|
| 2094 |
+
10,
|
| 2095 |
+
6,
|
| 2096 |
+
11,
|
| 2097 |
+
6,
|
| 2098 |
+
2,
|
| 2099 |
+
2,
|
| 2100 |
+
6,
|
| 2101 |
+
2,
|
| 2102 |
+
4,
|
| 2103 |
+
2,
|
| 2104 |
+
10,
|
| 2105 |
+
27,
|
| 2106 |
+
6,
|
| 2107 |
+
24,
|
| 2108 |
+
4,
|
| 2109 |
+
1,
|
| 2110 |
+
4,
|
| 2111 |
+
1,
|
| 2112 |
+
7,
|
| 2113 |
+
1,
|
| 2114 |
+
6,
|
| 2115 |
+
3,
|
| 2116 |
+
17,
|
| 2117 |
+
9,
|
| 2118 |
+
2,
|
| 2119 |
+
2,
|
| 2120 |
+
6,
|
| 2121 |
+
3,
|
| 2122 |
+
8,
|
| 2123 |
+
3,
|
| 2124 |
+
1,
|
| 2125 |
+
3,
|
| 2126 |
+
20,
|
| 2127 |
+
1,
|
| 2128 |
+
12,
|
| 2129 |
+
27,
|
| 2130 |
+
7,
|
| 2131 |
+
15,
|
| 2132 |
+
3,
|
| 2133 |
+
1,
|
| 2134 |
+
16,
|
| 2135 |
+
5,
|
| 2136 |
+
14,
|
| 2137 |
+
2,
|
| 2138 |
+
1,
|
| 2139 |
+
2,
|
| 2140 |
+
10,
|
| 2141 |
+
13,
|
| 2142 |
+
4,
|
| 2143 |
+
5,
|
| 2144 |
+
9,
|
| 2145 |
+
1,
|
| 2146 |
+
2,
|
| 2147 |
+
8,
|
| 2148 |
+
12,
|
| 2149 |
+
1,
|
| 2150 |
+
7,
|
| 2151 |
+
4,
|
| 2152 |
+
2,
|
| 2153 |
+
2,
|
| 2154 |
+
9,
|
| 2155 |
+
6,
|
| 2156 |
+
2,
|
| 2157 |
+
1,
|
| 2158 |
+
11,
|
| 2159 |
+
1,
|
| 2160 |
+
16,
|
| 2161 |
+
14,
|
| 2162 |
+
5,
|
| 2163 |
+
9,
|
| 2164 |
+
24,
|
| 2165 |
+
6,
|
| 2166 |
+
2,
|
| 2167 |
+
9,
|
| 2168 |
+
7,
|
| 2169 |
+
3,
|
| 2170 |
+
18,
|
| 2171 |
+
12,
|
| 2172 |
+
2,
|
| 2173 |
+
2
|
| 2174 |
+
],
|
| 2175 |
+
"seconds": 2.4721250050060917
|
| 2176 |
+
},
|
| 2177 |
+
{
|
| 2178 |
+
"sigma": 0.45,
|
| 2179 |
+
"copies": 256,
|
| 2180 |
+
"steps": 2,
|
| 2181 |
+
"deviated": 256,
|
| 2182 |
+
"median_first_deviation": 1,
|
| 2183 |
+
"step_exposure": 257,
|
| 2184 |
+
"empirical_rate_per_step": 0.9961089494163424,
|
| 2185 |
+
"bound_tail_per_step": 108.03825001963028,
|
| 2186 |
+
"bound_profile_per_step": 39.76200287465845,
|
| 2187 |
+
"first_deviation": [
|
| 2188 |
+
1,
|
| 2189 |
+
1,
|
| 2190 |
+
1,
|
| 2191 |
+
1,
|
| 2192 |
+
1,
|
| 2193 |
+
1,
|
| 2194 |
+
1,
|
| 2195 |
+
1,
|
| 2196 |
+
1,
|
| 2197 |
+
1,
|
| 2198 |
+
1,
|
| 2199 |
+
1,
|
| 2200 |
+
1,
|
| 2201 |
+
1,
|
| 2202 |
+
1,
|
| 2203 |
+
1,
|
| 2204 |
+
1,
|
| 2205 |
+
1,
|
| 2206 |
+
1,
|
| 2207 |
+
1,
|
| 2208 |
+
1,
|
| 2209 |
+
1,
|
| 2210 |
+
1,
|
| 2211 |
+
1,
|
| 2212 |
+
1,
|
| 2213 |
+
1,
|
| 2214 |
+
1,
|
| 2215 |
+
1,
|
| 2216 |
+
1,
|
| 2217 |
+
1,
|
| 2218 |
+
1,
|
| 2219 |
+
1,
|
| 2220 |
+
1,
|
| 2221 |
+
1,
|
| 2222 |
+
1,
|
| 2223 |
+
1,
|
| 2224 |
+
1,
|
| 2225 |
+
1,
|
| 2226 |
+
1,
|
| 2227 |
+
1,
|
| 2228 |
+
1,
|
| 2229 |
+
1,
|
| 2230 |
+
1,
|
| 2231 |
+
1,
|
| 2232 |
+
1,
|
| 2233 |
+
1,
|
| 2234 |
+
1,
|
| 2235 |
+
1,
|
| 2236 |
+
1,
|
| 2237 |
+
1,
|
| 2238 |
+
1,
|
| 2239 |
+
1,
|
| 2240 |
+
1,
|
| 2241 |
+
1,
|
| 2242 |
+
1,
|
| 2243 |
+
1,
|
| 2244 |
+
1,
|
| 2245 |
+
1,
|
| 2246 |
+
1,
|
| 2247 |
+
1,
|
| 2248 |
+
1,
|
| 2249 |
+
1,
|
| 2250 |
+
1,
|
| 2251 |
+
1,
|
| 2252 |
+
1,
|
| 2253 |
+
1,
|
| 2254 |
+
1,
|
| 2255 |
+
1,
|
| 2256 |
+
1,
|
| 2257 |
+
1,
|
| 2258 |
+
1,
|
| 2259 |
+
1,
|
| 2260 |
+
1,
|
| 2261 |
+
1,
|
| 2262 |
+
1,
|
| 2263 |
+
1,
|
| 2264 |
+
1,
|
| 2265 |
+
1,
|
| 2266 |
+
1,
|
| 2267 |
+
1,
|
| 2268 |
+
1,
|
| 2269 |
+
1,
|
| 2270 |
+
1,
|
| 2271 |
+
1,
|
| 2272 |
+
1,
|
| 2273 |
+
1,
|
| 2274 |
+
1,
|
| 2275 |
+
1,
|
| 2276 |
+
1,
|
| 2277 |
+
1,
|
| 2278 |
+
1,
|
| 2279 |
+
1,
|
| 2280 |
+
1,
|
| 2281 |
+
1,
|
| 2282 |
+
1,
|
| 2283 |
+
1,
|
| 2284 |
+
1,
|
| 2285 |
+
1,
|
| 2286 |
+
1,
|
| 2287 |
+
1,
|
| 2288 |
+
1,
|
| 2289 |
+
1,
|
| 2290 |
+
1,
|
| 2291 |
+
1,
|
| 2292 |
+
1,
|
| 2293 |
+
1,
|
| 2294 |
+
1,
|
| 2295 |
+
1,
|
| 2296 |
+
1,
|
| 2297 |
+
2,
|
| 2298 |
+
1,
|
| 2299 |
+
1,
|
| 2300 |
+
1,
|
| 2301 |
+
1,
|
| 2302 |
+
1,
|
| 2303 |
+
1,
|
| 2304 |
+
1,
|
| 2305 |
+
1,
|
| 2306 |
+
1,
|
| 2307 |
+
1,
|
| 2308 |
+
1,
|
| 2309 |
+
1,
|
| 2310 |
+
1,
|
| 2311 |
+
1,
|
| 2312 |
+
1,
|
| 2313 |
+
1,
|
| 2314 |
+
1,
|
| 2315 |
+
1,
|
| 2316 |
+
1,
|
| 2317 |
+
1,
|
| 2318 |
+
1,
|
| 2319 |
+
1,
|
| 2320 |
+
1,
|
| 2321 |
+
1,
|
| 2322 |
+
1,
|
| 2323 |
+
1,
|
| 2324 |
+
1,
|
| 2325 |
+
1,
|
| 2326 |
+
1,
|
| 2327 |
+
1,
|
| 2328 |
+
1,
|
| 2329 |
+
1,
|
| 2330 |
+
1,
|
| 2331 |
+
1,
|
| 2332 |
+
1,
|
| 2333 |
+
1,
|
| 2334 |
+
1,
|
| 2335 |
+
1,
|
| 2336 |
+
1,
|
| 2337 |
+
1,
|
| 2338 |
+
1,
|
| 2339 |
+
1,
|
| 2340 |
+
1,
|
| 2341 |
+
1,
|
| 2342 |
+
1,
|
| 2343 |
+
1,
|
| 2344 |
+
1,
|
| 2345 |
+
1,
|
| 2346 |
+
1,
|
| 2347 |
+
1,
|
| 2348 |
+
1,
|
| 2349 |
+
1,
|
| 2350 |
+
1,
|
| 2351 |
+
1,
|
| 2352 |
+
1,
|
| 2353 |
+
1,
|
| 2354 |
+
1,
|
| 2355 |
+
1,
|
| 2356 |
+
1,
|
| 2357 |
+
1,
|
| 2358 |
+
1,
|
| 2359 |
+
1,
|
| 2360 |
+
1,
|
| 2361 |
+
1,
|
| 2362 |
+
1,
|
| 2363 |
+
1,
|
| 2364 |
+
1,
|
| 2365 |
+
1,
|
| 2366 |
+
1,
|
| 2367 |
+
1,
|
| 2368 |
+
1,
|
| 2369 |
+
1,
|
| 2370 |
+
1,
|
| 2371 |
+
1,
|
| 2372 |
+
1,
|
| 2373 |
+
1,
|
| 2374 |
+
1,
|
| 2375 |
+
1,
|
| 2376 |
+
1,
|
| 2377 |
+
1,
|
| 2378 |
+
1,
|
| 2379 |
+
1,
|
| 2380 |
+
1,
|
| 2381 |
+
1,
|
| 2382 |
+
1,
|
| 2383 |
+
1,
|
| 2384 |
+
1,
|
| 2385 |
+
1,
|
| 2386 |
+
1,
|
| 2387 |
+
1,
|
| 2388 |
+
1,
|
| 2389 |
+
1,
|
| 2390 |
+
1,
|
| 2391 |
+
1,
|
| 2392 |
+
1,
|
| 2393 |
+
1,
|
| 2394 |
+
1,
|
| 2395 |
+
1,
|
| 2396 |
+
1,
|
| 2397 |
+
1,
|
| 2398 |
+
1,
|
| 2399 |
+
1,
|
| 2400 |
+
1,
|
| 2401 |
+
1,
|
| 2402 |
+
1,
|
| 2403 |
+
1,
|
| 2404 |
+
1,
|
| 2405 |
+
1,
|
| 2406 |
+
1,
|
| 2407 |
+
1,
|
| 2408 |
+
1,
|
| 2409 |
+
1,
|
| 2410 |
+
1,
|
| 2411 |
+
1,
|
| 2412 |
+
1,
|
| 2413 |
+
1,
|
| 2414 |
+
1,
|
| 2415 |
+
1,
|
| 2416 |
+
1,
|
| 2417 |
+
1,
|
| 2418 |
+
1,
|
| 2419 |
+
1,
|
| 2420 |
+
1,
|
| 2421 |
+
1,
|
| 2422 |
+
1,
|
| 2423 |
+
1,
|
| 2424 |
+
1,
|
| 2425 |
+
1,
|
| 2426 |
+
1,
|
| 2427 |
+
1,
|
| 2428 |
+
1,
|
| 2429 |
+
1,
|
| 2430 |
+
1,
|
| 2431 |
+
1,
|
| 2432 |
+
1,
|
| 2433 |
+
1,
|
| 2434 |
+
1,
|
| 2435 |
+
1,
|
| 2436 |
+
1,
|
| 2437 |
+
1,
|
| 2438 |
+
1,
|
| 2439 |
+
1,
|
| 2440 |
+
1,
|
| 2441 |
+
1,
|
| 2442 |
+
1,
|
| 2443 |
+
1
|
| 2444 |
+
],
|
| 2445 |
+
"seconds": 0.09544085199013352
|
| 2446 |
+
},
|
| 2447 |
+
{
|
| 2448 |
+
"sigma": 0.6,
|
| 2449 |
+
"copies": 256,
|
| 2450 |
+
"steps": 1,
|
| 2451 |
+
"deviated": 256,
|
| 2452 |
+
"median_first_deviation": 1,
|
| 2453 |
+
"step_exposure": 256,
|
| 2454 |
+
"empirical_rate_per_step": 1.0,
|
| 2455 |
+
"bound_tail_per_step": 1563.606148361082,
|
| 2456 |
+
"bound_profile_per_step": 575.463895007352,
|
| 2457 |
+
"first_deviation": [
|
| 2458 |
+
1,
|
| 2459 |
+
1,
|
| 2460 |
+
1,
|
| 2461 |
+
1,
|
| 2462 |
+
1,
|
| 2463 |
+
1,
|
| 2464 |
+
1,
|
| 2465 |
+
1,
|
| 2466 |
+
1,
|
| 2467 |
+
1,
|
| 2468 |
+
1,
|
| 2469 |
+
1,
|
| 2470 |
+
1,
|
| 2471 |
+
1,
|
| 2472 |
+
1,
|
| 2473 |
+
1,
|
| 2474 |
+
1,
|
| 2475 |
+
1,
|
| 2476 |
+
1,
|
| 2477 |
+
1,
|
| 2478 |
+
1,
|
| 2479 |
+
1,
|
| 2480 |
+
1,
|
| 2481 |
+
1,
|
| 2482 |
+
1,
|
| 2483 |
+
1,
|
| 2484 |
+
1,
|
| 2485 |
+
1,
|
| 2486 |
+
1,
|
| 2487 |
+
1,
|
| 2488 |
+
1,
|
| 2489 |
+
1,
|
| 2490 |
+
1,
|
| 2491 |
+
1,
|
| 2492 |
+
1,
|
| 2493 |
+
1,
|
| 2494 |
+
1,
|
| 2495 |
+
1,
|
| 2496 |
+
1,
|
| 2497 |
+
1,
|
| 2498 |
+
1,
|
| 2499 |
+
1,
|
| 2500 |
+
1,
|
| 2501 |
+
1,
|
| 2502 |
+
1,
|
| 2503 |
+
1,
|
| 2504 |
+
1,
|
| 2505 |
+
1,
|
| 2506 |
+
1,
|
| 2507 |
+
1,
|
| 2508 |
+
1,
|
| 2509 |
+
1,
|
| 2510 |
+
1,
|
| 2511 |
+
1,
|
| 2512 |
+
1,
|
| 2513 |
+
1,
|
| 2514 |
+
1,
|
| 2515 |
+
1,
|
| 2516 |
+
1,
|
| 2517 |
+
1,
|
| 2518 |
+
1,
|
| 2519 |
+
1,
|
| 2520 |
+
1,
|
| 2521 |
+
1,
|
| 2522 |
+
1,
|
| 2523 |
+
1,
|
| 2524 |
+
1,
|
| 2525 |
+
1,
|
| 2526 |
+
1,
|
| 2527 |
+
1,
|
| 2528 |
+
1,
|
| 2529 |
+
1,
|
| 2530 |
+
1,
|
| 2531 |
+
1,
|
| 2532 |
+
1,
|
| 2533 |
+
1,
|
| 2534 |
+
1,
|
| 2535 |
+
1,
|
| 2536 |
+
1,
|
| 2537 |
+
1,
|
| 2538 |
+
1,
|
| 2539 |
+
1,
|
| 2540 |
+
1,
|
| 2541 |
+
1,
|
| 2542 |
+
1,
|
| 2543 |
+
1,
|
| 2544 |
+
1,
|
| 2545 |
+
1,
|
| 2546 |
+
1,
|
| 2547 |
+
1,
|
| 2548 |
+
1,
|
| 2549 |
+
1,
|
| 2550 |
+
1,
|
| 2551 |
+
1,
|
| 2552 |
+
1,
|
| 2553 |
+
1,
|
| 2554 |
+
1,
|
| 2555 |
+
1,
|
| 2556 |
+
1,
|
| 2557 |
+
1,
|
| 2558 |
+
1,
|
| 2559 |
+
1,
|
| 2560 |
+
1,
|
| 2561 |
+
1,
|
| 2562 |
+
1,
|
| 2563 |
+
1,
|
| 2564 |
+
1,
|
| 2565 |
+
1,
|
| 2566 |
+
1,
|
| 2567 |
+
1,
|
| 2568 |
+
1,
|
| 2569 |
+
1,
|
| 2570 |
+
1,
|
| 2571 |
+
1,
|
| 2572 |
+
1,
|
| 2573 |
+
1,
|
| 2574 |
+
1,
|
| 2575 |
+
1,
|
| 2576 |
+
1,
|
| 2577 |
+
1,
|
| 2578 |
+
1,
|
| 2579 |
+
1,
|
| 2580 |
+
1,
|
| 2581 |
+
1,
|
| 2582 |
+
1,
|
| 2583 |
+
1,
|
| 2584 |
+
1,
|
| 2585 |
+
1,
|
| 2586 |
+
1,
|
| 2587 |
+
1,
|
| 2588 |
+
1,
|
| 2589 |
+
1,
|
| 2590 |
+
1,
|
| 2591 |
+
1,
|
| 2592 |
+
1,
|
| 2593 |
+
1,
|
| 2594 |
+
1,
|
| 2595 |
+
1,
|
| 2596 |
+
1,
|
| 2597 |
+
1,
|
| 2598 |
+
1,
|
| 2599 |
+
1,
|
| 2600 |
+
1,
|
| 2601 |
+
1,
|
| 2602 |
+
1,
|
| 2603 |
+
1,
|
| 2604 |
+
1,
|
| 2605 |
+
1,
|
| 2606 |
+
1,
|
| 2607 |
+
1,
|
| 2608 |
+
1,
|
| 2609 |
+
1,
|
| 2610 |
+
1,
|
| 2611 |
+
1,
|
| 2612 |
+
1,
|
| 2613 |
+
1,
|
| 2614 |
+
1,
|
| 2615 |
+
1,
|
| 2616 |
+
1,
|
| 2617 |
+
1,
|
| 2618 |
+
1,
|
| 2619 |
+
1,
|
| 2620 |
+
1,
|
| 2621 |
+
1,
|
| 2622 |
+
1,
|
| 2623 |
+
1,
|
| 2624 |
+
1,
|
| 2625 |
+
1,
|
| 2626 |
+
1,
|
| 2627 |
+
1,
|
| 2628 |
+
1,
|
| 2629 |
+
1,
|
| 2630 |
+
1,
|
| 2631 |
+
1,
|
| 2632 |
+
1,
|
| 2633 |
+
1,
|
| 2634 |
+
1,
|
| 2635 |
+
1,
|
| 2636 |
+
1,
|
| 2637 |
+
1,
|
| 2638 |
+
1,
|
| 2639 |
+
1,
|
| 2640 |
+
1,
|
| 2641 |
+
1,
|
| 2642 |
+
1,
|
| 2643 |
+
1,
|
| 2644 |
+
1,
|
| 2645 |
+
1,
|
| 2646 |
+
1,
|
| 2647 |
+
1,
|
| 2648 |
+
1,
|
| 2649 |
+
1,
|
| 2650 |
+
1,
|
| 2651 |
+
1,
|
| 2652 |
+
1,
|
| 2653 |
+
1,
|
| 2654 |
+
1,
|
| 2655 |
+
1,
|
| 2656 |
+
1,
|
| 2657 |
+
1,
|
| 2658 |
+
1,
|
| 2659 |
+
1,
|
| 2660 |
+
1,
|
| 2661 |
+
1,
|
| 2662 |
+
1,
|
| 2663 |
+
1,
|
| 2664 |
+
1,
|
| 2665 |
+
1,
|
| 2666 |
+
1,
|
| 2667 |
+
1,
|
| 2668 |
+
1,
|
| 2669 |
+
1,
|
| 2670 |
+
1,
|
| 2671 |
+
1,
|
| 2672 |
+
1,
|
| 2673 |
+
1,
|
| 2674 |
+
1,
|
| 2675 |
+
1,
|
| 2676 |
+
1,
|
| 2677 |
+
1,
|
| 2678 |
+
1,
|
| 2679 |
+
1,
|
| 2680 |
+
1,
|
| 2681 |
+
1,
|
| 2682 |
+
1,
|
| 2683 |
+
1,
|
| 2684 |
+
1,
|
| 2685 |
+
1,
|
| 2686 |
+
1,
|
| 2687 |
+
1,
|
| 2688 |
+
1,
|
| 2689 |
+
1,
|
| 2690 |
+
1,
|
| 2691 |
+
1,
|
| 2692 |
+
1,
|
| 2693 |
+
1,
|
| 2694 |
+
1,
|
| 2695 |
+
1,
|
| 2696 |
+
1,
|
| 2697 |
+
1,
|
| 2698 |
+
1,
|
| 2699 |
+
1,
|
| 2700 |
+
1,
|
| 2701 |
+
1,
|
| 2702 |
+
1,
|
| 2703 |
+
1,
|
| 2704 |
+
1,
|
| 2705 |
+
1,
|
| 2706 |
+
1,
|
| 2707 |
+
1,
|
| 2708 |
+
1,
|
| 2709 |
+
1,
|
| 2710 |
+
1,
|
| 2711 |
+
1,
|
| 2712 |
+
1,
|
| 2713 |
+
1
|
| 2714 |
+
],
|
| 2715 |
+
"seconds": 0.02609989297343418
|
| 2716 |
+
}
|
| 2717 |
+
]
|
| 2718 |
+
}
|
paper/runs/paper_redundant_layers_r3.json
ADDED
|
@@ -0,0 +1,245 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"r": 3,
|
| 3 |
+
"steps": 4000,
|
| 4 |
+
"per_layer_rows_at_half": [
|
| 5 |
+
2061.18125,
|
| 6 |
+
2980.828,
|
| 7 |
+
2090.0,
|
| 8 |
+
2092.0,
|
| 9 |
+
2945.254,
|
| 10 |
+
2339.71825,
|
| 11 |
+
2371.17475,
|
| 12 |
+
2373.1155,
|
| 13 |
+
2500.67575,
|
| 14 |
+
2342.0515,
|
| 15 |
+
2339.0,
|
| 16 |
+
2398.76375,
|
| 17 |
+
2057.0
|
| 18 |
+
],
|
| 19 |
+
"last_layer_hist": {
|
| 20 |
+
"-1": 1751.085,
|
| 21 |
+
"0": 305.915
|
| 22 |
+
},
|
| 23 |
+
"rows": [
|
| 24 |
+
{
|
| 25 |
+
"sigma": 0.06,
|
| 26 |
+
"measured": 0.0,
|
| 27 |
+
"deviated": 0,
|
| 28 |
+
"full": 2.8327107826673933e-133,
|
| 29 |
+
"last_layer": 1.8862875375088718e-134,
|
| 30 |
+
"per_layer": [
|
| 31 |
+
1.8901217814399408e-134,
|
| 32 |
+
2.733446138968155e-134,
|
| 33 |
+
1.9165488349020623e-134,
|
| 34 |
+
1.9183828529258916e-134,
|
| 35 |
+
2.7008244603782956e-134,
|
| 36 |
+
2.1455427205916705e-134,
|
| 37 |
+
2.1743886145749706e-134,
|
| 38 |
+
2.1761682998148445e-134,
|
| 39 |
+
2.2931421986269576e-134,
|
| 40 |
+
2.1476823318687212e-134,
|
| 41 |
+
2.1448840788688628e-134,
|
| 42 |
+
2.1996879762046902e-134,
|
| 43 |
+
1.8862875375088718e-134
|
| 44 |
+
]
|
| 45 |
+
},
|
| 46 |
+
{
|
| 47 |
+
"sigma": 0.12,
|
| 48 |
+
"measured": 0.0,
|
| 49 |
+
"deviated": 0,
|
| 50 |
+
"full": 3.459052746172636e-31,
|
| 51 |
+
"last_layer": 2.3033654288374967e-32,
|
| 52 |
+
"per_layer": [
|
| 53 |
+
2.308047464179901e-32,
|
| 54 |
+
3.3378396521686036e-32,
|
| 55 |
+
2.3403178153963871e-32,
|
| 56 |
+
2.3425573539757138e-32,
|
| 57 |
+
3.2980049794581197e-32,
|
| 58 |
+
2.6199446428148595e-32,
|
| 59 |
+
2.655168665475155e-32,
|
| 60 |
+
2.657341857724069e-32,
|
| 61 |
+
2.800179908255848e-32,
|
| 62 |
+
2.6225573445099664e-32,
|
| 63 |
+
2.619140368522559e-32,
|
| 64 |
+
2.686061980407677e-32,
|
| 65 |
+
2.3033654288374967e-32
|
| 66 |
+
]
|
| 67 |
+
},
|
| 68 |
+
{
|
| 69 |
+
"sigma": 0.18,
|
| 70 |
+
"measured": 0.0,
|
| 71 |
+
"deviated": 0,
|
| 72 |
+
"full": 3.641903637405344e-12,
|
| 73 |
+
"last_layer": 2.4251248966465847e-13,
|
| 74 |
+
"per_layer": [
|
| 75 |
+
2.4300544316364263e-13,
|
| 76 |
+
3.5142830313180584e-13,
|
| 77 |
+
2.4640306436516106e-13,
|
| 78 |
+
2.4663885677125207e-13,
|
| 79 |
+
3.4723426360466413e-13,
|
| 80 |
+
2.7584389787133586e-13,
|
| 81 |
+
2.795524997824376e-13,
|
| 82 |
+
2.797813068384982e-13,
|
| 83 |
+
2.94820175973037e-13,
|
| 84 |
+
2.7611897918709183e-13,
|
| 85 |
+
2.757592189234984e-13,
|
| 86 |
+
2.828051381282608e-13,
|
| 87 |
+
2.4251248966465847e-13
|
| 88 |
+
]
|
| 89 |
+
},
|
| 90 |
+
{
|
| 91 |
+
"sigma": 0.24,
|
| 92 |
+
"measured": 9.78616256186078e-07,
|
| 93 |
+
"deviated": 1,
|
| 94 |
+
"full": 1.9018794770682307e-05,
|
| 95 |
+
"last_layer": 1.2664517597026156e-06,
|
| 96 |
+
"per_layer": [
|
| 97 |
+
1.2690260676366245e-06,
|
| 98 |
+
1.8352332843805677e-06,
|
| 99 |
+
1.286769167612283e-06,
|
| 100 |
+
1.2880005256674144e-06,
|
| 101 |
+
1.8133311186539462e-06,
|
| 102 |
+
1.4405154569376879e-06,
|
| 103 |
+
1.459882564268308e-06,
|
| 104 |
+
1.461077443341056e-06,
|
| 105 |
+
1.539613614017092e-06,
|
| 106 |
+
1.4419519900287555e-06,
|
| 107 |
+
1.4400732454761386e-06,
|
| 108 |
+
1.4768685329598175e-06,
|
| 109 |
+
1.2664517597026156e-06
|
| 110 |
+
]
|
| 111 |
+
},
|
| 112 |
+
{
|
| 113 |
+
"sigma": 0.27,
|
| 114 |
+
"measured": 8.473993999496142e-05,
|
| 115 |
+
"deviated": 74,
|
| 116 |
+
"full": 0.0012822609465080613,
|
| 117 |
+
"last_layer": 8.538509677839153e-05,
|
| 118 |
+
"per_layer": [
|
| 119 |
+
8.555865848763054e-05,
|
| 120 |
+
0.00012373275997070455,
|
| 121 |
+
8.675491116521064e-05,
|
| 122 |
+
8.683793021895725e-05,
|
| 123 |
+
0.00012225610006171356,
|
| 124 |
+
9.712059757434072e-05,
|
| 125 |
+
9.842634200643089e-05,
|
| 126 |
+
9.850690162071024e-05,
|
| 127 |
+
0.00010380186724605095,
|
| 128 |
+
9.721744967791787e-05,
|
| 129 |
+
9.709078335666397e-05,
|
| 130 |
+
9.957154834333855e-05,
|
| 131 |
+
8.538509677839153e-05
|
| 132 |
+
]
|
| 133 |
+
},
|
| 134 |
+
{
|
| 135 |
+
"sigma": 0.3,
|
| 136 |
+
"measured": 0.002463030489623522,
|
| 137 |
+
"deviated": 256,
|
| 138 |
+
"full": 0.026564657096504317,
|
| 139 |
+
"last_layer": 0.00176892685006651,
|
| 140 |
+
"per_layer": [
|
| 141 |
+
0.0017725225357212693,
|
| 142 |
+
0.002563377095104548,
|
| 143 |
+
0.0017973053556825504,
|
| 144 |
+
0.0017990252651138255,
|
| 145 |
+
0.0025327850660504564,
|
| 146 |
+
0.0020120517423508153,
|
| 147 |
+
0.002039102907863269,
|
| 148 |
+
0.0020407718649776427,
|
| 149 |
+
0.0021504679034930517,
|
| 150 |
+
0.0020140582316910765,
|
| 151 |
+
0.002011434079876308,
|
| 152 |
+
0.0020628281985129943,
|
| 153 |
+
0.00176892685006651
|
| 154 |
+
]
|
| 155 |
+
},
|
| 156 |
+
{
|
| 157 |
+
"sigma": 0.33,
|
| 158 |
+
"measured": 0.025829885985268895,
|
| 159 |
+
"deviated": 256,
|
| 160 |
+
"full": 0.2540000374425606,
|
| 161 |
+
"last_layer": 0.01691373182487529,
|
| 162 |
+
"per_layer": [
|
| 163 |
+
0.016948112253262634,
|
| 164 |
+
0.02450992970737937,
|
| 165 |
+
0.017185075116183453,
|
| 166 |
+
0.01720152016414152,
|
| 167 |
+
0.024217421639349177,
|
| 168 |
+
0.019238389414811145,
|
| 169 |
+
0.019497041240357664,
|
| 170 |
+
0.019512999103769975,
|
| 171 |
+
0.020561866318166696,
|
| 172 |
+
0.019257574618885227,
|
| 173 |
+
0.019232483586963202,
|
| 174 |
+
0.019723892454415262,
|
| 175 |
+
0.01691373182487529
|
| 176 |
+
]
|
| 177 |
+
},
|
| 178 |
+
{
|
| 179 |
+
"sigma": 0.36,
|
| 180 |
+
"measured": 0.14789139225880993,
|
| 181 |
+
"deviated": 256,
|
| 182 |
+
"full": 1.4321850553772115,
|
| 183 |
+
"last_layer": 0.09536846606064864,
|
| 184 |
+
"per_layer": [
|
| 185 |
+
0.09556232089716594,
|
| 186 |
+
0.1381998026011819,
|
| 187 |
+
0.09689844145199596,
|
| 188 |
+
0.09699116723328972,
|
| 189 |
+
0.1365504891293095,
|
| 190 |
+
0.10847610136927818,
|
| 191 |
+
0.10993451563891202,
|
| 192 |
+
0.11002449441893497,
|
| 193 |
+
0.11593855634057465,
|
| 194 |
+
0.10858427758388005,
|
| 195 |
+
0.10844280122307104,
|
| 196 |
+
0.11121362142896901,
|
| 197 |
+
0.09536846606064864
|
| 198 |
+
]
|
| 199 |
+
},
|
| 200 |
+
{
|
| 201 |
+
"sigma": 0.45,
|
| 202 |
+
"measured": 0.9961089494163424,
|
| 203 |
+
"deviated": 256,
|
| 204 |
+
"full": 39.76200287465844,
|
| 205 |
+
"last_layer": 2.647731316157689,
|
| 206 |
+
"per_layer": [
|
| 207 |
+
2.6531133417122272,
|
| 208 |
+
3.8368651646473957,
|
| 209 |
+
2.6902082891441763,
|
| 210 |
+
2.6927826511433572,
|
| 211 |
+
3.7910749877679626,
|
| 212 |
+
3.01164087579517,
|
| 213 |
+
3.05213108490879,
|
| 214 |
+
3.0546291814337447,
|
| 215 |
+
3.2188223115367607,
|
| 216 |
+
3.014644190862465,
|
| 217 |
+
3.010716358042214,
|
| 218 |
+
3.087643121506493,
|
| 219 |
+
2.647731316157689
|
| 220 |
+
]
|
| 221 |
+
},
|
| 222 |
+
{
|
| 223 |
+
"sigma": 0.6,
|
| 224 |
+
"measured": 1.0,
|
| 225 |
+
"deviated": 256,
|
| 226 |
+
"full": 575.4638950073521,
|
| 227 |
+
"last_layer": 38.31984472536456,
|
| 228 |
+
"per_layer": [
|
| 229 |
+
38.39773721479791,
|
| 230 |
+
55.52983282160848,
|
| 231 |
+
38.934601592616396,
|
| 232 |
+
38.97185958457641,
|
| 233 |
+
54.86712491854374,
|
| 234 |
+
43.58660186733258,
|
| 235 |
+
44.172604879293466,
|
| 236 |
+
44.20875910323598,
|
| 237 |
+
46.58507848736298,
|
| 238 |
+
43.630067972196656,
|
| 239 |
+
43.57322159097117,
|
| 240 |
+
44.68656024945178,
|
| 241 |
+
38.31984472536456
|
| 242 |
+
]
|
| 243 |
+
}
|
| 244 |
+
]
|
| 245 |
+
}
|
paper/runs/paper_redundant_omega_r3.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"r": 3,
|
| 3 |
+
"M": 125901,
|
| 4 |
+
"target_bytes": 305508,
|
| 5 |
+
"rows": [
|
| 6 |
+
{
|
| 7 |
+
"sigma": 0.1,
|
| 8 |
+
"steps": 1664939,
|
| 9 |
+
"bytes": 305508,
|
| 10 |
+
"complete": true,
|
| 11 |
+
"first_wrong_byte": null,
|
| 12 |
+
"halted": true,
|
| 13 |
+
"seconds": 4920.186348318995,
|
| 14 |
+
"bound": 1.538997404726276e-39
|
| 15 |
+
},
|
| 16 |
+
{
|
| 17 |
+
"sigma": 0.15,
|
| 18 |
+
"steps": 1664939,
|
| 19 |
+
"bytes": 305508,
|
| 20 |
+
"complete": true,
|
| 21 |
+
"first_wrong_byte": null,
|
| 22 |
+
"halted": true,
|
| 23 |
+
"seconds": 2972.5451199779927,
|
| 24 |
+
"bound": 3.194508854582684e-12
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"sigma": 0.2,
|
| 28 |
+
"steps": 1664939,
|
| 29 |
+
"bytes": 305508,
|
| 30 |
+
"complete": true,
|
| 31 |
+
"first_wrong_byte": null,
|
| 32 |
+
"halted": true,
|
| 33 |
+
"seconds": 3348.026227567985,
|
| 34 |
+
"bound": 0.013377333750149488
|
| 35 |
+
},
|
| 36 |
+
{
|
| 37 |
+
"sigma": 0.25,
|
| 38 |
+
"steps": 1664939,
|
| 39 |
+
"bytes": 305508,
|
| 40 |
+
"complete": true,
|
| 41 |
+
"first_wrong_byte": null,
|
| 42 |
+
"halted": true,
|
| 43 |
+
"seconds": 5683.312528293987,
|
| 44 |
+
"bound": 413.61204184670515
|
| 45 |
+
}
|
| 46 |
+
]
|
| 47 |
+
}
|
paper/runs/paper_redundant_r3.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"r": 3,
|
| 3 |
+
"state_bits": 6171,
|
| 4 |
+
"units": 125901,
|
| 5 |
+
"edges": 679509,
|
| 6 |
+
"depth": 13,
|
| 7 |
+
"lev_rows": 41967,
|
| 8 |
+
"layer_widths": [
|
| 9 |
+
6939,
|
| 10 |
+
24630,
|
| 11 |
+
6270,
|
| 12 |
+
7761,
|
| 13 |
+
19281,
|
| 14 |
+
7041,
|
| 15 |
+
7137,
|
| 16 |
+
7167,
|
| 17 |
+
7827,
|
| 18 |
+
7059,
|
| 19 |
+
7017,
|
| 20 |
+
11601,
|
| 21 |
+
6171
|
| 22 |
+
],
|
| 23 |
+
"sigma_bytes": 3121539,
|
| 24 |
+
"sigma_sha256": "111bb202e6f2728449c6b0761f57a059bc0fb38e3e5ba8447bac6613ec7ce313",
|
| 25 |
+
"bias_min": -23,
|
| 26 |
+
"bias_max": 4,
|
| 27 |
+
"max_fanin": 768,
|
| 28 |
+
"build_seconds": 0.6454255809949245,
|
| 29 |
+
"sigma_roundtrip": true,
|
| 30 |
+
"c_random": "random states: 65536 tested, 0 disagree with SUBLEQ, 0 halt-latch mismatches, 0 halted batches not fixed",
|
| 31 |
+
"c_random_ok": true,
|
| 32 |
+
"min_margin_random_states": 1.5,
|
| 33 |
+
"accelerator_prefix_ok": true,
|
| 34 |
+
"ok": true
|
| 35 |
+
}
|
paper/runs/paper_redundant_restore_r3.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"r": 3,
|
| 3 |
+
"steps": 20000,
|
| 4 |
+
"rows": [
|
| 5 |
+
{
|
| 6 |
+
"sigma": 0.24,
|
| 7 |
+
"steps": 20000,
|
| 8 |
+
"copy_errors": 0,
|
| 9 |
+
"steps_with_copy_errors": 0,
|
| 10 |
+
"max_copy_errors_in_a_step": 0,
|
| 11 |
+
"copy_errors_carried_to_next_step": 0,
|
| 12 |
+
"decoded_first_deviation": null,
|
| 13 |
+
"bytes": 3950,
|
| 14 |
+
"bytes_equal": true,
|
| 15 |
+
"seconds": 54.976982238003984
|
| 16 |
+
},
|
| 17 |
+
{
|
| 18 |
+
"sigma": 0.27,
|
| 19 |
+
"steps": 20000,
|
| 20 |
+
"copy_errors": 2,
|
| 21 |
+
"steps_with_copy_errors": 2,
|
| 22 |
+
"max_copy_errors_in_a_step": 1,
|
| 23 |
+
"copy_errors_carried_to_next_step": 0,
|
| 24 |
+
"decoded_first_deviation": null,
|
| 25 |
+
"bytes": 3950,
|
| 26 |
+
"bytes_equal": true,
|
| 27 |
+
"seconds": 80.73841675600852
|
| 28 |
+
},
|
| 29 |
+
{
|
| 30 |
+
"sigma": 0.3,
|
| 31 |
+
"steps": 288,
|
| 32 |
+
"copy_errors": 6,
|
| 33 |
+
"steps_with_copy_errors": 4,
|
| 34 |
+
"max_copy_errors_in_a_step": 3,
|
| 35 |
+
"copy_errors_carried_to_next_step": 1,
|
| 36 |
+
"decoded_first_deviation": 288,
|
| 37 |
+
"bytes": 54,
|
| 38 |
+
"bytes_equal": true,
|
| 39 |
+
"seconds": 1.0162241850048304
|
| 40 |
+
},
|
| 41 |
+
{
|
| 42 |
+
"sigma": 0.33,
|
| 43 |
+
"steps": 110,
|
| 44 |
+
"copy_errors": 5,
|
| 45 |
+
"steps_with_copy_errors": 3,
|
| 46 |
+
"max_copy_errors_in_a_step": 3,
|
| 47 |
+
"copy_errors_carried_to_next_step": 0,
|
| 48 |
+
"decoded_first_deviation": 110,
|
| 49 |
+
"bytes": 18,
|
| 50 |
+
"bytes_equal": true,
|
| 51 |
+
"seconds": 0.3773938849917613
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"sigma": 0.36,
|
| 55 |
+
"steps": 38,
|
| 56 |
+
"copy_errors": 5,
|
| 57 |
+
"steps_with_copy_errors": 3,
|
| 58 |
+
"max_copy_errors_in_a_step": 3,
|
| 59 |
+
"copy_errors_carried_to_next_step": 0,
|
| 60 |
+
"decoded_first_deviation": 38,
|
| 61 |
+
"bytes": 5,
|
| 62 |
+
"bytes_equal": true,
|
| 63 |
+
"seconds": 0.13369095901725814
|
| 64 |
+
}
|
| 65 |
+
]
|
| 66 |
+
}
|
paper/runs/paper_redundant_selfrep_r3.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"r": 3,
|
| 3 |
+
"sigma_bytes": 3121539,
|
| 4 |
+
"sigma_sha256": "111bb202e6f2728449c6b0761f57a059bc0fb38e3e5ba8447bac6613ec7ce313",
|
| 5 |
+
"tau_bytes": 3022111,
|
| 6 |
+
"ser_bytes": 6143922,
|
| 7 |
+
"ser_sha256": "05005d59c373fb4998576ac098093de6df046355348e00370dbdccb1d458e3de",
|
| 8 |
+
"census": {
|
| 9 |
+
"L": 23892,
|
| 10 |
+
"R": 1581,
|
| 11 |
+
"f_lit": 2995056,
|
| 12 |
+
"f_rep": 126755
|
| 13 |
+
},
|
| 14 |
+
"closed_form": {
|
| 15 |
+
"A": 15663780,
|
| 16 |
+
"R": 1,
|
| 17 |
+
"B": 18132668,
|
| 18 |
+
"total": 33796449
|
| 19 |
+
},
|
| 20 |
+
"mode": "lock",
|
| 21 |
+
"c_result": "mode lock: halted after 33796449 steps, head 3022111 of 3022111, 6143922 bytes emitted",
|
| 22 |
+
"steps": 33796449,
|
| 23 |
+
"seconds": 6208.497068050987,
|
| 24 |
+
"steps_per_second": 5443.579763275882,
|
| 25 |
+
"out_bytes": 6143922,
|
| 26 |
+
"out_sha256": "05005d59c373fb4998576ac098093de6df046355348e00370dbdccb1d458e3de",
|
| 27 |
+
"equals_ser": true,
|
| 28 |
+
"closed_form_agrees": true,
|
| 29 |
+
"inst_recovers_instance": true,
|
| 30 |
+
"units": 125901,
|
| 31 |
+
"edges": 679509,
|
| 32 |
+
"state_bits": 6171,
|
| 33 |
+
"ok": true,
|
| 34 |
+
"total_seconds": 6209.988521510997
|
| 35 |
+
}
|
paper/runs/paper_runs_family.json
CHANGED
|
@@ -218,11 +218,11 @@
|
|
| 218 |
},
|
| 219 |
{
|
| 220 |
"file": "neural_subleq8io_netlist.safetensors",
|
| 221 |
-
"bytes":
|
| 222 |
-
"recipe":
|
| 223 |
-
"steps":
|
| 224 |
"exact": true,
|
| 225 |
-
"sha256": "
|
| 226 |
},
|
| 227 |
{
|
| 228 |
"file": "neural_tile.safetensors",
|
|
@@ -233,8 +233,9 @@
|
|
| 233 |
"sha256": "ba6e721eef8359d84ec58c46c1436c1298ac8191539adf9cc2c03ff9123583a8"
|
| 234 |
}
|
| 235 |
],
|
| 236 |
-
"bytes":
|
| 237 |
-
"steps":
|
|
|
|
| 238 |
"failures": 0,
|
| 239 |
-
"seconds":
|
| 240 |
}
|
|
|
|
| 218 |
},
|
| 219 |
{
|
| 220 |
"file": "neural_subleq8io_netlist.safetensors",
|
| 221 |
+
"bytes": 160240,
|
| 222 |
+
"recipe": 144891,
|
| 223 |
+
"steps": 793709,
|
| 224 |
"exact": true,
|
| 225 |
+
"sha256": "55c555bd64302190d5bde57ee0cd41b36dac5cf65066d0ed3468567a57e85fa3"
|
| 226 |
},
|
| 227 |
{
|
| 228 |
"file": "neural_tile.safetensors",
|
|
|
|
| 233 |
"sha256": "ba6e721eef8359d84ec58c46c1436c1298ac8191539adf9cc2c03ff9123583a8"
|
| 234 |
}
|
| 235 |
],
|
| 236 |
+
"bytes": 971266155,
|
| 237 |
+
"steps": 4714592952,
|
| 238 |
+
"recipe_bytes": 774247834,
|
| 239 |
"failures": 0,
|
| 240 |
+
"seconds": 317.137809242995
|
| 241 |
}
|
paper/runs/paper_runs_family_gate.json
CHANGED
|
@@ -7,8 +7,8 @@
|
|
| 7 |
"steps": 4977,
|
| 8 |
"reference_steps": 4977,
|
| 9 |
"exact": true,
|
| 10 |
-
"seconds":
|
| 11 |
-
"steps_per_second":
|
| 12 |
"sha256": "ba6e721eef8359d84ec58c46c1436c1298ac8191539adf9cc2c03ff9123583a8"
|
| 13 |
},
|
| 14 |
{
|
|
@@ -18,8 +18,8 @@
|
|
| 18 |
"steps": 6977,
|
| 19 |
"reference_steps": 6977,
|
| 20 |
"exact": true,
|
| 21 |
-
"seconds":
|
| 22 |
-
"steps_per_second":
|
| 23 |
"sha256": "d10be4d24d91d2d1100022369d8809c7be9fad154c1347f38ae74c7d59a25ee4"
|
| 24 |
},
|
| 25 |
{
|
|
@@ -29,8 +29,8 @@
|
|
| 29 |
"steps": 12477,
|
| 30 |
"reference_steps": 12477,
|
| 31 |
"exact": true,
|
| 32 |
-
"seconds":
|
| 33 |
-
"steps_per_second":
|
| 34 |
"sha256": "b77a985dea3104679d73cfaf20b9c3efc72646cd177412dbec41475a7a37d5c0"
|
| 35 |
},
|
| 36 |
{
|
|
@@ -40,13 +40,13 @@
|
|
| 40 |
"steps": 577241,
|
| 41 |
"reference_steps": 577241,
|
| 42 |
"exact": true,
|
| 43 |
-
"seconds":
|
| 44 |
-
"steps_per_second":
|
| 45 |
"sha256": "447c649f73bf3e1ad310a541954e942f70778c591c8fb61018c24973203c13d8"
|
| 46 |
}
|
| 47 |
],
|
| 48 |
"bytes": 100553,
|
| 49 |
"steps": 601672,
|
| 50 |
"failures": 0,
|
| 51 |
-
"seconds":
|
| 52 |
}
|
|
|
|
| 7 |
"steps": 4977,
|
| 8 |
"reference_steps": 4977,
|
| 9 |
"exact": true,
|
| 10 |
+
"seconds": 6.1430282479850575,
|
| 11 |
+
"steps_per_second": 810.1867351224504,
|
| 12 |
"sha256": "ba6e721eef8359d84ec58c46c1436c1298ac8191539adf9cc2c03ff9123583a8"
|
| 13 |
},
|
| 14 |
{
|
|
|
|
| 18 |
"steps": 6977,
|
| 19 |
"reference_steps": 6977,
|
| 20 |
"exact": true,
|
| 21 |
+
"seconds": 8.177679147018353,
|
| 22 |
+
"steps_per_second": 853.1760508779402,
|
| 23 |
"sha256": "d10be4d24d91d2d1100022369d8809c7be9fad154c1347f38ae74c7d59a25ee4"
|
| 24 |
},
|
| 25 |
{
|
|
|
|
| 29 |
"steps": 12477,
|
| 30 |
"reference_steps": 12477,
|
| 31 |
"exact": true,
|
| 32 |
+
"seconds": 14.676250340009574,
|
| 33 |
+
"steps_per_second": 850.149030640742,
|
| 34 |
"sha256": "b77a985dea3104679d73cfaf20b9c3efc72646cd177412dbec41475a7a37d5c0"
|
| 35 |
},
|
| 36 |
{
|
|
|
|
| 40 |
"steps": 577241,
|
| 41 |
"reference_steps": 577241,
|
| 42 |
"exact": true,
|
| 43 |
+
"seconds": 685.9047773669881,
|
| 44 |
+
"steps_per_second": 841.5760015783526,
|
| 45 |
"sha256": "447c649f73bf3e1ad310a541954e942f70778c591c8fb61018c24973203c13d8"
|
| 46 |
}
|
| 47 |
],
|
| 48 |
"bytes": 100553,
|
| 49 |
"steps": 601672,
|
| 50 |
"failures": 0,
|
| 51 |
+
"seconds": 715.2594515930105
|
| 52 |
}
|
paper/runs/paper_runs_lev_sparse.json
CHANGED
|
@@ -1,36 +1,36 @@
|
|
| 1 |
{
|
| 2 |
-
"sigma_bytes":
|
| 3 |
-
"sigma_sha256": "
|
| 4 |
-
"r_H_bytes":
|
| 5 |
-
"tau_star_bytes":
|
| 6 |
-
"ser_bytes":
|
| 7 |
-
"ser_sha256": "
|
| 8 |
"P_instructions": 21,
|
| 9 |
"P_star_instructions": 27,
|
| 10 |
"lev_info": {
|
| 11 |
-
"layers":
|
| 12 |
-
"gates":
|
| 13 |
-
"netlist_gates":
|
| 14 |
-
"max_width":
|
| 15 |
-
"total_weights":
|
| 16 |
-
"size":
|
| 17 |
-
"nonzero":
|
| 18 |
},
|
| 19 |
"lev_form": "nonzero entries, CUDA graph",
|
| 20 |
"selfrep": {
|
| 21 |
"generations": [
|
| 22 |
{
|
| 23 |
"generation": 1,
|
| 24 |
-
"bytes":
|
| 25 |
-
"steps":
|
| 26 |
-
"sha256": "
|
| 27 |
-
"seconds":
|
| 28 |
-
"instantiate_seconds":
|
| 29 |
"equals_ser": true
|
| 30 |
}
|
| 31 |
],
|
| 32 |
"digests_coincide": true,
|
| 33 |
-
"target_sha256": "
|
| 34 |
-
"target_bytes":
|
| 35 |
}
|
| 36 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"sigma_bytes": 160240,
|
| 3 |
+
"sigma_sha256": "55c555bd64302190d5bde57ee0cd41b36dac5cf65066d0ed3468567a57e85fa3",
|
| 4 |
+
"r_H_bytes": 144891,
|
| 5 |
+
"tau_star_bytes": 144996,
|
| 6 |
+
"ser_bytes": 305508,
|
| 7 |
+
"ser_sha256": "c5950d3fec6bcf70e8111586a030d21b2dfa55bd69a1c7fe5f016cb06e7fb523",
|
| 8 |
"P_instructions": 21,
|
| 9 |
"P_star_instructions": 27,
|
| 10 |
"lev_info": {
|
| 11 |
+
"layers": 13,
|
| 12 |
+
"gates": 17598,
|
| 13 |
+
"netlist_gates": 17598,
|
| 14 |
+
"max_width": 8210,
|
| 15 |
+
"total_weights": 124165940,
|
| 16 |
+
"size": 41967,
|
| 17 |
+
"nonzero": 75501
|
| 18 |
},
|
| 19 |
"lev_form": "nonzero entries, CUDA graph",
|
| 20 |
"selfrep": {
|
| 21 |
"generations": [
|
| 22 |
{
|
| 23 |
"generation": 1,
|
| 24 |
+
"bytes": 305508,
|
| 25 |
+
"steps": 1664939,
|
| 26 |
+
"sha256": "c5950d3fec6bcf70e8111586a030d21b2dfa55bd69a1c7fe5f016cb06e7fb523",
|
| 27 |
+
"seconds": 2716.608349938004,
|
| 28 |
+
"instantiate_seconds": 2.543904036981985,
|
| 29 |
"equals_ser": true
|
| 30 |
}
|
| 31 |
],
|
| 32 |
"digests_coincide": true,
|
| 33 |
+
"target_sha256": "c5950d3fec6bcf70e8111586a030d21b2dfa55bd69a1c7fe5f016cb06e7fb523",
|
| 34 |
+
"target_bytes": 305508
|
| 35 |
}
|
| 36 |
}
|
paper/runs/paper_runs_lockstep.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
| 1 |
{
|
| 2 |
-
"sigma_bytes":
|
| 3 |
-
"sigma_sha256": "
|
| 4 |
-
"r_H_bytes":
|
| 5 |
-
"tau_star_bytes":
|
| 6 |
-
"ser_bytes":
|
| 7 |
-
"ser_sha256": "
|
| 8 |
"P_instructions": 21,
|
| 9 |
"P_star_instructions": 27,
|
| 10 |
"lockstep": {
|
| 11 |
"steps": 20000,
|
| 12 |
"divergences": 0,
|
| 13 |
-
"bytes":
|
| 14 |
-
"seconds":
|
| 15 |
}
|
| 16 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"sigma_bytes": 160240,
|
| 3 |
+
"sigma_sha256": "55c555bd64302190d5bde57ee0cd41b36dac5cf65066d0ed3468567a57e85fa3",
|
| 4 |
+
"r_H_bytes": 144891,
|
| 5 |
+
"tau_star_bytes": 144996,
|
| 6 |
+
"ser_bytes": 305508,
|
| 7 |
+
"ser_sha256": "c5950d3fec6bcf70e8111586a030d21b2dfa55bd69a1c7fe5f016cb06e7fb523",
|
| 8 |
"P_instructions": 21,
|
| 9 |
"P_star_instructions": 27,
|
| 10 |
"lockstep": {
|
| 11 |
"steps": 20000,
|
| 12 |
"divergences": 0,
|
| 13 |
+
"bytes": 3948,
|
| 14 |
+
"seconds": 1007.2267207720142
|
| 15 |
}
|
| 16 |
}
|
paper/runs/paper_runs_net.json
CHANGED
|
@@ -1,57 +1,57 @@
|
|
| 1 |
{
|
| 2 |
-
"sigma_bytes":
|
| 3 |
-
"sigma_sha256": "
|
| 4 |
-
"r_H_bytes":
|
| 5 |
-
"tau_star_bytes":
|
| 6 |
-
"ser_bytes":
|
| 7 |
-
"ser_sha256": "
|
| 8 |
"P_instructions": 21,
|
| 9 |
"P_star_instructions": 27,
|
| 10 |
"evaluator": "the netlist of sigma, unit by unit",
|
| 11 |
"net_info": {
|
| 12 |
-
"levels":
|
| 13 |
-
"units":
|
| 14 |
-
"entries":
|
| 15 |
},
|
| 16 |
"selfdesc": {
|
| 17 |
-
"bytes":
|
| 18 |
-
"steps":
|
| 19 |
-
"seconds":
|
| 20 |
"exact": true,
|
| 21 |
-
"sha256": "
|
| 22 |
},
|
| 23 |
"selfrep": {
|
| 24 |
"generations": [
|
| 25 |
{
|
| 26 |
"generation": 1,
|
| 27 |
-
"bytes":
|
| 28 |
-
"steps":
|
| 29 |
-
"sha256": "
|
| 30 |
-
"seconds":
|
| 31 |
-
"instantiate_seconds": 0.
|
| 32 |
"equals_ser": true
|
| 33 |
},
|
| 34 |
{
|
| 35 |
"generation": 2,
|
| 36 |
-
"bytes":
|
| 37 |
-
"steps":
|
| 38 |
-
"sha256": "
|
| 39 |
-
"seconds":
|
| 40 |
-
"instantiate_seconds":
|
| 41 |
"equals_ser": true
|
| 42 |
},
|
| 43 |
{
|
| 44 |
"generation": 3,
|
| 45 |
-
"bytes":
|
| 46 |
-
"steps":
|
| 47 |
-
"sha256": "
|
| 48 |
-
"seconds":
|
| 49 |
-
"instantiate_seconds": 1.
|
| 50 |
"equals_ser": true
|
| 51 |
}
|
| 52 |
],
|
| 53 |
"digests_coincide": true,
|
| 54 |
-
"target_sha256": "
|
| 55 |
-
"target_bytes":
|
| 56 |
}
|
| 57 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"sigma_bytes": 160240,
|
| 3 |
+
"sigma_sha256": "55c555bd64302190d5bde57ee0cd41b36dac5cf65066d0ed3468567a57e85fa3",
|
| 4 |
+
"r_H_bytes": 144891,
|
| 5 |
+
"tau_star_bytes": 144996,
|
| 6 |
+
"ser_bytes": 305508,
|
| 7 |
+
"ser_sha256": "c5950d3fec6bcf70e8111586a030d21b2dfa55bd69a1c7fe5f016cb06e7fb523",
|
| 8 |
"P_instructions": 21,
|
| 9 |
"P_star_instructions": 27,
|
| 10 |
"evaluator": "the netlist of sigma, unit by unit",
|
| 11 |
"net_info": {
|
| 12 |
+
"levels": 13,
|
| 13 |
+
"units": 17598,
|
| 14 |
+
"entries": 51132
|
| 15 |
},
|
| 16 |
"selfdesc": {
|
| 17 |
+
"bytes": 160240,
|
| 18 |
+
"steps": 793709,
|
| 19 |
+
"seconds": 1469.131092681986,
|
| 20 |
"exact": true,
|
| 21 |
+
"sha256": "55c555bd64302190d5bde57ee0cd41b36dac5cf65066d0ed3468567a57e85fa3"
|
| 22 |
},
|
| 23 |
"selfrep": {
|
| 24 |
"generations": [
|
| 25 |
{
|
| 26 |
"generation": 1,
|
| 27 |
+
"bytes": 305508,
|
| 28 |
+
"steps": 1664939,
|
| 29 |
+
"sha256": "c5950d3fec6bcf70e8111586a030d21b2dfa55bd69a1c7fe5f016cb06e7fb523",
|
| 30 |
+
"seconds": 1844.9217869749991,
|
| 31 |
+
"instantiate_seconds": 0.3955936379788909,
|
| 32 |
"equals_ser": true
|
| 33 |
},
|
| 34 |
{
|
| 35 |
"generation": 2,
|
| 36 |
+
"bytes": 305508,
|
| 37 |
+
"steps": 1664939,
|
| 38 |
+
"sha256": "c5950d3fec6bcf70e8111586a030d21b2dfa55bd69a1c7fe5f016cb06e7fb523",
|
| 39 |
+
"seconds": 1969.834054453997,
|
| 40 |
+
"instantiate_seconds": 1.5824393009825144,
|
| 41 |
"equals_ser": true
|
| 42 |
},
|
| 43 |
{
|
| 44 |
"generation": 3,
|
| 45 |
+
"bytes": 305508,
|
| 46 |
+
"steps": 1664939,
|
| 47 |
+
"sha256": "c5950d3fec6bcf70e8111586a030d21b2dfa55bd69a1c7fe5f016cb06e7fb523",
|
| 48 |
+
"seconds": 2924.216153805988,
|
| 49 |
+
"instantiate_seconds": 1.7982538790092804,
|
| 50 |
"equals_ser": true
|
| 51 |
}
|
| 52 |
],
|
| 53 |
"digests_coincide": true,
|
| 54 |
+
"target_sha256": "c5950d3fec6bcf70e8111586a030d21b2dfa55bd69a1c7fe5f016cb06e7fb523",
|
| 55 |
+
"target_bytes": 305508
|
| 56 |
}
|
| 57 |
}
|
paper/runs/paper_settle.json
CHANGED
|
@@ -8,5 +8,5 @@
|
|
| 8 |
"wrong_after_d": 0,
|
| 9 |
"wrong_after_d_minus_1": 134784,
|
| 10 |
"ok": true,
|
| 11 |
-
"seconds": 215.
|
| 12 |
}
|
|
|
|
| 8 |
"wrong_after_d": 0,
|
| 9 |
"wrong_after_d_minus_1": 134784,
|
| 10 |
"ok": true,
|
| 11 |
+
"seconds": 215.41703450400382
|
| 12 |
}
|
paper/runs/paper_throughput.json
CHANGED
|
@@ -1,40 +1,45 @@
|
|
| 1 |
{
|
| 2 |
"reference": {
|
| 3 |
-
"steps":
|
| 4 |
-
"seconds": 0.
|
| 5 |
-
"steps_per_second":
|
| 6 |
},
|
| 7 |
"net_cpu": {
|
| 8 |
"steps": 20000,
|
| 9 |
-
"seconds":
|
| 10 |
-
"steps_per_second":
|
| 11 |
-
"units":
|
| 12 |
-
"entries":
|
| 13 |
},
|
| 14 |
"net_gpu": {
|
| 15 |
"steps": 20000,
|
| 16 |
-
"seconds":
|
| 17 |
-
"steps_per_second":
|
| 18 |
-
"units":
|
| 19 |
-
"entries":
|
| 20 |
},
|
| 21 |
"dense_gpu": {
|
| 22 |
"steps": 20000,
|
| 23 |
-
"seconds":
|
| 24 |
-
"steps_per_second":
|
| 25 |
-
"entries":
|
| 26 |
-
"nonzero":
|
| 27 |
-
"bytes_per_step":
|
| 28 |
-
"bandwidth_gbs":
|
| 29 |
},
|
| 30 |
"graph_gpu": {
|
| 31 |
"steps": 20000,
|
| 32 |
-
"seconds":
|
| 33 |
-
"steps_per_second":
|
| 34 |
},
|
| 35 |
"sparse_cpu": {
|
| 36 |
"steps": 20000,
|
| 37 |
-
"seconds":
|
| 38 |
-
"steps_per_second":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
}
|
| 40 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"reference": {
|
| 3 |
+
"steps": 793709,
|
| 4 |
+
"seconds": 0.15002341801300645,
|
| 5 |
+
"steps_per_second": 5290567.369496864
|
| 6 |
},
|
| 7 |
"net_cpu": {
|
| 8 |
"steps": 20000,
|
| 9 |
+
"seconds": 87.65466391999507,
|
| 10 |
+
"steps_per_second": 228.16812141627256,
|
| 11 |
+
"units": 17598,
|
| 12 |
+
"entries": 51132
|
| 13 |
},
|
| 14 |
"net_gpu": {
|
| 15 |
"steps": 20000,
|
| 16 |
+
"seconds": 6.447767465986544,
|
| 17 |
+
"steps_per_second": 3101.8488345779524,
|
| 18 |
+
"units": 17598,
|
| 19 |
+
"entries": 51132
|
| 20 |
},
|
| 21 |
"dense_gpu": {
|
| 22 |
"steps": 20000,
|
| 23 |
+
"seconds": 27.240335542999674,
|
| 24 |
+
"steps_per_second": 734.2053466422765,
|
| 25 |
+
"entries": 124165940,
|
| 26 |
+
"nonzero": 75501,
|
| 27 |
+
"bytes_per_step": 496663760,
|
| 28 |
+
"bandwidth_gbs": 364.6531880754564
|
| 29 |
},
|
| 30 |
"graph_gpu": {
|
| 31 |
"steps": 20000,
|
| 32 |
+
"seconds": 7.7349659229803365,
|
| 33 |
+
"steps_per_second": 2585.6610357623736
|
| 34 |
},
|
| 35 |
"sparse_cpu": {
|
| 36 |
"steps": 20000,
|
| 37 |
+
"seconds": 20.480020295013674,
|
| 38 |
+
"steps_per_second": 976.5615322592944
|
| 39 |
+
},
|
| 40 |
+
"c_evaluator": {
|
| 41 |
+
"steps": 793709,
|
| 42 |
+
"seconds": 21.544317610998405,
|
| 43 |
+
"steps_per_second": 36840.758400015904
|
| 44 |
}
|
| 45 |
}
|
paper/runs/paper_verify.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
| 1 |
{
|
| 2 |
"codec": {
|
| 3 |
"files": 29,
|
| 4 |
-
"bytes":
|
| 5 |
-
"recipe_bytes":
|
| 6 |
"roundtrip_failures": 0,
|
| 7 |
"bound_failures": 0
|
| 8 |
},
|
|
@@ -14,12 +14,13 @@
|
|
| 14 |
"byte_identical": true,
|
| 15 |
"deterministic": true,
|
| 16 |
"round_trip": true,
|
| 17 |
-
"bytes":
|
| 18 |
-
"sha256": "
|
| 19 |
-
"header_bytes":
|
| 20 |
"tensors": 11,
|
| 21 |
"dtypes": [
|
| 22 |
"I16",
|
|
|
|
| 23 |
"I8"
|
| 24 |
],
|
| 25 |
"metadata_keys": [
|
|
@@ -29,8 +30,8 @@
|
|
| 29 |
"weight_quantization"
|
| 30 |
],
|
| 31 |
"ordered_by_dtype_then_name": true,
|
| 32 |
-
"data_offset":
|
| 33 |
-
"header_padding":
|
| 34 |
},
|
| 35 |
"datapath": {
|
| 36 |
"operand_pairs": 65536,
|
|
@@ -54,9 +55,9 @@
|
|
| 54 |
},
|
| 55 |
"lev": {
|
| 56 |
"sparse_dense_agree": true,
|
| 57 |
-
"layers":
|
| 58 |
-
"max_width":
|
| 59 |
-
"total_weights":
|
| 60 |
},
|
| 61 |
-
"seconds":
|
| 62 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"codec": {
|
| 3 |
"files": 29,
|
| 4 |
+
"bytes": 971266155,
|
| 5 |
+
"recipe_bytes": 774247834,
|
| 6 |
"roundtrip_failures": 0,
|
| 7 |
"bound_failures": 0
|
| 8 |
},
|
|
|
|
| 14 |
"byte_identical": true,
|
| 15 |
"deterministic": true,
|
| 16 |
"round_trip": true,
|
| 17 |
+
"bytes": 160240,
|
| 18 |
+
"sha256": "55c555bd64302190d5bde57ee0cd41b36dac5cf65066d0ed3468567a57e85fa3",
|
| 19 |
+
"header_bytes": 1032,
|
| 20 |
"tensors": 11,
|
| 21 |
"dtypes": [
|
| 22 |
"I16",
|
| 23 |
+
"I32",
|
| 24 |
"I8"
|
| 25 |
],
|
| 26 |
"metadata_keys": [
|
|
|
|
| 30 |
"weight_quantization"
|
| 31 |
],
|
| 32 |
"ordered_by_dtype_then_name": true,
|
| 33 |
+
"data_offset": 1040,
|
| 34 |
+
"header_padding": 6
|
| 35 |
},
|
| 36 |
"datapath": {
|
| 37 |
"operand_pairs": 65536,
|
|
|
|
| 55 |
},
|
| 56 |
"lev": {
|
| 57 |
"sparse_dense_agree": true,
|
| 58 |
+
"layers": 13,
|
| 59 |
+
"max_width": 8210,
|
| 60 |
+
"total_weights": 124165940
|
| 61 |
},
|
| 62 |
+
"seconds": 282.2581712300016
|
| 63 |
}
|
paper/runs/paper_verify_times.json
CHANGED
|
@@ -1,83 +1,75 @@
|
|
| 1 |
{
|
| 2 |
-
"tier":
|
| 3 |
-
"total_seconds":
|
| 4 |
"failures": 0,
|
| 5 |
"checks": {
|
| 6 |
"check_device.py": {
|
| 7 |
"ok": true,
|
| 8 |
-
"seconds": 0.
|
| 9 |
},
|
| 10 |
"check_framing.py": {
|
| 11 |
"ok": true,
|
| 12 |
-
"seconds": 0.
|
| 13 |
},
|
| 14 |
-
"
|
| 15 |
"ok": true,
|
| 16 |
-
"seconds": 2.
|
| 17 |
},
|
| 18 |
-
"
|
| 19 |
"ok": true,
|
| 20 |
-
"seconds":
|
| 21 |
},
|
| 22 |
"check_codec.py": {
|
| 23 |
"ok": true,
|
| 24 |
-
"seconds": 3.
|
| 25 |
},
|
| 26 |
-
"
|
| 27 |
"ok": true,
|
| 28 |
-
"seconds": 4.
|
| 29 |
},
|
| 30 |
"check_sigma.py": {
|
| 31 |
"ok": true,
|
| 32 |
-
"seconds":
|
| 33 |
},
|
| 34 |
-
"
|
| 35 |
"ok": true,
|
| 36 |
-
"seconds": 5.
|
| 37 |
},
|
| 38 |
"check_host.py": {
|
| 39 |
"ok": true,
|
| 40 |
-
"seconds":
|
| 41 |
-
},
|
| 42 |
-
"check_interp.py": {
|
| 43 |
-
"ok": true,
|
| 44 |
-
"seconds": 17.97328525298508
|
| 45 |
-
},
|
| 46 |
-
"check_lev.py": {
|
| 47 |
-
"ok": true,
|
| 48 |
-
"seconds": 23.672813724988373
|
| 49 |
},
|
| 50 |
-
"
|
| 51 |
"ok": true,
|
| 52 |
-
"seconds":
|
| 53 |
},
|
| 54 |
-
"
|
| 55 |
"ok": true,
|
| 56 |
-
"seconds":
|
| 57 |
},
|
| 58 |
-
"
|
| 59 |
"ok": true,
|
| 60 |
-
"seconds":
|
| 61 |
},
|
| 62 |
-
"
|
| 63 |
"ok": true,
|
| 64 |
-
"seconds":
|
| 65 |
},
|
| 66 |
-
"
|
| 67 |
"ok": true,
|
| 68 |
-
"seconds":
|
| 69 |
},
|
| 70 |
-
"
|
| 71 |
"ok": true,
|
| 72 |
-
"seconds":
|
| 73 |
},
|
| 74 |
-
"
|
| 75 |
"ok": true,
|
| 76 |
-
"seconds":
|
| 77 |
},
|
| 78 |
-
"
|
| 79 |
"ok": true,
|
| 80 |
-
"seconds":
|
| 81 |
}
|
| 82 |
}
|
| 83 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"tier": 1,
|
| 3 |
+
"total_seconds": 216.7869739710004,
|
| 4 |
"failures": 0,
|
| 5 |
"checks": {
|
| 6 |
"check_device.py": {
|
| 7 |
"ok": true,
|
| 8 |
+
"seconds": 0.09231512798578478
|
| 9 |
},
|
| 10 |
"check_framing.py": {
|
| 11 |
"ok": true,
|
| 12 |
+
"seconds": 0.17911755401291884
|
| 13 |
},
|
| 14 |
+
"check_steps.py": {
|
| 15 |
"ok": true,
|
| 16 |
+
"seconds": 2.2958479310036637
|
| 17 |
},
|
| 18 |
+
"check_optimal.py": {
|
| 19 |
"ok": true,
|
| 20 |
+
"seconds": 3.6308434630045667
|
| 21 |
},
|
| 22 |
"check_codec.py": {
|
| 23 |
"ok": true,
|
| 24 |
+
"seconds": 3.947353489988018
|
| 25 |
},
|
| 26 |
+
"fanin2.py": {
|
| 27 |
"ok": true,
|
| 28 |
+
"seconds": 4.518770915979985
|
| 29 |
},
|
| 30 |
"check_sigma.py": {
|
| 31 |
"ok": true,
|
| 32 |
+
"seconds": 5.175890774000436
|
| 33 |
},
|
| 34 |
+
"check_environment.py": {
|
| 35 |
"ok": true,
|
| 36 |
+
"seconds": 5.701369293004973
|
| 37 |
},
|
| 38 |
"check_host.py": {
|
| 39 |
"ok": true,
|
| 40 |
+
"seconds": 6.32508270299877
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
},
|
| 42 |
+
"check_ternarity.py": {
|
| 43 |
"ok": true,
|
| 44 |
+
"seconds": 8.431314966001082
|
| 45 |
},
|
| 46 |
+
"check_host_family.py": {
|
| 47 |
"ok": true,
|
| 48 |
+
"seconds": 10.549088745989138
|
| 49 |
},
|
| 50 |
+
"check_interp.py": {
|
| 51 |
"ok": true,
|
| 52 |
+
"seconds": 14.438120546983555
|
| 53 |
},
|
| 54 |
+
"check_lev.py": {
|
| 55 |
"ok": true,
|
| 56 |
+
"seconds": 15.03564253100194
|
| 57 |
},
|
| 58 |
+
"check_total.py": {
|
| 59 |
"ok": true,
|
| 60 |
+
"seconds": 96.9719200199761
|
| 61 |
},
|
| 62 |
+
"redundant.py build": {
|
| 63 |
"ok": true,
|
| 64 |
+
"seconds": 129.28355920300237
|
| 65 |
},
|
| 66 |
+
"check_dependence.py": {
|
| 67 |
"ok": true,
|
| 68 |
+
"seconds": 194.36693952101632
|
| 69 |
},
|
| 70 |
+
"check_settle.py": {
|
| 71 |
"ok": true,
|
| 72 |
+
"seconds": 216.78103429600014
|
| 73 |
}
|
| 74 |
}
|
| 75 |
}
|
paper/universal_construction_ternary.pdf
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b7d5d0db83aea194995f36ddcbb899845b6a449a4fee151b585480f5d3a9b154
|
| 3 |
+
size 342177
|
paper/universal_construction_ternary.tex
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
src/check_c.py
CHANGED
|
@@ -116,7 +116,8 @@ def levelize(n, units, nxt):
|
|
| 116 |
return (n, out_units, [base[d] + i for i in range(n)],
|
| 117 |
{"depth": d, "rows": sum(len(L) for L in layers[1:]),
|
| 118 |
"identity_rows": sum(1 for L in layers[1:] for kind, _ in L if kind == "copy"),
|
| 119 |
-
"max_width": max(len(L) for L in layers[1:])
|
|
|
|
| 120 |
|
| 121 |
|
| 122 |
def framed_parts(s: bytes):
|
|
@@ -133,7 +134,7 @@ def main() -> int:
|
|
| 133 |
from selfrep import M_P, M_STAR, describe, field, ser, read_host
|
| 134 |
work = tempfile.mkdtemp(prefix="netlist_eval_")
|
| 135 |
exe = os.path.join(work, "netlist_eval")
|
| 136 |
-
subprocess.run([args.cc, "-O3", "-march=native", "-o", exe,
|
| 137 |
os.path.join(SRC, "netlist_eval.c")], check=True)
|
| 138 |
J = lambda *p: os.path.join(work, *p)
|
| 139 |
|
|
|
|
| 116 |
return (n, out_units, [base[d] + i for i in range(n)],
|
| 117 |
{"depth": d, "rows": sum(len(L) for L in layers[1:]),
|
| 118 |
"identity_rows": sum(1 for L in layers[1:] for kind, _ in L if kind == "copy"),
|
| 119 |
+
"max_width": max(len(L) for L in layers[1:]),
|
| 120 |
+
"layer_sizes": [len(L) for L in layers[1:]]})
|
| 121 |
|
| 122 |
|
| 123 |
def framed_parts(s: bytes):
|
|
|
|
| 134 |
from selfrep import M_P, M_STAR, describe, field, ser, read_host
|
| 135 |
work = tempfile.mkdtemp(prefix="netlist_eval_")
|
| 136 |
exe = os.path.join(work, "netlist_eval")
|
| 137 |
+
subprocess.run([args.cc, "-O3", "-march=native", "-fopenmp", "-o", exe,
|
| 138 |
os.path.join(SRC, "netlist_eval.c")], check=True)
|
| 139 |
J = lambda *p: os.path.join(work, *p)
|
| 140 |
|
src/check_family.py
CHANGED
|
@@ -1,5 +1,10 @@
|
|
| 1 |
-
"""The universal constructor emits every machine of the artifact, byte for byte.
|
| 2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
| 4 |
from selfrep import describe, run_reference, M_P
|
| 5 |
|
|
@@ -19,26 +24,38 @@ def files():
|
|
| 19 |
return out
|
| 20 |
|
| 21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
def main() -> int:
|
| 23 |
-
|
|
|
|
|
|
|
| 24 |
t0 = time.perf_counter()
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
|
|
|
| 37 |
dt = time.perf_counter() - t0
|
| 38 |
print(f"{len(rec)} machines, {tot_b:,} bytes emitted in {tot_s:,} steps "
|
| 39 |
-
f"({dt/60:.1f} min); failures: {bad}")
|
| 40 |
-
json.dump({"machines": rec, "bytes": tot_b, "steps": tot_s,
|
| 41 |
-
"seconds": dt},
|
| 42 |
open(runs_path("paper_runs_family.json"), "w"), indent=1)
|
| 43 |
return 0 if bad == 0 else 1
|
| 44 |
|
|
|
|
| 1 |
+
"""The universal constructor emits every machine of the artifact, byte for byte.
|
| 2 |
+
|
| 3 |
+
The machines are run on the integer reference, one process per machine.
|
| 4 |
+
|
| 5 |
+
python src/check_family.py [--jobs N]
|
| 6 |
+
"""
|
| 7 |
+
import argparse, concurrent.futures as cf, hashlib, json, os, sys, time
|
| 8 |
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
| 9 |
from selfrep import describe, run_reference, M_P
|
| 10 |
|
|
|
|
| 24 |
return out
|
| 25 |
|
| 26 |
|
| 27 |
+
def one(p):
|
| 28 |
+
data = open(p, "rb").read()
|
| 29 |
+
r = describe(data)
|
| 30 |
+
out, steps = run_reference(M_P, r, expect=data)
|
| 31 |
+
return {"file": os.path.basename(p), "bytes": len(out), "recipe": len(r),
|
| 32 |
+
"steps": steps, "exact": out == data,
|
| 33 |
+
"sha256": hashlib.sha256(out).hexdigest()}
|
| 34 |
+
|
| 35 |
+
|
| 36 |
def main() -> int:
|
| 37 |
+
ap = argparse.ArgumentParser()
|
| 38 |
+
ap.add_argument("--jobs", type=int, default=os.cpu_count() or 1)
|
| 39 |
+
args = ap.parse_args()
|
| 40 |
t0 = time.perf_counter()
|
| 41 |
+
paths = files()
|
| 42 |
+
# the largest machines first, so the pool is not left waiting on one of them
|
| 43 |
+
order = sorted(paths, key=os.path.getsize, reverse=True)
|
| 44 |
+
with cf.ProcessPoolExecutor(max_workers=args.jobs) as ex:
|
| 45 |
+
got = dict(zip(order, ex.map(one, order)))
|
| 46 |
+
rec = [got[p] for p in paths]
|
| 47 |
+
for r in rec:
|
| 48 |
+
print(f" {'OK ' if r['exact'] else 'FAIL'} {r['file']:<44} "
|
| 49 |
+
f"{r['bytes']:>10,} B {r['steps']:>12,} steps", flush=True)
|
| 50 |
+
bad = sum(not r["exact"] for r in rec)
|
| 51 |
+
tot_b = sum(r["bytes"] for r in rec)
|
| 52 |
+
tot_s = sum(r["steps"] for r in rec)
|
| 53 |
+
tot_r = sum(r["recipe"] for r in rec)
|
| 54 |
dt = time.perf_counter() - t0
|
| 55 |
print(f"{len(rec)} machines, {tot_b:,} bytes emitted in {tot_s:,} steps "
|
| 56 |
+
f"from {tot_r:,} bytes of recipe ({dt/60:.1f} min); failures: {bad}")
|
| 57 |
+
json.dump({"machines": rec, "bytes": tot_b, "steps": tot_s,
|
| 58 |
+
"recipe_bytes": tot_r, "failures": bad, "seconds": dt},
|
| 59 |
open(runs_path("paper_runs_family.json"), "w"), indent=1)
|
| 60 |
return 0 if bad == 0 else 1
|
| 61 |
|
src/check_framing.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
"""The framing maps ser and inst: round trip, injectivity, and rejection.
|
| 2 |
|
| 3 |
-
Lemma 2.
|
| 4 |
length fields make the decomposition of ser(Omega) unique, so that ser is
|
| 5 |
injective and inst inverts it, and that inst is partial, rejecting a string that
|
| 6 |
is not a framed instance, in place of returning some other triple. Both are
|
|
|
|
| 1 |
"""The framing maps ser and inst: round trip, injectivity, and rejection.
|
| 2 |
|
| 3 |
+
Lemma 2.14 of the paper turns on two properties of Definition 2.12: that the
|
| 4 |
length fields make the decomposition of ser(Omega) unique, so that ser is
|
| 5 |
injective and inst inverts it, and that inst is partial, rejecting a string that
|
| 6 |
is not a framed instance, in place of returning some other triple. Both are
|
src/check_host.py
CHANGED
|
@@ -7,7 +7,7 @@ a halt at p = 255. The clauses are transcribed here independently of
|
|
| 7 |
selfrep.run_reference and the two are compared, with the program counter swept
|
| 8 |
over every value so the wrapped fetches at the top of memory are covered.
|
| 9 |
|
| 10 |
-
Proposition 3.
|
| 11 |
transition, because every architectural write is gated by the negation of the
|
| 12 |
halt bit. That is checked on the levelized map itself, not on the reference.
|
| 13 |
"""
|
|
|
|
| 7 |
selfrep.run_reference and the two are compared, with the program counter swept
|
| 8 |
over every value so the wrapped fetches at the top of memory are covered.
|
| 9 |
|
| 10 |
+
Proposition 3.10 asserts in addition that a halted state is a fixed point of the
|
| 11 |
transition, because every architectural write is gated by the negation of the
|
| 12 |
halt bit. That is checked on the levelized map itself, not on the reference.
|
| 13 |
"""
|
src/check_host_family.py
CHANGED
|
@@ -37,7 +37,7 @@ def main() -> int:
|
|
| 37 |
from check_c import parse_sigma, write_flat
|
| 38 |
work = tempfile.mkdtemp(prefix="host_family_")
|
| 39 |
exe = os.path.join(work, "netlist_eval")
|
| 40 |
-
subprocess.run([args.cc, "-O3", "-march=native", "-o", exe,
|
| 41 |
os.path.join(REPO, "src", "netlist_eval.c")], check=True)
|
| 42 |
rows, ok = [], True
|
| 43 |
for A in range(lo, hi + 1):
|
|
|
|
| 37 |
from check_c import parse_sigma, write_flat
|
| 38 |
work = tempfile.mkdtemp(prefix="host_family_")
|
| 39 |
exe = os.path.join(work, "netlist_eval")
|
| 40 |
+
subprocess.run([args.cc, "-O3", "-march=native", "-fopenmp", "-o", exe,
|
| 41 |
os.path.join(REPO, "src", "netlist_eval.c")], check=True)
|
| 42 |
rows, ok = [], True
|
| 43 |
for A in range(lo, hi + 1):
|
src/fanin2.py
CHANGED
|
@@ -1,14 +1,18 @@
|
|
| 1 |
"""Bringing a ternary threshold netlist to effective fan-in at most two.
|
| 2 |
|
| 3 |
The interpreter evaluates records with two input slots, so a netlist it is to
|
| 4 |
-
interpret must have units of fan-in at most two. Every unit
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
the
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
"""
|
| 13 |
from __future__ import annotations
|
| 14 |
|
|
@@ -21,50 +25,86 @@ from matrix8 import Net
|
|
| 21 |
|
| 22 |
|
| 23 |
def classify(ins: List[Tuple[str, int]], bias: int) -> str:
|
| 24 |
-
"""Which
|
|
|
|
| 25 |
pos = [s for s, w in ins if w == 1]
|
| 26 |
neg = [s for s, w in ins if w == -1]
|
| 27 |
if len(pos) + len(neg) != len(ins):
|
| 28 |
return "other"
|
| 29 |
-
|
|
|
|
| 30 |
return "or"
|
| 31 |
-
if
|
| 32 |
return "and" # conjunction of literals
|
| 33 |
-
|
| 34 |
-
return "nor"
|
| 35 |
-
return "other"
|
| 36 |
|
| 37 |
|
| 38 |
-
def
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
"""A balanced binary tree of k - 1 two-input units over k literals.
|
| 40 |
|
| 41 |
`items` are (signal, weight) pairs; weight -1 marks a negated literal,
|
| 42 |
-
which a unit reads with weight -1, so negation costs no unit
|
| 43 |
-
|
| 44 |
-
|
|
|
|
| 45 |
"""
|
| 46 |
level = list(items)
|
| 47 |
-
|
| 48 |
while len(level) > 1:
|
| 49 |
nxt = []
|
| 50 |
for i in range(0, len(level) - 1, 2):
|
| 51 |
(a, wa), (b, wb) = level[i], level[i + 1]
|
| 52 |
-
name = f"{tag}#{kind}{
|
| 53 |
-
|
|
|
|
| 54 |
if kind == "or":
|
| 55 |
-
|
| 56 |
-
nxt.append((net.g(name, [(a, 1), (b, 1)], -1), 1))
|
| 57 |
else:
|
| 58 |
-
pos = (wa == 1) + (wb == 1)
|
| 59 |
nxt.append((net.g(name, [(a, wa), (b, wb)], -pos), 1))
|
| 60 |
if len(level) % 2:
|
| 61 |
nxt.append(level[-1])
|
| 62 |
level = nxt
|
| 63 |
s, w = level[0]
|
| 64 |
-
|
|
|
|
|
|
|
|
|
|
| 65 |
return s
|
| 66 |
|
| 67 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
def expand(net: Net, inputs: List[str], outputs: List[str]
|
| 69 |
) -> Tuple[Net, List[str], List[str]]:
|
| 70 |
"""An equivalent netlist whose units have effective fan-in at most two."""
|
|
@@ -99,10 +139,13 @@ def expand(net: Net, inputs: List[str], outputs: List[str]
|
|
| 99 |
continue
|
| 100 |
if kind in ("or", "and"):
|
| 101 |
sub[g] = _tree(out, g, kind, src)
|
| 102 |
-
elif kind == "
|
| 103 |
-
|
|
|
|
|
|
|
|
|
|
| 104 |
else:
|
| 105 |
-
raise ValueError(f"unit {g}
|
| 106 |
f"{src[:4]} bias {bias}")
|
| 107 |
return out, list(inputs), [sub[s] for s in outputs]
|
| 108 |
|
|
@@ -119,3 +162,59 @@ def check(net, inputs, outputs, trials: int = 64, seed: int = 5) -> bool:
|
|
| 119 |
a = gate_by_gate(net, inputs, outputs, V)
|
| 120 |
b = gate_by_gate(two, tin, tout, V)
|
| 121 |
return bool((a == b).all())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
"""Bringing a ternary threshold netlist to effective fan-in at most two.
|
| 2 |
|
| 3 |
The interpreter evaluates records with two input slots, so a netlist it is to
|
| 4 |
+
interpret must have units of fan-in at most two. Every ternary unit is a
|
| 5 |
+
threshold over its literals: H(sum_P x - sum_N x + b) is 1 exactly when at
|
| 6 |
+
least t = |N| - b of the literals x_i (i in P) and not x_i (i in N) are true.
|
| 7 |
+
A disjunction (t = 1) or a conjunction (t = k) of k > 2 literals becomes a
|
| 8 |
+
balanced binary tree of k - 1 two-input units, a literal carried by the sign
|
| 9 |
+
of its weight and never by a unit of its own, so a leaf unit is a conjunction
|
| 10 |
+
or disjunction of two literals and every inner unit one of two signals. Any
|
| 11 |
+
other threshold, which in the host is a majority of three literals or two of
|
| 12 |
+
four, follows the recursion T(t, x_1..x_k) = T(t, x_2..x_k) or (x_1 and
|
| 13 |
+
T(t-1, x_2..x_k)), four units for a majority of three and eight for two of
|
| 14 |
+
four. The rewriting preserves the computed function exactly, which is checked
|
| 15 |
+
against the original netlist on random inputs.
|
| 16 |
"""
|
| 17 |
from __future__ import annotations
|
| 18 |
|
|
|
|
| 25 |
|
| 26 |
|
| 27 |
def classify(ins: List[Tuple[str, int]], bias: int) -> str:
|
| 28 |
+
"""Which shape a unit has, by its weights and bias: a disjunction of
|
| 29 |
+
literals, a conjunction of literals, or a threshold of t of its k literals."""
|
| 30 |
pos = [s for s, w in ins if w == 1]
|
| 31 |
neg = [s for s, w in ins if w == -1]
|
| 32 |
if len(pos) + len(neg) != len(ins):
|
| 33 |
return "other"
|
| 34 |
+
t = len(neg) - bias
|
| 35 |
+
if t == 1:
|
| 36 |
return "or"
|
| 37 |
+
if t == len(ins):
|
| 38 |
return "and" # conjunction of literals
|
| 39 |
+
return "threshold"
|
|
|
|
|
|
|
| 40 |
|
| 41 |
|
| 42 |
+
def threshold_of(ins: List[Tuple[str, int]], bias: int) -> int:
|
| 43 |
+
"""The number t of true literals the unit requires."""
|
| 44 |
+
return sum(1 for _, w in ins if w == -1) - bias
|
| 45 |
+
|
| 46 |
+
|
| 47 |
+
def _tree(net: Net, tag: str, kind: str, items: List[Tuple[str, int]],
|
| 48 |
+
counter: List[int] = None) -> str:
|
| 49 |
"""A balanced binary tree of k - 1 two-input units over k literals.
|
| 50 |
|
| 51 |
`items` are (signal, weight) pairs; weight -1 marks a negated literal,
|
| 52 |
+
which a unit reads with weight -1, so negation costs no unit: a
|
| 53 |
+
disjunction of two literals is H(+-a +-b + |N| - 1) and a conjunction
|
| 54 |
+
H(+-a +-b - |P|). Every unit of the tree outputs a positive signal, so
|
| 55 |
+
the levels above the leaves combine signals.
|
| 56 |
"""
|
| 57 |
level = list(items)
|
| 58 |
+
counter = counter if counter is not None else [0]
|
| 59 |
while len(level) > 1:
|
| 60 |
nxt = []
|
| 61 |
for i in range(0, len(level) - 1, 2):
|
| 62 |
(a, wa), (b, wb) = level[i], level[i + 1]
|
| 63 |
+
name = f"{tag}#{kind}{counter[0]}"
|
| 64 |
+
counter[0] += 1
|
| 65 |
+
pos = (wa == 1) + (wb == 1)
|
| 66 |
if kind == "or":
|
| 67 |
+
nxt.append((net.g(name, [(a, wa), (b, wb)], (2 - pos) - 1), 1))
|
|
|
|
| 68 |
else:
|
|
|
|
| 69 |
nxt.append((net.g(name, [(a, wa), (b, wb)], -pos), 1))
|
| 70 |
if len(level) % 2:
|
| 71 |
nxt.append(level[-1])
|
| 72 |
level = nxt
|
| 73 |
s, w = level[0]
|
| 74 |
+
if w != 1: # a single negated literal: one unit
|
| 75 |
+
name = f"{tag}#{kind}{counter[0]}"
|
| 76 |
+
counter[0] += 1
|
| 77 |
+
return net.g(name, [(s, -1)], 0)
|
| 78 |
return s
|
| 79 |
|
| 80 |
|
| 81 |
+
def _thresh(net: Net, tag: str, t: int, items: List[Tuple[str, int]],
|
| 82 |
+
counter: List[int]) -> Tuple[str, int]:
|
| 83 |
+
"""t of the k literals, by T(t, x_1..x_k) = T(t, rest) or (x_1 and T(t-1, rest)).
|
| 84 |
+
|
| 85 |
+
Returns a (signal, weight) pair: a positive signal, or a constant."""
|
| 86 |
+
k = len(items)
|
| 87 |
+
if t <= 0:
|
| 88 |
+
return ("#1", 1)
|
| 89 |
+
if t > k:
|
| 90 |
+
return ("#0", 1)
|
| 91 |
+
if k == 1:
|
| 92 |
+
return items[0]
|
| 93 |
+
if t == 1:
|
| 94 |
+
return (_tree(net, tag, "or", items, counter), 1)
|
| 95 |
+
if t == k:
|
| 96 |
+
return (_tree(net, tag, "and", items, counter), 1)
|
| 97 |
+
x, rest = items[0], items[1:]
|
| 98 |
+
a = _thresh(net, tag, t, rest, counter)
|
| 99 |
+
b = _thresh(net, tag, t - 1, rest, counter)
|
| 100 |
+
name = f"{tag}#and{counter[0]}"
|
| 101 |
+
counter[0] += 1
|
| 102 |
+
c = (net.g(name, [x, b], -((x[1] == 1) + 1)), 1)
|
| 103 |
+
name = f"{tag}#or{counter[0]}"
|
| 104 |
+
counter[0] += 1
|
| 105 |
+
return (net.g(name, [a, c], -1), 1)
|
| 106 |
+
|
| 107 |
+
|
| 108 |
def expand(net: Net, inputs: List[str], outputs: List[str]
|
| 109 |
) -> Tuple[Net, List[str], List[str]]:
|
| 110 |
"""An equivalent netlist whose units have effective fan-in at most two."""
|
|
|
|
| 139 |
continue
|
| 140 |
if kind in ("or", "and"):
|
| 141 |
sub[g] = _tree(out, g, kind, src)
|
| 142 |
+
elif kind == "threshold":
|
| 143 |
+
assert len(src) <= 6, f"unit {g}: a threshold of {len(src)} literals"
|
| 144 |
+
sig, w = _thresh(out, g, threshold_of(ins, bias), src, [0])
|
| 145 |
+
assert w == 1
|
| 146 |
+
sub[g] = sig
|
| 147 |
else:
|
| 148 |
+
raise ValueError(f"unit {g} carries a weight outside {{-1, 0, 1}}: "
|
| 149 |
f"{src[:4]} bias {bias}")
|
| 150 |
return out, list(inputs), [sub[s] for s in outputs]
|
| 151 |
|
|
|
|
| 162 |
a = gate_by_gate(net, inputs, outputs, V)
|
| 163 |
b = gate_by_gate(two, tin, tout, V)
|
| 164 |
return bool((a == b).all())
|
| 165 |
+
|
| 166 |
+
|
| 167 |
+
def main() -> int:
|
| 168 |
+
"""The rewriting on the host and the interpreter, and on every ternary unit
|
| 169 |
+
of three to five inputs with every bias, against the truth tables."""
|
| 170 |
+
import itertools
|
| 171 |
+
import json
|
| 172 |
+
import time
|
| 173 |
+
import torch
|
| 174 |
+
from check_lev import gate_by_gate
|
| 175 |
+
from host_family import build
|
| 176 |
+
from reflect import Cfg, build_net
|
| 177 |
+
REPO = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
| 178 |
+
t0 = time.perf_counter()
|
| 179 |
+
tot = bad = 0
|
| 180 |
+
for k in (3, 4, 5):
|
| 181 |
+
names = [f"i{j}" for j in range(k)]
|
| 182 |
+
V = torch.tensor(list(itertools.product((0.0, 1.0), repeat=k)))
|
| 183 |
+
for signs in itertools.product((1, -1), repeat=k):
|
| 184 |
+
for bias in range(-k - 1, k + 2):
|
| 185 |
+
n1 = Net()
|
| 186 |
+
n1.g("u", [(names[j], signs[j]) for j in range(k)], bias)
|
| 187 |
+
e, _, o = expand(n1, names, ["u"])
|
| 188 |
+
a = gate_by_gate(n1, names, ["u"], V)
|
| 189 |
+
if o[0] in ("#0", "#1"):
|
| 190 |
+
b = torch.full_like(a, 1.0 if o[0] == "#1" else 0.0)
|
| 191 |
+
else:
|
| 192 |
+
b = gate_by_gate(e, names, o, V)
|
| 193 |
+
tot += 1
|
| 194 |
+
bad += not bool((a == b).all())
|
| 195 |
+
print(f" every ternary unit of 3 to 5 inputs with every bias, {tot} units, against "
|
| 196 |
+
f"its truth table: {'all exact' if bad == 0 else f'{bad} FAILED'}")
|
| 197 |
+
rec = {"small_units": tot, "small_unit_failures": bad, "netlists": {}}
|
| 198 |
+
for label, (net, inp, out) in (("N_host", build(8)), ("N_U", build_net(Cfg()))):
|
| 199 |
+
two, _, _ = expand(net, inp, out)
|
| 200 |
+
ok = check(net, inp, out, trials=32)
|
| 201 |
+
shapes = {}
|
| 202 |
+
for ins, b in net.gates.values():
|
| 203 |
+
if len(ins) > 2:
|
| 204 |
+
shapes[classify(ins, b)] = shapes.get(classify(ins, b), 0) + 1
|
| 205 |
+
rec["netlists"][label] = {"units": len(net.gates), "units_fanin2": len(two.gates),
|
| 206 |
+
"shapes_above_two": shapes, "agrees_on_random_inputs": ok}
|
| 207 |
+
bad += not ok
|
| 208 |
+
print(f" {label}: {len(net.gates):,} units become {len(two.gates):,}; shapes above "
|
| 209 |
+
f"fan-in two {shapes}; agrees with the original on 32 random states: {ok}")
|
| 210 |
+
rec["seconds"] = time.perf_counter() - t0
|
| 211 |
+
rec["ok"] = bad == 0
|
| 212 |
+
d = os.path.join(REPO, "paper", "runs")
|
| 213 |
+
os.makedirs(d, exist_ok=True)
|
| 214 |
+
json.dump(rec, open(os.path.join(d, "paper_fanin2.json"), "w"), indent=1)
|
| 215 |
+
print("FAN-IN TWO:", "PASS" if bad == 0 else "FAIL")
|
| 216 |
+
return 0 if bad == 0 else 1
|
| 217 |
+
|
| 218 |
+
|
| 219 |
+
if __name__ == "__main__":
|
| 220 |
+
sys.exit(main())
|
src/hosted_constructor.py
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
Section 7 of the paper interprets stored netlists; this module stores the
|
| 4 |
paper's own construction. A microprogram of records implements the SUBLEQ
|
| 5 |
-
transducer of Definitions 2.
|
| 6 |
the output word, the head and the write pointer all held in signals of the
|
| 7 |
interpreter, and runs the constructor P on a recipe. One pass of the record
|
| 8 |
region is one SUBLEQ step: fetch, subtract, write back, apply the device,
|
|
@@ -60,7 +60,7 @@ def image128() -> List[int]:
|
|
| 60 |
|
| 61 |
|
| 62 |
def reference128(mem0: List[int], tape: bytes, max_steps: int = 1 << 22):
|
| 63 |
-
"""The transducer of Definitions 2.
|
| 64 |
mem = list(mem0)
|
| 65 |
out = bytearray()
|
| 66 |
h = 0
|
|
@@ -365,7 +365,7 @@ def build_microprogram(cfg, mem_base, tape_base, out_base, tape_len,
|
|
| 365 |
|
| 366 |
|
| 367 |
def step128(mem, pc, tape, h, out, wp):
|
| 368 |
-
"""One step of the transducer of Definitions 2.
|
| 369 |
memory whose tape is the whole tape region: the SUBLEQ instruction, then
|
| 370 |
the write, read, rewind and clear clauses of the device."""
|
| 371 |
A = mem[pc % MEM_BYTES]
|
|
|
|
| 2 |
|
| 3 |
Section 7 of the paper interprets stored netlists; this module stores the
|
| 4 |
paper's own construction. A microprogram of records implements the SUBLEQ
|
| 5 |
+
transducer of Definitions 2.8 and 3.1 over a 128-byte memory, with the tape,
|
| 6 |
the output word, the head and the write pointer all held in signals of the
|
| 7 |
interpreter, and runs the constructor P on a recipe. One pass of the record
|
| 8 |
region is one SUBLEQ step: fetch, subtract, write back, apply the device,
|
|
|
|
| 60 |
|
| 61 |
|
| 62 |
def reference128(mem0: List[int], tape: bytes, max_steps: int = 1 << 22):
|
| 63 |
+
"""The transducer of Definitions 2.8 and 3.1 on a 128-byte memory."""
|
| 64 |
mem = list(mem0)
|
| 65 |
out = bytearray()
|
| 66 |
h = 0
|
|
|
|
| 365 |
|
| 366 |
|
| 367 |
def step128(mem, pc, tape, h, out, wp):
|
| 368 |
+
"""One step of the transducer of Definitions 2.8 and 3.1 on a 128-byte
|
| 369 |
memory whose tape is the whole tape region: the SUBLEQ instruction, then
|
| 370 |
the write, read, rewind and clear clauses of the device."""
|
| 371 |
A = mem[pc % MEM_BYTES]
|
src/netlist_eval.c
CHANGED
|
@@ -21,22 +21,34 @@
|
|
| 21 |
* E, then v biases, v fan-ins, E (index, weight) pairs and n next-state
|
| 22 |
* indices, all little-endian int32. For the host family the state is the A
|
| 23 |
* counter bits, the halt bit and 2^A words of A bits, most significant bit
|
| 24 |
-
* first, and A is recovered from n = A + 1 + A 2^A.
|
| 25 |
-
*
|
| 26 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
*/
|
| 28 |
#include <stdint.h>
|
| 29 |
#include <stdio.h>
|
| 30 |
#include <stdlib.h>
|
| 31 |
#include <string.h>
|
|
|
|
|
|
|
|
|
|
| 32 |
|
| 33 |
static int n, v, E;
|
| 34 |
static int *bias, *fanin, *pairs, *nxt, *start, *kind;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
static uint64_t *tt;
|
| 36 |
static uint8_t *sig;
|
| 37 |
static uint64_t *sig64;
|
| 38 |
|
| 39 |
-
static int A = 8;
|
| 40 |
static uint32_t SZ = 256, MASK = 255, SIGN = 128;
|
| 41 |
static uint32_t C_WR, C_EOT, C_RW, C_RD, R_IN, R_OUT, HALT_PC;
|
| 42 |
|
|
@@ -92,20 +104,57 @@ static void load_net(const char *path)
|
|
| 92 |
else if (bias[j] == neg - 1) kind[j] = K_OR;
|
| 93 |
else { kind[j] = K_GEN; gen++; }
|
| 94 |
}
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 99 |
}
|
| 100 |
|
| 101 |
static void net_step(const uint8_t *s, uint8_t *o)
|
| 102 |
{
|
| 103 |
memcpy(sig, s, (size_t)n);
|
| 104 |
-
|
| 105 |
-
int
|
| 106 |
-
|
| 107 |
-
for (int
|
| 108 |
-
|
|
|
|
|
|
|
|
|
|
| 109 |
}
|
| 110 |
for (int i = 0; i < n; i++) {
|
| 111 |
int k = nxt[i];
|
|
@@ -187,22 +236,37 @@ static void dev_apply(Dev *d, uint32_t *M)
|
|
| 187 |
M[C_WR] = 0; M[C_RD] = 0; M[C_RW] = 0;
|
| 188 |
}
|
| 189 |
|
| 190 |
-
|
|
|
|
|
|
|
| 191 |
{
|
| 192 |
uint32_t x = 0;
|
| 193 |
-
const uint8_t *b = s + A + 1 + (size_t)A * j;
|
| 194 |
for (int k = 0; k < A; k++) x = (x << 1) | b[k];
|
| 195 |
return x;
|
| 196 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 197 |
static void set_word(uint8_t *s, uint32_t j, uint32_t val)
|
| 198 |
{
|
| 199 |
-
|
| 200 |
-
|
|
|
|
|
|
|
| 201 |
}
|
| 202 |
-
static uint32_t
|
| 203 |
{
|
| 204 |
uint32_t x = 0;
|
| 205 |
-
for (int k = 0; k < A; k++) x = (x << 1) | s[k];
|
| 206 |
return x;
|
| 207 |
}
|
| 208 |
|
|
@@ -255,8 +319,9 @@ static int cmd_rand(long N)
|
|
| 255 |
uint32_t *M = calloc(SZ, 4);
|
| 256 |
long bad = 0, tested = 0, fixed_bad = 0, latch_bad = 0;
|
| 257 |
for (long b = 0; b * 64 < N; b++) {
|
| 258 |
-
for (int i = 0; i <
|
| 259 |
s[A] = 0;
|
|
|
|
| 260 |
net_step64(s, o);
|
| 261 |
for (int l = 0; l < 64; l++) {
|
| 262 |
uint32_t pc = 0;
|
|
@@ -267,21 +332,25 @@ static int cmd_rand(long N)
|
|
| 267 |
M[j] = x;
|
| 268 |
}
|
| 269 |
ref_step(M, &pc);
|
| 270 |
-
uint32_t npc = 0;
|
| 271 |
int ok = 1;
|
| 272 |
-
for (int
|
| 273 |
-
|
| 274 |
-
|
| 275 |
-
|
| 276 |
-
|
| 277 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 278 |
}
|
| 279 |
-
if ((int)(o[A] >> l & 1) != (pc == HALT_PC)) latch_bad++;
|
| 280 |
bad += !ok;
|
| 281 |
tested++;
|
| 282 |
}
|
| 283 |
-
for (int i = 0; i <
|
| 284 |
s[A] = ~0ull;
|
|
|
|
| 285 |
net_step64(s, o);
|
| 286 |
for (int i = 0; i < n; i++) if (s[i] != o[i]) { fixed_bad++; break; }
|
| 287 |
}
|
|
@@ -311,9 +380,12 @@ static int cmd_run(const char *memp, const char *tapep, const char *outp, const
|
|
| 311 |
if (use_net) { net_step(s, y); halt_n = y[A]; net_dev_apply(&dn, y); uint8_t *t = s; s = y; y = t; }
|
| 312 |
steps++;
|
| 313 |
if (use_ref && use_net) {
|
| 314 |
-
int ok =
|
| 315 |
(dr.olen == 0 || dr.out[dr.olen - 1] == dn.out[dn.olen - 1]);
|
| 316 |
-
for (
|
|
|
|
|
|
|
|
|
|
| 317 |
if (!ok) { printf("lockstep divergence at step %ld\n", steps); return 1; }
|
| 318 |
}
|
| 319 |
if ((use_ref && halt_r) || (!use_ref && halt_n)) { halted = 1; break; }
|
|
|
|
| 21 |
* E, then v biases, v fan-ins, E (index, weight) pairs and n next-state
|
| 22 |
* indices, all little-endian int32. For the host family the state is the A
|
| 23 |
* counter bits, the halt bit and 2^A words of A bits, most significant bit
|
| 24 |
+
* first, and A is recovered from n = A + 1 + A 2^A. For the amplified host of
|
| 25 |
+
* Section 6.3 the state is R copies of that, copy c occupying the block
|
| 26 |
+
* c n0 .. (c+1) n0 - 1, and (R, A) is recovered from n = R (A + 1 + A 2^A) with
|
| 27 |
+
* the smallest R; the device reads each bit of a cell as the majority of its
|
| 28 |
+
* copies and writes every copy, and rand replicates each random state and
|
| 29 |
+
* checks every copy of the result. MEM holds 2^A words of ceil(A/8)
|
| 30 |
+
* little-endian bytes. The device cells are the top seven words, a request
|
| 31 |
+
* fires on the value 1, and an emission writes the low byte of R_out.
|
| 32 |
*/
|
| 33 |
#include <stdint.h>
|
| 34 |
#include <stdio.h>
|
| 35 |
#include <stdlib.h>
|
| 36 |
#include <string.h>
|
| 37 |
+
#ifdef _OPENMP
|
| 38 |
+
#include <omp.h>
|
| 39 |
+
#endif
|
| 40 |
|
| 41 |
static int n, v, E;
|
| 42 |
static int *bias, *fanin, *pairs, *nxt, *start, *kind;
|
| 43 |
+
/* units grouped by depth: level l holds order[lstart[l] .. lstart[l+1]); units of
|
| 44 |
+
* one level read no unit of the same level, so a level is evaluated in parallel
|
| 45 |
+
* when the netlist is large enough for the threads to pay */
|
| 46 |
+
static int *order, *lstart, nlev, parallel;
|
| 47 |
static uint64_t *tt;
|
| 48 |
static uint8_t *sig;
|
| 49 |
static uint64_t *sig64;
|
| 50 |
|
| 51 |
+
static int A = 8, rep = 1, n0;
|
| 52 |
static uint32_t SZ = 256, MASK = 255, SIGN = 128;
|
| 53 |
static uint32_t C_WR, C_EOT, C_RW, C_RD, R_IN, R_OUT, HALT_PC;
|
| 54 |
|
|
|
|
| 104 |
else if (bias[j] == neg - 1) kind[j] = K_OR;
|
| 105 |
else { kind[j] = K_GEN; gen++; }
|
| 106 |
}
|
| 107 |
+
{
|
| 108 |
+
int *depth = calloc((size_t)(n + v), 4);
|
| 109 |
+
int dmax = 0;
|
| 110 |
+
for (int j = 0; j < v; j++) {
|
| 111 |
+
const int *p = pairs + 2 * start[j];
|
| 112 |
+
int d = 0;
|
| 113 |
+
for (int e = 0, k = fanin[j]; e < k; e++) if (depth[p[2 * e]] > d) d = depth[p[2 * e]];
|
| 114 |
+
depth[n + j] = d + 1;
|
| 115 |
+
if (d + 1 > dmax) dmax = d + 1;
|
| 116 |
+
}
|
| 117 |
+
nlev = dmax;
|
| 118 |
+
lstart = calloc((size_t)nlev + 2, 4);
|
| 119 |
+
for (int j = 0; j < v; j++) lstart[depth[n + j]]++;
|
| 120 |
+
for (int l = 1, acc = 0; l <= nlev + 1; l++) { int c = lstart[l]; lstart[l] = acc; acc += c; }
|
| 121 |
+
order = malloc(4 * (size_t)(v > 0 ? v : 1));
|
| 122 |
+
int *fill = calloc((size_t)nlev + 2, 4);
|
| 123 |
+
for (int j = 0; j < v; j++) { int l = depth[n + j]; order[lstart[l] + fill[l]++] = j; }
|
| 124 |
+
free(fill);
|
| 125 |
+
free(depth);
|
| 126 |
+
parallel = E >= 200000;
|
| 127 |
+
#ifndef _OPENMP
|
| 128 |
+
parallel = 0;
|
| 129 |
+
#endif
|
| 130 |
+
}
|
| 131 |
+
n0 = n;
|
| 132 |
+
for (int r = 1; r < 64 && n0 == n; r++)
|
| 133 |
+
for (int a = 3; a < 31; a++)
|
| 134 |
+
if ((long)r * (a + 1 + (long)a * (1L << a)) == n) { set_width(a); rep = r; n0 = n / r; break; }
|
| 135 |
+
fprintf(stderr, "net: %d state bits, %d units, %d edges, %d generic units, depth %d, A = %d, %d cop%s%s\n",
|
| 136 |
+
n, v, E, gen, nlev, A, rep, rep == 1 ? "y" : "ies", parallel ? ", levels in parallel" : "");
|
| 137 |
+
}
|
| 138 |
+
|
| 139 |
+
static inline void unit_eval(int j)
|
| 140 |
+
{
|
| 141 |
+
int acc = bias[j];
|
| 142 |
+
const int *p = pairs + 2 * start[j];
|
| 143 |
+
for (int e = 0, k = fanin[j]; e < k; e++) acc += p[2 * e + 1] * sig[p[2 * e]];
|
| 144 |
+
sig[n + j] = acc >= 0;
|
| 145 |
}
|
| 146 |
|
| 147 |
static void net_step(const uint8_t *s, uint8_t *o)
|
| 148 |
{
|
| 149 |
memcpy(sig, s, (size_t)n);
|
| 150 |
+
if (!parallel) {
|
| 151 |
+
for (int j = 0; j < v; j++) unit_eval(j);
|
| 152 |
+
} else {
|
| 153 |
+
for (int l = 1; l <= nlev; l++) {
|
| 154 |
+
int lo = lstart[l], hi = lstart[l + 1];
|
| 155 |
+
#pragma omp parallel for schedule(static)
|
| 156 |
+
for (int q = lo; q < hi; q++) unit_eval(order[q]);
|
| 157 |
+
}
|
| 158 |
}
|
| 159 |
for (int i = 0; i < n; i++) {
|
| 160 |
int k = nxt[i];
|
|
|
|
| 236 |
M[C_WR] = 0; M[C_RD] = 0; M[C_RW] = 0;
|
| 237 |
}
|
| 238 |
|
| 239 |
+
/* copy c of the state occupies s + c n0; a word is read from one copy or as the
|
| 240 |
+
* bitwise majority of all copies, and written to every copy */
|
| 241 |
+
static uint32_t get_word_c(const uint8_t *s, int c, uint32_t j)
|
| 242 |
{
|
| 243 |
uint32_t x = 0;
|
| 244 |
+
const uint8_t *b = s + (size_t)c * n0 + A + 1 + (size_t)A * j;
|
| 245 |
for (int k = 0; k < A; k++) x = (x << 1) | b[k];
|
| 246 |
return x;
|
| 247 |
}
|
| 248 |
+
static uint32_t get_word(const uint8_t *s, uint32_t j)
|
| 249 |
+
{
|
| 250 |
+
if (rep == 1) return get_word_c(s, 0, j);
|
| 251 |
+
uint32_t x = 0;
|
| 252 |
+
for (int k = 0; k < A; k++) {
|
| 253 |
+
int ones = 0;
|
| 254 |
+
for (int c = 0; c < rep; c++) ones += s[(size_t)c * n0 + A + 1 + (size_t)A * j + k];
|
| 255 |
+
x = (x << 1) | (2 * ones > rep);
|
| 256 |
+
}
|
| 257 |
+
return x;
|
| 258 |
+
}
|
| 259 |
static void set_word(uint8_t *s, uint32_t j, uint32_t val)
|
| 260 |
{
|
| 261 |
+
for (int c = 0; c < rep; c++) {
|
| 262 |
+
uint8_t *b = s + (size_t)c * n0 + A + 1 + (size_t)A * j;
|
| 263 |
+
for (int k = 0; k < A; k++) b[k] = (uint8_t)((val >> (A - 1 - k)) & 1);
|
| 264 |
+
}
|
| 265 |
}
|
| 266 |
+
static uint32_t get_pc_c(const uint8_t *s, int c)
|
| 267 |
{
|
| 268 |
uint32_t x = 0;
|
| 269 |
+
for (int k = 0; k < A; k++) x = (x << 1) | s[(size_t)c * n0 + k];
|
| 270 |
return x;
|
| 271 |
}
|
| 272 |
|
|
|
|
| 319 |
uint32_t *M = calloc(SZ, 4);
|
| 320 |
long bad = 0, tested = 0, fixed_bad = 0, latch_bad = 0;
|
| 321 |
for (long b = 0; b * 64 < N; b++) {
|
| 322 |
+
for (int i = 0; i < n0; i++) s[i] = xr();
|
| 323 |
s[A] = 0;
|
| 324 |
+
for (int c = 1; c < rep; c++) memcpy(s + (size_t)c * n0, s, 8 * (size_t)n0);
|
| 325 |
net_step64(s, o);
|
| 326 |
for (int l = 0; l < 64; l++) {
|
| 327 |
uint32_t pc = 0;
|
|
|
|
| 332 |
M[j] = x;
|
| 333 |
}
|
| 334 |
ref_step(M, &pc);
|
|
|
|
| 335 |
int ok = 1;
|
| 336 |
+
for (int c = 0; c < rep && ok; c++) {
|
| 337 |
+
const uint64_t *oc = o + (size_t)c * n0;
|
| 338 |
+
uint32_t npc = 0;
|
| 339 |
+
for (int k = 0; k < A; k++) npc = (npc << 1) | (uint32_t)(oc[k] >> l & 1);
|
| 340 |
+
if (npc != pc) ok = 0;
|
| 341 |
+
for (uint32_t j = 0; j < SZ && ok; j++) {
|
| 342 |
+
uint32_t x = 0;
|
| 343 |
+
for (int k = 0; k < A; k++) x = (x << 1) | (uint32_t)(oc[A + 1 + (size_t)A * j + k] >> l & 1);
|
| 344 |
+
if (x != M[j]) ok = 0;
|
| 345 |
+
}
|
| 346 |
+
if ((int)(oc[A] >> l & 1) != (pc == HALT_PC)) latch_bad++;
|
| 347 |
}
|
|
|
|
| 348 |
bad += !ok;
|
| 349 |
tested++;
|
| 350 |
}
|
| 351 |
+
for (int i = 0; i < n0; i++) s[i] = xr();
|
| 352 |
s[A] = ~0ull;
|
| 353 |
+
for (int c = 1; c < rep; c++) memcpy(s + (size_t)c * n0, s, 8 * (size_t)n0);
|
| 354 |
net_step64(s, o);
|
| 355 |
for (int i = 0; i < n; i++) if (s[i] != o[i]) { fixed_bad++; break; }
|
| 356 |
}
|
|
|
|
| 380 |
if (use_net) { net_step(s, y); halt_n = y[A]; net_dev_apply(&dn, y); uint8_t *t = s; s = y; y = t; }
|
| 381 |
steps++;
|
| 382 |
if (use_ref && use_net) {
|
| 383 |
+
int ok = halt_n == halt_r && dr.h == dn.h && dr.olen == dn.olen &&
|
| 384 |
(dr.olen == 0 || dr.out[dr.olen - 1] == dn.out[dn.olen - 1]);
|
| 385 |
+
for (int c = 0; c < rep && ok; c++) {
|
| 386 |
+
ok = get_pc_c(s, c) == pc && s[(size_t)c * n0 + A] == halt_r;
|
| 387 |
+
for (uint32_t j = 0; j < SZ && ok; j++) ok = get_word_c(s, c, j) == M[j];
|
| 388 |
+
}
|
| 389 |
if (!ok) { printf("lockstep divergence at step %ld\n", steps); return 1; }
|
| 390 |
}
|
| 391 |
if ((use_ref && halt_r) || (!use_ref && halt_n)) { halted = 1; break; }
|
src/neuromorphic.py
CHANGED
|
@@ -4,9 +4,10 @@ Theorem 6.2 needs integer pre-activations and a comparator placed between them.
|
|
| 4 |
A digital neuromorphic processor provides exactly that: integer synaptic
|
| 5 |
weights, an integer bias and an integer threshold, with the membrane potential
|
| 6 |
compared against the threshold once per time step. This script maps the host's
|
| 7 |
-
arithmetic
|
| 8 |
-
|
| 9 |
-
|
|
|
|
| 10 |
|
| 11 |
Two features of the hardware model fix the encoding. A synapse carrying both
|
| 12 |
signs stores its weight with the least significant bit truncated, so the
|
|
@@ -45,14 +46,39 @@ def runs_path(name: str) -> str:
|
|
| 45 |
return os.path.join(d, name)
|
| 46 |
|
| 47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
def export() -> int:
|
| 49 |
"""Levelize the datapath and write its integer weights and biases."""
|
| 50 |
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
| 51 |
from matrix8 import compile_net
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
outputs = r + [leq] + pcm
|
| 56 |
layers, info = compile_net(net, inputs, outputs, final_ordered=False)
|
| 57 |
d = {"n_layers": np.array([len(layers)]),
|
| 58 |
"n_units": np.array([len(net.gates)]),
|
|
@@ -70,12 +96,11 @@ def export() -> int:
|
|
| 70 |
return 0
|
| 71 |
|
| 72 |
|
| 73 |
-
def reference(xa, xb
|
| 74 |
-
"""
|
| 75 |
res = (xb - xa) & 0xFF
|
| 76 |
leq = 1 if (res == 0 or res >= 128) else 0
|
| 77 |
-
|
| 78 |
-
return res, leq, npc
|
| 79 |
|
| 80 |
|
| 81 |
def run() -> int:
|
|
@@ -106,21 +131,18 @@ def run() -> int:
|
|
| 106 |
assert 128 * worst < 4096
|
| 107 |
|
| 108 |
rng = np.random.default_rng(20260910)
|
| 109 |
-
N =
|
| 110 |
xa = rng.integers(0, 256, N)
|
| 111 |
xb = rng.integers(0, 256, N)
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
xa[:
|
| 115 |
-
xa[8:16] = 0; xb[8:16] = np.arange(8)
|
| 116 |
|
| 117 |
spikes = np.zeros((n_in, N))
|
| 118 |
for t in range(N):
|
| 119 |
for k in range(8):
|
| 120 |
-
spikes[k, t] = (xa[t] >> k) & 1 #
|
| 121 |
-
spikes[8 + k, t] = (xb[t] >> k) & 1 #
|
| 122 |
-
spikes[16 + k, t] = (pcv[t] >> k) & 1 # pc0..pc7
|
| 123 |
-
spikes[24 + k, t] = (cv[t] >> k) & 1 # c0..c7
|
| 124 |
|
| 125 |
T = N + L + 2
|
| 126 |
src = Source(data=np.pad(spikes, ((0, 0), (0, T - N))))
|
|
@@ -149,11 +171,10 @@ def run() -> int:
|
|
| 149 |
col = out[:, t + L]
|
| 150 |
res = sum(int(col[k]) << k for k in range(8))
|
| 151 |
leq = int(col[8])
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
print(f" {N} operand quadruples, pipelined one per time step: "
|
| 157 |
f"{'all exact' if not bad else f'{len(bad)} FAILED {bad[:3]}'}",
|
| 158 |
flush=True)
|
| 159 |
|
|
@@ -207,31 +228,25 @@ def akida() -> int:
|
|
| 207 |
lay.variables["weights"] = wv
|
| 208 |
lay.variables["threshold"] = (-b - 1).astype(np.int32)
|
| 209 |
|
| 210 |
-
|
| 211 |
-
|
| 212 |
-
|
| 213 |
-
xb = rng.integers(0, 256, N)
|
| 214 |
-
pcv = rng.integers(0, 256, N)
|
| 215 |
-
cv = rng.integers(0, 256, N)
|
| 216 |
-
xa[:256] = np.arange(256); xb[:256] = 0
|
| 217 |
-
xa[256:512] = 0; xb[256:512] = np.arange(256)
|
| 218 |
X = np.zeros((N, 1, 1, n_in), dtype=np.uint8)
|
| 219 |
for k in range(8):
|
| 220 |
X[:, 0, 0, k] = (xa >> k) & 1
|
| 221 |
X[:, 0, 0, 8 + k] = (xb >> k) & 1
|
| 222 |
-
|
| 223 |
-
|
| 224 |
-
|
| 225 |
|
| 226 |
bad = []
|
| 227 |
for t in range(N):
|
| 228 |
res = sum(int(out[t, k]) << k for k in range(8))
|
| 229 |
leq = int(out[t, 8])
|
| 230 |
-
|
| 231 |
-
|
| 232 |
-
|
| 233 |
-
|
| 234 |
-
print(f" {N} operand quadruples forwarded through the layer stack: "
|
| 235 |
f"{'all exact' if not bad else f'{len(bad)} FAILED {bad[:3]}'}",
|
| 236 |
flush=True)
|
| 237 |
print(f" weights are stored at two bits and thresholds as integers, so "
|
|
|
|
| 4 |
A digital neuromorphic processor provides exactly that: integer synaptic
|
| 5 |
weights, an integer bias and an integer threshold, with the membrane potential
|
| 6 |
compared against the threshold once per time step. This script maps the host's
|
| 7 |
+
arithmetic datapath, the carry-lookahead subtractor, the equality test and the
|
| 8 |
+
branch unit of H_8 with the two operand bytes as free inputs, onto the neuron
|
| 9 |
+
model of Intel's Loihi as implemented bit-accurately by the Lava simulator, one
|
| 10 |
+
layer per time step, and compares the result with the integer reference.
|
| 11 |
|
| 12 |
Two features of the hardware model fix the encoding. A synapse carrying both
|
| 13 |
signs stores its weight with the least significant bit truncated, so the
|
|
|
|
| 46 |
return os.path.join(d, name)
|
| 47 |
|
| 48 |
|
| 49 |
+
def datapath_net():
|
| 50 |
+
"""The subtractor, the equality test and the branch of H_8, cut out of the
|
| 51 |
+
host netlist: inputs are the value bits of x = M[a] and y = M[b], least
|
| 52 |
+
significant first, outputs the value bits of r = y - x and [r <= 0]."""
|
| 53 |
+
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
| 54 |
+
from host_family import build
|
| 55 |
+
from matrix8 import Net
|
| 56 |
+
full, _, _ = build(8)
|
| 57 |
+
A = 8
|
| 58 |
+
xv = [f"X{A - 1 - i}" for i in range(A)]
|
| 59 |
+
yv = [f"Y{A - 1 - i}" for i in range(A)]
|
| 60 |
+
keep = set()
|
| 61 |
+
stack = [f"R{k}" for k in range(A)] + ["LEQ"]
|
| 62 |
+
while stack:
|
| 63 |
+
g = stack.pop()
|
| 64 |
+
if g in keep or g in xv or g in yv:
|
| 65 |
+
continue
|
| 66 |
+
keep.add(g)
|
| 67 |
+
stack.extend(s for s, _ in full.gates[g][0])
|
| 68 |
+
net = Net()
|
| 69 |
+
for gname, (ins, bias) in full.gates.items():
|
| 70 |
+
if gname in keep:
|
| 71 |
+
net.g(gname, list(ins), bias)
|
| 72 |
+
return net, xv, yv, [f"R{k}" for k in range(A)], "LEQ"
|
| 73 |
+
|
| 74 |
+
|
| 75 |
def export() -> int:
|
| 76 |
"""Levelize the datapath and write its integer weights and biases."""
|
| 77 |
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
| 78 |
from matrix8 import compile_net
|
| 79 |
+
net, xv, yv, r, leq = datapath_net()
|
| 80 |
+
inputs = xv + yv
|
| 81 |
+
outputs = r + [leq]
|
|
|
|
| 82 |
layers, info = compile_net(net, inputs, outputs, final_ordered=False)
|
| 83 |
d = {"n_layers": np.array([len(layers)]),
|
| 84 |
"n_units": np.array([len(net.gates)]),
|
|
|
|
| 96 |
return 0
|
| 97 |
|
| 98 |
|
| 99 |
+
def reference(xa, xb):
|
| 100 |
+
"""The subtraction and the branch predicate of Definition 3.1, as integers."""
|
| 101 |
res = (xb - xa) & 0xFF
|
| 102 |
leq = 1 if (res == 0 or res >= 128) else 0
|
| 103 |
+
return res, leq
|
|
|
|
| 104 |
|
| 105 |
|
| 106 |
def run() -> int:
|
|
|
|
| 131 |
assert 128 * worst < 4096
|
| 132 |
|
| 133 |
rng = np.random.default_rng(20260910)
|
| 134 |
+
N = 4096
|
| 135 |
xa = rng.integers(0, 256, N)
|
| 136 |
xb = rng.integers(0, 256, N)
|
| 137 |
+
xa[:256] = np.arange(256); xb[:256] = 0 # every difference through zero
|
| 138 |
+
xa[256:512] = 0; xb[256:512] = np.arange(256)
|
| 139 |
+
xa[512:768] = np.arange(256); xb[512:768] = np.arange(256) # x = y
|
|
|
|
| 140 |
|
| 141 |
spikes = np.zeros((n_in, N))
|
| 142 |
for t in range(N):
|
| 143 |
for k in range(8):
|
| 144 |
+
spikes[k, t] = (xa[t] >> k) & 1 # x, value bits
|
| 145 |
+
spikes[8 + k, t] = (xb[t] >> k) & 1 # y
|
|
|
|
|
|
|
| 146 |
|
| 147 |
T = N + L + 2
|
| 148 |
src = Source(data=np.pad(spikes, ((0, 0), (0, T - N))))
|
|
|
|
| 171 |
col = out[:, t + L]
|
| 172 |
res = sum(int(col[k]) << k for k in range(8))
|
| 173 |
leq = int(col[8])
|
| 174 |
+
want = reference(int(xa[t]), int(xb[t]))
|
| 175 |
+
if (res, leq) != want:
|
| 176 |
+
bad.append((t, (res, leq), want))
|
| 177 |
+
print(f" {N} operand pairs, pipelined one per time step: "
|
|
|
|
| 178 |
f"{'all exact' if not bad else f'{len(bad)} FAILED {bad[:3]}'}",
|
| 179 |
flush=True)
|
| 180 |
|
|
|
|
| 228 |
lay.variables["weights"] = wv
|
| 229 |
lay.variables["threshold"] = (-b - 1).astype(np.int32)
|
| 230 |
|
| 231 |
+
N = 65536 # every operand pair
|
| 232 |
+
xa = np.arange(N) % 256
|
| 233 |
+
xb = np.arange(N) // 256
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 234 |
X = np.zeros((N, 1, 1, n_in), dtype=np.uint8)
|
| 235 |
for k in range(8):
|
| 236 |
X[:, 0, 0, k] = (xa >> k) & 1
|
| 237 |
X[:, 0, 0, 8 + k] = (xb >> k) & 1
|
| 238 |
+
out = np.concatenate([m.forward(X[i:i + 8192]).reshape(-1, out_w)
|
| 239 |
+
for i in range(0, N, 8192)
|
| 240 |
+
for out_w in [int(layers[-1][0].shape[0])]])
|
| 241 |
|
| 242 |
bad = []
|
| 243 |
for t in range(N):
|
| 244 |
res = sum(int(out[t, k]) << k for k in range(8))
|
| 245 |
leq = int(out[t, 8])
|
| 246 |
+
want = reference(int(xa[t]), int(xb[t]))
|
| 247 |
+
if (res, leq) != want:
|
| 248 |
+
bad.append((t, (res, leq), want))
|
| 249 |
+
print(f" all {N} operand pairs forwarded through the layer stack: "
|
|
|
|
| 250 |
f"{'all exact' if not bad else f'{len(bad)} FAILED {bad[:3]}'}",
|
| 251 |
flush=True)
|
| 252 |
print(f" weights are stored at two bits and thresholds as integers, so "
|
src/noise.py
CHANGED
|
@@ -9,19 +9,24 @@ either; the long run uses the faster one.
|
|
| 9 |
that the exactness claim and the robustness claim concern the same
|
| 10 |
instance;
|
| 11 |
curve the probability that a trajectory deviates, measured against the
|
| 12 |
-
union bound of Proposition 6.
|
| 13 |
deviation is detected by running noise-free and noisy copies in one
|
| 14 |
batch and comparing the full state after every step, which is the
|
| 15 |
event the bound covers;
|
| 16 |
leak static weight error with the zero entries leaking, which is the
|
| 17 |
-
term of Corollary 6.
|
| 18 |
that the earlier mismatch model omitted;
|
| 19 |
margin the margin of Theorem 6.2 along the trajectory of the instance,
|
| 20 |
which is what the three experiments go outside;
|
| 21 |
profile the pre-activations along the exact orbit the curve experiment
|
| 22 |
-
starts from, and the one-sided bound they give on its rate
|
| 23 |
-
|
| 24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
"""
|
| 26 |
from __future__ import annotations
|
| 27 |
|
|
@@ -242,7 +247,7 @@ def run_leak(args) -> int:
|
|
| 242 |
kmax = max(int((W != 0).sum(dim=1).max()) for W in L.W)
|
| 243 |
r_H = describe(sigma)
|
| 244 |
print(f"[leak] M = {M:,}, widest layer {nmax}, largest fan-in {kmax}; "
|
| 245 |
-
f"Corollary 6.
|
| 246 |
|
| 247 |
def worst_bound(eps, gam):
|
| 248 |
w = 0.0
|
|
@@ -370,7 +375,7 @@ def run_profile(args) -> int:
|
|
| 370 |
that step t deviates is at most the sum of Q(|z + 1/2| / s) over the rows
|
| 371 |
at step t. The average of that sum over the steps is compared with the
|
| 372 |
measured rate of the curve experiment and with the bound M p of
|
| 373 |
-
Proposition 6.
|
| 374 |
"""
|
| 375 |
import torch
|
| 376 |
from selfrep import M_P, LevEvaluator, describe, read_host
|
|
@@ -446,9 +451,95 @@ def run_profile(args) -> int:
|
|
| 446 |
return 0
|
| 447 |
|
| 448 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 449 |
def main() -> int:
|
| 450 |
ap = argparse.ArgumentParser()
|
| 451 |
-
ap.add_argument("mode", choices=["omega", "curve", "leak", "margin", "profile"])
|
|
|
|
| 452 |
ap.add_argument("--states", type=int, default=800)
|
| 453 |
ap.add_argument("--device", default="cuda")
|
| 454 |
ap.add_argument("--batch", type=int, default=256)
|
|
@@ -456,7 +547,8 @@ def main() -> int:
|
|
| 456 |
ap.add_argument("--steps", type=int, default=4000)
|
| 457 |
args = ap.parse_args()
|
| 458 |
return {"omega": run_omega, "curve": run_curve, "leak": run_leak,
|
| 459 |
-
"margin": run_margin, "profile": run_profile
|
|
|
|
| 460 |
|
| 461 |
|
| 462 |
if __name__ == "__main__":
|
|
|
|
| 9 |
that the exactness claim and the robustness claim concern the same
|
| 10 |
instance;
|
| 11 |
curve the probability that a trajectory deviates, measured against the
|
| 12 |
+
union bound of Proposition 6.5 over a grid of noise levels; the
|
| 13 |
deviation is detected by running noise-free and noisy copies in one
|
| 14 |
batch and comparing the full state after every step, which is the
|
| 15 |
event the bound covers;
|
| 16 |
leak static weight error with the zero entries leaking, which is the
|
| 17 |
+
term of Corollary 6.3 that grows with the width of the layer and
|
| 18 |
that the earlier mismatch model omitted;
|
| 19 |
margin the margin of Theorem 6.2 along the trajectory of the instance,
|
| 20 |
which is what the three experiments go outside;
|
| 21 |
profile the pre-activations along the exact orbit the curve experiment
|
| 22 |
+
starts from, and the one-sided bound they give on its rate;
|
| 23 |
+
certify the active-input counts along an orbit, which certify the
|
| 24 |
+
leakage and weight tolerances of that orbit (Proposition 6.4):
|
| 25 |
+
a zero entry leaks into a pre-activation only through an input
|
| 26 |
+
that is 1, so the term gamma (n - k) of Corollary 6.3 becomes
|
| 27 |
+
gamma times the number of active zero-weight inputs of the row.
|
| 28 |
+
|
| 29 |
+
python src/noise.py omega|curve|leak|margin|profile|certify [--device cuda]
|
| 30 |
"""
|
| 31 |
from __future__ import annotations
|
| 32 |
|
|
|
|
| 247 |
kmax = max(int((W != 0).sum(dim=1).max()) for W in L.W)
|
| 248 |
r_H = describe(sigma)
|
| 249 |
print(f"[leak] M = {M:,}, widest layer {nmax}, largest fan-in {kmax}; "
|
| 250 |
+
f"Corollary 6.3 permits eps*k + gamma*(n-k) < 1/2", flush=True)
|
| 251 |
|
| 252 |
def worst_bound(eps, gam):
|
| 253 |
w = 0.0
|
|
|
|
| 375 |
that step t deviates is at most the sum of Q(|z + 1/2| / s) over the rows
|
| 376 |
at step t. The average of that sum over the steps is compared with the
|
| 377 |
measured rate of the curve experiment and with the bound M p of
|
| 378 |
+
Proposition 6.5.
|
| 379 |
"""
|
| 380 |
import torch
|
| 381 |
from selfrep import M_P, LevEvaluator, describe, read_host
|
|
|
|
| 451 |
return 0
|
| 452 |
|
| 453 |
|
| 454 |
+
def run_certify(args) -> int:
|
| 455 |
+
"""Active-input counts along an orbit.
|
| 456 |
+
|
| 457 |
+
For every row of every layer at every step, the number k1 of inputs that
|
| 458 |
+
are 1 among the programmed entries and the number a of inputs that are 1
|
| 459 |
+
among the zero entries are formed; a is the popcount of the layer's input
|
| 460 |
+
less k1. The maxima A* of a and K* of k1 over the orbit give the
|
| 461 |
+
certificate: with errors bounded as in Corollary 6.3, the realized system
|
| 462 |
+
follows the orbit whenever eps K* + gamma A* + eta < 1/2. Two orbits are
|
| 463 |
+
certified: the first 10,000 steps of the self-describing instance, which
|
| 464 |
+
the leak experiment runs, and the complete self-reproducing run.
|
| 465 |
+
"""
|
| 466 |
+
import torch
|
| 467 |
+
from selfrep import M_P, M_STAR, LevEvaluator, describe, read_host, tau_star
|
| 468 |
+
sigma = read_host()
|
| 469 |
+
L = LevEvaluator(sigma, device=args.device, dense=False)
|
| 470 |
+
M = L.info["size"]
|
| 471 |
+
print(f"[certify] M = {M:,} rows in {L.info['layers']} layers", flush=True)
|
| 472 |
+
leak = json.load(open(runs_path("paper_noise_leak.json"))) \
|
| 473 |
+
if os.path.exists(runs_path("paper_noise_leak.json")) else None
|
| 474 |
+
|
| 475 |
+
def walk(mem0, tape, cap, label):
|
| 476 |
+
v = L._vec(0, mem0).unsqueeze(0).to(args.device)
|
| 477 |
+
D = Devices(L, [tape], args.device)
|
| 478 |
+
nl = len(L.plan)
|
| 479 |
+
a_max = torch.zeros(nl, dtype=torch.long, device=args.device)
|
| 480 |
+
k_max = torch.zeros(nl, dtype=torch.long, device=args.device)
|
| 481 |
+
pop_max = torch.zeros(nl, dtype=torch.long, device=args.device)
|
| 482 |
+
t0 = time.perf_counter()
|
| 483 |
+
T = cap
|
| 484 |
+
for n in range(cap):
|
| 485 |
+
x = v
|
| 486 |
+
for li, (groups, width) in enumerate(zip(L.plan, L.widths)):
|
| 487 |
+
y = torch.empty(1, width, device=args.device)
|
| 488 |
+
pop = x.sum().long()
|
| 489 |
+
pop_max[li] = torch.maximum(pop_max[li], pop)
|
| 490 |
+
for rows, idx, w, b in groups:
|
| 491 |
+
g = x[:, idx]
|
| 492 |
+
k1 = (g * (w != 0)).sum(-1).long()
|
| 493 |
+
k_max[li] = torch.maximum(k_max[li], k1.max())
|
| 494 |
+
a_max[li] = torch.maximum(a_max[li], (pop - k1).max())
|
| 495 |
+
y[:, rows] = (((g * w).sum(-1) + b) >= 0).float()
|
| 496 |
+
x = y
|
| 497 |
+
v = x
|
| 498 |
+
if D.step(v)[0]:
|
| 499 |
+
T = n + 1
|
| 500 |
+
break
|
| 501 |
+
if (n + 1) % 100000 == 0:
|
| 502 |
+
print(f" {label}: {n + 1:,} steps ({(n + 1) / (time.perf_counter() - t0):.0f}/s)",
|
| 503 |
+
flush=True)
|
| 504 |
+
A_star, K_star = int(a_max.max()), int(k_max.max())
|
| 505 |
+
rec = {"steps": T, "A_star": A_star, "K_star": K_star,
|
| 506 |
+
"per_layer_active_zero_max": a_max.tolist(),
|
| 507 |
+
"per_layer_active_programmed_max": k_max.tolist(),
|
| 508 |
+
"per_layer_popcount_max": pop_max.tolist(),
|
| 509 |
+
"gamma_certified": 0.5 / A_star, "epsilon_certified": 0.5 / K_star,
|
| 510 |
+
"seconds": time.perf_counter() - t0}
|
| 511 |
+
print(f" {label}: {T:,} steps; at most {A_star} active zero-weight inputs and "
|
| 512 |
+
f"{K_star} active programmed inputs at any row: gamma < {0.5 / A_star:.3e}, "
|
| 513 |
+
f"eps < {0.5 / K_star:.3e} ({rec['seconds']:.0f} s)", flush=True)
|
| 514 |
+
return rec
|
| 515 |
+
|
| 516 |
+
out = {"M": M, "widest_layer": max(L.widths)}
|
| 517 |
+
out["selfdesc_10000"] = walk(M_P, describe(sigma), args.steps, "self-describing orbit")
|
| 518 |
+
if leak is not None:
|
| 519 |
+
A_star, K_star = out["selfdesc_10000"]["A_star"], out["selfdesc_10000"]["K_star"]
|
| 520 |
+
rows = []
|
| 521 |
+
for r in leak["rows"]:
|
| 522 |
+
cert = r["epsilon"] * K_star + r["gamma"] * A_star
|
| 523 |
+
rows.append({"epsilon": r["epsilon"], "gamma": r["gamma"], "worst_bound": r["worst_bound"],
|
| 524 |
+
"orbit_bound": cert, "certified_by_orbit": cert < 0.5,
|
| 525 |
+
"first_deviation": r["first_deviation"]})
|
| 526 |
+
out["leak_rows"] = rows
|
| 527 |
+
n_cert = sum(r["certified_by_orbit"] for r in rows)
|
| 528 |
+
n_exact = sum(r["first_deviation"] is None for r in rows)
|
| 529 |
+
print(f" of the {len(rows)} rows of the leak table, Corollary 6.3 certifies "
|
| 530 |
+
f"{sum(r['worst_bound'] < 0.5 for r in rows)}, the orbit certificate {n_cert}, "
|
| 531 |
+
f"and {n_exact} were exact")
|
| 532 |
+
if not args.short:
|
| 533 |
+
tau = tau_star(sigma, M_STAR)
|
| 534 |
+
out["omega_star"] = walk(M_STAR, tau, 1 << 21, "self-reproducing run")
|
| 535 |
+
json.dump(out, open(runs_path("paper_noise_certify.json"), "w"), indent=1)
|
| 536 |
+
return 0
|
| 537 |
+
|
| 538 |
+
|
| 539 |
def main() -> int:
|
| 540 |
ap = argparse.ArgumentParser()
|
| 541 |
+
ap.add_argument("mode", choices=["omega", "curve", "leak", "margin", "profile", "certify"])
|
| 542 |
+
ap.add_argument("--short", action="store_true", help="certify: the leak orbit only")
|
| 543 |
ap.add_argument("--states", type=int, default=800)
|
| 544 |
ap.add_argument("--device", default="cuda")
|
| 545 |
ap.add_argument("--batch", type=int, default=256)
|
|
|
|
| 547 |
ap.add_argument("--steps", type=int, default=4000)
|
| 548 |
args = ap.parse_args()
|
| 549 |
return {"omega": run_omega, "curve": run_curve, "leak": run_leak,
|
| 550 |
+
"margin": run_margin, "profile": run_profile,
|
| 551 |
+
"certify": run_certify}[args.mode](args)
|
| 552 |
|
| 553 |
|
| 554 |
if __name__ == "__main__":
|
src/paper_verify.py
CHANGED
|
@@ -192,7 +192,7 @@ def check_host_datapath():
|
|
| 192 |
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 193 |
E = NetEvaluator(read_host(), device=device)
|
| 194 |
|
| 195 |
-
def sweep(mems, pcs, chunk=
|
| 196 |
bad = 0
|
| 197 |
for i in range(0, len(pcs), chunk):
|
| 198 |
m = mems[i:i + chunk].to(device)
|
|
|
|
| 192 |
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 193 |
E = NetEvaluator(read_host(), device=device)
|
| 194 |
|
| 195 |
+
def sweep(mems, pcs, chunk=256):
|
| 196 |
bad = 0
|
| 197 |
for i in range(0, len(pcs), chunk):
|
| 198 |
m = mems[i:i + chunk].to(device)
|
src/redundant.py
ADDED
|
@@ -0,0 +1,745 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""The amplified host: r-fold redundancy with the restoring organ inside every unit.
|
| 2 |
+
|
| 3 |
+
For an odd r, the amplification A_r of a layered map replaces every row by r
|
| 4 |
+
rows, each reading all r copies of each of the row's inputs with the row's own
|
| 5 |
+
weight and carrying the bias r b + (r - 1)/2. On replicated inputs every
|
| 6 |
+
pre-activation is r z + (r - 1)/2, z the pre-activation of the original row,
|
| 7 |
+
so the amplified map sends the replicated state to the replicated next state
|
| 8 |
+
and every pre-activation lies at distance at least r/2 from the comparator at
|
| 9 |
+
-1/2; a unit whose inputs carry f wrong copies keeps its margin down to
|
| 10 |
+
r/2 - f. The redundant host is N_r = A_r(Lev(N_host)), a clocked netlist on
|
| 11 |
+
r * 2057 state bits realizing the SUBLEQ transducer on r copies of the state,
|
| 12 |
+
copy c occupying the block c * 2057 .. (c + 1) * 2057 - 1; its identity rows
|
| 13 |
+
become majority units, one restoring organ per level. The device reads each
|
| 14 |
+
bit of a cell as the majority of its copies and writes every copy.
|
| 15 |
+
|
| 16 |
+
python src/redundant.py build [--r 3] sigma(N_r), its sizes, one step against SUBLEQ
|
| 17 |
+
python src/redundant.py selfrep [--r 3] Omega*_r on the evaluator in C, to completion
|
| 18 |
+
python src/redundant.py omega [--r 3] the instance Omega* of the host on N_r under read noise
|
| 19 |
+
python src/redundant.py curve [--r 3] the deviation rate of N_r against the bounds
|
| 20 |
+
python src/redundant.py restore [--r 3] wrong copies along a noisy run, and the state
|
| 21 |
+
read by majority
|
| 22 |
+
python src/redundant.py layers [--r 3] the profile bound of N_r split by layer
|
| 23 |
+
"""
|
| 24 |
+
from __future__ import annotations
|
| 25 |
+
|
| 26 |
+
import argparse
|
| 27 |
+
import hashlib
|
| 28 |
+
import json
|
| 29 |
+
import math
|
| 30 |
+
import os
|
| 31 |
+
import subprocess
|
| 32 |
+
import sys
|
| 33 |
+
import tempfile
|
| 34 |
+
import time
|
| 35 |
+
from typing import Dict, List, Tuple
|
| 36 |
+
|
| 37 |
+
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
| 38 |
+
REPO = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
| 39 |
+
SRC = os.path.join(REPO, "src")
|
| 40 |
+
|
| 41 |
+
from check_c import levelize, parse_sigma, write_flat, framed_parts
|
| 42 |
+
from host_family import encode
|
| 43 |
+
from selfrep import (M_P, M_STAR, HALT_PC, Tape, describe, field, inst, read_host,
|
| 44 |
+
ser, tau_star, run_reference, STATE_LAYOUT, IO_CELLS, STATE_BITS)
|
| 45 |
+
|
| 46 |
+
|
| 47 |
+
def runs_path(name: str) -> str:
|
| 48 |
+
d = os.path.join(REPO, "paper", "runs")
|
| 49 |
+
os.makedirs(d, exist_ok=True)
|
| 50 |
+
return os.path.join(d, name)
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
def sha(b: bytes) -> str:
|
| 54 |
+
return hashlib.sha256(b).hexdigest()
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
# ---------------------------------------------------------------------------
|
| 58 |
+
# the construction
|
| 59 |
+
# ---------------------------------------------------------------------------
|
| 60 |
+
|
| 61 |
+
class Amplified:
|
| 62 |
+
"""N_r = A_r(Lev(N)) for the netlist N of a serialization, in flat form.
|
| 63 |
+
|
| 64 |
+
`units` lists the amplified rows in layer order, copies of a row adjacent,
|
| 65 |
+
as (bias, [(signal, weight), ...]) over the signal numbering of N_r: state
|
| 66 |
+
bit i of copy c is c n + i, and copy c of row j of Lev(N) is r n + r j + c.
|
| 67 |
+
`layers` gives the number of rows of Lev(N) in each layer.
|
| 68 |
+
"""
|
| 69 |
+
|
| 70 |
+
def __init__(self, sigma: bytes, r: int):
|
| 71 |
+
assert r >= 1 and r % 2 == 1, "the redundancy must be odd"
|
| 72 |
+
n, units, nxt = parse_sigma(sigma)
|
| 73 |
+
ln, lunits, lnxt, info = levelize(n, units, nxt)
|
| 74 |
+
assert ln == n
|
| 75 |
+
self.r, self.n, self.sigma0 = r, n, sigma
|
| 76 |
+
self.layers: List[int] = info["layer_sizes"]
|
| 77 |
+
self.depth = info["depth"]
|
| 78 |
+
self.lev_rows = len(lunits)
|
| 79 |
+
self.lev_units = lunits
|
| 80 |
+
self.lev_nxt = lnxt
|
| 81 |
+
shift = (r - 1) // 2
|
| 82 |
+
|
| 83 |
+
def pos(k: int, c: int) -> int:
|
| 84 |
+
return c * n + k if k < n else r * n + r * (k - n) + c
|
| 85 |
+
|
| 86 |
+
out: List[Tuple[int, List[Tuple[int, int]]]] = []
|
| 87 |
+
for b, ins in lunits:
|
| 88 |
+
ins_r = [(pos(k, c), w) for k, w in ins for c in range(r)]
|
| 89 |
+
for c in range(r):
|
| 90 |
+
out.append((r * b + shift, ins_r))
|
| 91 |
+
self.units = out
|
| 92 |
+
self.nxt = [r * n + r * (lnxt[i] - n) + c for c in range(r) for i in range(n)]
|
| 93 |
+
self.state_bits = r * n
|
| 94 |
+
self.edges = sum(len(ins) for _, ins in out)
|
| 95 |
+
|
| 96 |
+
def sigma(self) -> bytes:
|
| 97 |
+
bias, fanin, pred = [], [], []
|
| 98 |
+
for b, ins in self.units:
|
| 99 |
+
bias.append(b)
|
| 100 |
+
fanin.append(len(ins))
|
| 101 |
+
for k, w in ins:
|
| 102 |
+
pred.append(w * (k + 1))
|
| 103 |
+
lay = dict(STATE_LAYOUT)
|
| 104 |
+
lay["replicas"] = self.r
|
| 105 |
+
lay["copy_stride"] = self.n
|
| 106 |
+
return encode(8, bias, fanin, pred, self.nxt, f"subleq8r{self.r}", lay, IO_CELLS)
|
| 107 |
+
|
| 108 |
+
def write_flat(self, path: str) -> None:
|
| 109 |
+
write_flat(path, self.state_bits, self.units, self.nxt)
|
| 110 |
+
|
| 111 |
+
# -- the layered plan for the evaluator on the accelerator ----------------
|
| 112 |
+
def plan(self, device: str, pad: bool):
|
| 113 |
+
"""Per layer, groups (rows, idx, w, b): the rows of the amplified layer,
|
| 114 |
+
the positions of their inputs in the previous layer's vector, the
|
| 115 |
+
weights and the biases. Copy c of row m sits at position m r + c of its
|
| 116 |
+
layer; layer 0 is the state, copy c of bit i at c n + i."""
|
| 117 |
+
import torch
|
| 118 |
+
r, n = self.r, self.n
|
| 119 |
+
base = [n]
|
| 120 |
+
for L in self.layers:
|
| 121 |
+
base.append(base[-1] + L)
|
| 122 |
+
plan = []
|
| 123 |
+
j = 0
|
| 124 |
+
for ell, L in enumerate(self.layers, start=1):
|
| 125 |
+
rows_of = []
|
| 126 |
+
for m in range(L):
|
| 127 |
+
b, ins = self.lev_units[j]
|
| 128 |
+
j += 1
|
| 129 |
+
if ell == 1:
|
| 130 |
+
idx = [c * n + k for k, w in ins for c in range(r)]
|
| 131 |
+
else:
|
| 132 |
+
idx = [r * (k - base[ell - 1]) + c for k, w in ins for c in range(r)]
|
| 133 |
+
w = [wt for k, wt in ins for c in range(r)]
|
| 134 |
+
for c in range(r):
|
| 135 |
+
rows_of.append((m * r + c, idx, w, r * b + (r - 1) // 2))
|
| 136 |
+
groups = []
|
| 137 |
+
if pad:
|
| 138 |
+
K = max(len(x[1]) for x in rows_of)
|
| 139 |
+
idx_t = torch.zeros(len(rows_of), K, dtype=torch.long)
|
| 140 |
+
w_t = torch.zeros(len(rows_of), K)
|
| 141 |
+
for q, (row, idx, w, b) in enumerate(rows_of):
|
| 142 |
+
idx_t[q, :len(idx)] = torch.tensor(idx)
|
| 143 |
+
w_t[q, :len(w)] = torch.tensor(w, dtype=torch.float32)
|
| 144 |
+
rows_t = torch.tensor([x[0] for x in rows_of])
|
| 145 |
+
b_t = torch.tensor([x[3] for x in rows_of], dtype=torch.float32)
|
| 146 |
+
groups.append((rows_t.to(device), idx_t.to(device), w_t.to(device), b_t.to(device)))
|
| 147 |
+
else:
|
| 148 |
+
by_k: Dict[int, list] = {}
|
| 149 |
+
for x in rows_of:
|
| 150 |
+
by_k.setdefault(len(x[1]), []).append(x)
|
| 151 |
+
for K in sorted(by_k):
|
| 152 |
+
g = by_k[K]
|
| 153 |
+
rows_t = torch.tensor([x[0] for x in g])
|
| 154 |
+
idx_t = torch.tensor([x[1] for x in g], dtype=torch.long)
|
| 155 |
+
w_t = torch.tensor([x[2] for x in g], dtype=torch.float32)
|
| 156 |
+
b_t = torch.tensor([x[3] for x in g], dtype=torch.float32)
|
| 157 |
+
groups.append((rows_t.to(device), idx_t.to(device), w_t.to(device), b_t.to(device)))
|
| 158 |
+
plan.append((r * L, groups))
|
| 159 |
+
# the final layer holds copy c of state bit i at i r + c; the state
|
| 160 |
+
# holds it at c n + i
|
| 161 |
+
perm = torch.tensor([i * r + c for c in range(r) for i in range(n)]).to(device)
|
| 162 |
+
return plan, perm
|
| 163 |
+
|
| 164 |
+
|
| 165 |
+
class Evaluator:
|
| 166 |
+
"""N_r on the accelerator, with read noise and the device on the copies."""
|
| 167 |
+
|
| 168 |
+
def __init__(self, amp: Amplified, device: str = "cuda", pad: bool = True,
|
| 169 |
+
graph: bool = False):
|
| 170 |
+
import torch
|
| 171 |
+
self.torch = torch
|
| 172 |
+
self.amp, self.device = amp, device
|
| 173 |
+
self.r, self.n = amp.r, amp.n
|
| 174 |
+
self.plan, self.perm = amp.plan(device, pad)
|
| 175 |
+
self.M = sum(L for L, _ in self.plan)
|
| 176 |
+
self.N = amp.state_bits
|
| 177 |
+
cells = (IO_CELLS["c_wr"], IO_CELLS["c_eot"], IO_CELLS["c_rw"],
|
| 178 |
+
IO_CELLS["c_rd"], IO_CELLS["r_in"], IO_CELLS["r_out"])
|
| 179 |
+
self.cells = cells
|
| 180 |
+
# bit t of cell j of copy c
|
| 181 |
+
self.cell_idx = torch.tensor([[c * self.n + 9 + 8 * j + t for j in cells for t in range(8)]
|
| 182 |
+
for c in range(self.r)], device=device)
|
| 183 |
+
self.pow2 = torch.tensor([1 << (7 - t) for t in range(8)], device=device)
|
| 184 |
+
self.shift = torch.tensor([7 - t for t in range(8)])
|
| 185 |
+
self.graph = None
|
| 186 |
+
self.gen = None
|
| 187 |
+
if graph:
|
| 188 |
+
self.capture()
|
| 189 |
+
|
| 190 |
+
# -- one application of the map, over a batch --------------------------
|
| 191 |
+
def _forward(self, v, s: float = 0.0, gen=None):
|
| 192 |
+
torch = self.torch
|
| 193 |
+
x = v
|
| 194 |
+
for width, groups in self.plan:
|
| 195 |
+
y = torch.empty(x.shape[0], width, device=x.device)
|
| 196 |
+
for rows, idx, w, b in groups:
|
| 197 |
+
pre = (x[:, idx] * w).sum(-1) + b
|
| 198 |
+
if s > 0:
|
| 199 |
+
pre = pre + torch.randn(pre.shape, generator=gen, device=pre.device) * s
|
| 200 |
+
y[:, rows] = (pre >= -0.5).float()
|
| 201 |
+
x = y
|
| 202 |
+
return x[:, self.perm]
|
| 203 |
+
|
| 204 |
+
def step(self, v):
|
| 205 |
+
if self.graph is not None and v.shape[0] == 1 and self.gs == 0.0:
|
| 206 |
+
return self._replay(v)
|
| 207 |
+
return self._forward(v)
|
| 208 |
+
|
| 209 |
+
def step_noisy(self, v, s: float, gen):
|
| 210 |
+
if self.graph is not None and v.shape[0] == 1 and self.gs == s and gen is self.gen:
|
| 211 |
+
return self._replay(v)
|
| 212 |
+
return self._forward(v, s, gen)
|
| 213 |
+
|
| 214 |
+
def capture(self, s: float = 0.0, seed: int = 0):
|
| 215 |
+
"""Capture one application, with noise of deviation s, as a CUDA graph."""
|
| 216 |
+
torch = self.torch
|
| 217 |
+
self.gs = s
|
| 218 |
+
self.gin = torch.zeros(1, self.N, device=self.device)
|
| 219 |
+
gen = None
|
| 220 |
+
if s > 0:
|
| 221 |
+
gen = torch.Generator(device=self.device).manual_seed(seed)
|
| 222 |
+
self.gen = gen
|
| 223 |
+
for _ in range(3):
|
| 224 |
+
self._forward(self.gin, s, gen)
|
| 225 |
+
torch.cuda.synchronize()
|
| 226 |
+
self.graph = torch.cuda.CUDAGraph()
|
| 227 |
+
with torch.cuda.graph(self.graph):
|
| 228 |
+
self.gout = self._forward(self.gin, s, gen)
|
| 229 |
+
torch.cuda.synchronize()
|
| 230 |
+
if s == 0.0:
|
| 231 |
+
probe = (torch.rand(1, self.N, device=self.device) < 0.5).float()
|
| 232 |
+
self.gin.copy_(probe)
|
| 233 |
+
self.graph.replay()
|
| 234 |
+
torch.cuda.synchronize()
|
| 235 |
+
assert bool((self.gout == self._forward(probe)).all()), \
|
| 236 |
+
"the captured graph differs from the eager step"
|
| 237 |
+
return self
|
| 238 |
+
|
| 239 |
+
def _replay(self, v):
|
| 240 |
+
if v.data_ptr() != self.gin.data_ptr():
|
| 241 |
+
self.gin.copy_(v)
|
| 242 |
+
self.graph.replay()
|
| 243 |
+
self.gin.copy_(self.gout)
|
| 244 |
+
return self.gin
|
| 245 |
+
|
| 246 |
+
# -- states --------------------------------------------------------------
|
| 247 |
+
def vec(self, pc: int, mem: List[int], copies: int = 1):
|
| 248 |
+
torch = self.torch
|
| 249 |
+
v0 = torch.zeros(self.n)
|
| 250 |
+
for k in range(8):
|
| 251 |
+
v0[k] = (pc >> (7 - k)) & 1
|
| 252 |
+
for j in range(256):
|
| 253 |
+
for k in range(8):
|
| 254 |
+
v0[9 + j * 8 + k] = (mem[j] >> (7 - k)) & 1
|
| 255 |
+
v = v0.repeat(self.r).unsqueeze(0).to(self.device)
|
| 256 |
+
return v.repeat(copies, 1)
|
| 257 |
+
|
| 258 |
+
def device_step(self, v, tapes: List[Tape], shadow: List[List[int]]):
|
| 259 |
+
"""The device on every copy of the batch: cells read by majority over
|
| 260 |
+
the r copies, the clauses applied on a shadow memory, every copy
|
| 261 |
+
written. Returns the halt flags, also by majority."""
|
| 262 |
+
torch = self.torch
|
| 263 |
+
B = v.shape[0]
|
| 264 |
+
bits = v[:, self.cell_idx] # (B, r, 48)
|
| 265 |
+
maj = (bits.sum(1) * 2 > self.r).long() # (B, 48)
|
| 266 |
+
vals = (maj.reshape(B, len(self.cells), 8) * self.pow2).sum(-1).cpu()
|
| 267 |
+
halts = (v[:, [c * self.n + 8 for c in range(self.r)]].sum(1) * 2 > self.r).cpu().tolist()
|
| 268 |
+
new = torch.empty(B, len(self.cells), dtype=torch.long)
|
| 269 |
+
for i in range(B):
|
| 270 |
+
for k, j in enumerate(self.cells):
|
| 271 |
+
shadow[i][j] = int(vals[i, k])
|
| 272 |
+
tapes[i].apply(shadow[i])
|
| 273 |
+
for k, j in enumerate(self.cells):
|
| 274 |
+
new[i, k] = shadow[i][j]
|
| 275 |
+
nb = ((new.unsqueeze(-1) >> self.shift) & 1).reshape(B, 1, -1).float().to(self.device)
|
| 276 |
+
v[:, self.cell_idx] = nb.expand(B, self.r, -1)
|
| 277 |
+
return halts
|
| 278 |
+
|
| 279 |
+
|
| 280 |
+
# ---------------------------------------------------------------------------
|
| 281 |
+
def build_amplified(r: int) -> Amplified:
|
| 282 |
+
return Amplified(read_host(), r)
|
| 283 |
+
|
| 284 |
+
|
| 285 |
+
def compile_c(work: str, cc: str = "gcc") -> str:
|
| 286 |
+
"""The evaluator in C, with the levels of a large netlist evaluated in
|
| 287 |
+
parallel; the threads spin between levels rather than sleep."""
|
| 288 |
+
exe = os.path.join(work, "netlist_eval")
|
| 289 |
+
subprocess.run([cc, "-O3", "-march=native", "-fopenmp", "-o", exe,
|
| 290 |
+
os.path.join(SRC, "netlist_eval.c")], check=True)
|
| 291 |
+
os.environ.setdefault("OMP_WAIT_POLICY", "ACTIVE")
|
| 292 |
+
os.environ.setdefault("OMP_PROC_BIND", "true")
|
| 293 |
+
os.environ.setdefault("OMP_NUM_THREADS", str(max(1, min(16, (os.cpu_count() or 2) - 4))))
|
| 294 |
+
return exe
|
| 295 |
+
|
| 296 |
+
|
| 297 |
+
def cmd_build(args) -> int:
|
| 298 |
+
t0 = time.perf_counter()
|
| 299 |
+
amp = build_amplified(args.r)
|
| 300 |
+
s = amp.sigma()
|
| 301 |
+
t_build = time.perf_counter() - t0
|
| 302 |
+
rec = {"r": args.r, "state_bits": amp.state_bits, "units": len(amp.units),
|
| 303 |
+
"edges": amp.edges, "depth": amp.depth, "lev_rows": amp.lev_rows,
|
| 304 |
+
"layer_widths": [args.r * L for L in amp.layers],
|
| 305 |
+
"sigma_bytes": len(s), "sigma_sha256": sha(s),
|
| 306 |
+
"bias_min": min(b for b, _ in amp.units), "bias_max": max(b for b, _ in amp.units),
|
| 307 |
+
"max_fanin": max(len(i) for _, i in amp.units), "build_seconds": t_build}
|
| 308 |
+
print(f"[build] N_{args.r}: {amp.state_bits:,} state bits, {len(amp.units):,} units, "
|
| 309 |
+
f"{amp.edges:,} edges, depth {amp.depth}; sigma {len(s):,} bytes, "
|
| 310 |
+
f"sha {sha(s)[:16]} ({t_build:.1f} s)", flush=True)
|
| 311 |
+
# the serialization denotes the netlist it was written from
|
| 312 |
+
n2, u2, x2 = parse_sigma(s)
|
| 313 |
+
rec["sigma_roundtrip"] = (n2 == amp.state_bits and u2 == amp.units and x2 == amp.nxt)
|
| 314 |
+
print(f" parses back to the same netlist: {rec['sigma_roundtrip']}")
|
| 315 |
+
# one step against SUBLEQ on the evaluator in C, every copy checked
|
| 316 |
+
work = tempfile.mkdtemp(prefix="redundant_")
|
| 317 |
+
exe = compile_c(work, args.cc)
|
| 318 |
+
flat = os.path.join(work, "net.bin")
|
| 319 |
+
amp.write_flat(flat)
|
| 320 |
+
p = subprocess.run([exe, "rand", flat, str(args.states), "1"], capture_output=True, text=True)
|
| 321 |
+
rec["c_random"] = p.stdout.strip()
|
| 322 |
+
rec["c_random_ok"] = p.returncode == 0 and " 0 disagree" in p.stdout
|
| 323 |
+
print(f" {p.stderr.strip()}")
|
| 324 |
+
print(f" {p.stdout.strip()}")
|
| 325 |
+
# the margins: every pre-activation on a replicated state is r z + (r-1)/2
|
| 326 |
+
import torch
|
| 327 |
+
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 328 |
+
E = Evaluator(amp, device=device, pad=True)
|
| 329 |
+
gen = torch.Generator().manual_seed(11)
|
| 330 |
+
worst = float("inf")
|
| 331 |
+
for _ in range(4):
|
| 332 |
+
base = (torch.rand(8, amp.n, generator=gen) < 0.5).float()
|
| 333 |
+
x = base.repeat(1, args.r).to(device)
|
| 334 |
+
for width, groups in E.plan:
|
| 335 |
+
y = torch.empty(x.shape[0], width, device=device)
|
| 336 |
+
for rows, idx, w, b in groups:
|
| 337 |
+
pre = (x[:, idx] * w).sum(-1) + b
|
| 338 |
+
worst = min(worst, float((pre + 0.5).abs().min()))
|
| 339 |
+
y[:, rows] = (pre >= 0).float()
|
| 340 |
+
x = y
|
| 341 |
+
rec["min_margin_random_states"] = worst
|
| 342 |
+
print(f" minimum distance of a pre-activation from -1/2 on 32 replicated random "
|
| 343 |
+
f"states: {worst}")
|
| 344 |
+
# the evaluator on the accelerator agrees with the evaluator in C on a prefix
|
| 345 |
+
tau = tau_star(read_host(), M_STAR)
|
| 346 |
+
v = E.vec(0, M_STAR)
|
| 347 |
+
tapes, shadow = [Tape(tau)], [[0] * 256]
|
| 348 |
+
for _ in range(300):
|
| 349 |
+
v = E.step(v)
|
| 350 |
+
E.device_step(v, tapes, shadow)
|
| 351 |
+
st = v[0].cpu().long().tolist()
|
| 352 |
+
open(os.path.join(work, "mstar"), "wb").write(bytes(M_STAR))
|
| 353 |
+
open(os.path.join(work, "tau"), "wb").write(tau)
|
| 354 |
+
p = subprocess.run([exe, "run", flat, os.path.join(work, "mstar"), os.path.join(work, "tau"),
|
| 355 |
+
os.path.join(work, "out"), "net", "300"], capture_output=True, text=True)
|
| 356 |
+
# replay the C state through the same 300 steps by the reference, then compare the
|
| 357 |
+
# emitted prefix and the memory read by majority
|
| 358 |
+
mem = list(M_STAR); pc = 0; dev = Tape(tau)
|
| 359 |
+
for _ in range(300):
|
| 360 |
+
a, b, c = mem[pc], mem[(pc + 1) & 255], mem[(pc + 2) & 255]
|
| 361 |
+
rr = (mem[b] - mem[a]) & 255
|
| 362 |
+
mem[b] = rr
|
| 363 |
+
pc = c if (rr == 0 or rr >= 128) else (pc + 3) & 255
|
| 364 |
+
dev.apply(mem)
|
| 365 |
+
got_mem = [sum(st[c * amp.n + 9 + 8 * j + t] << (7 - t) for t in range(8))
|
| 366 |
+
for j in range(256) for c in (0,)]
|
| 367 |
+
all_copies_equal = all(st[c * amp.n + i] == st[i] for c in range(args.r) for i in range(amp.n))
|
| 368 |
+
rec["accelerator_prefix_ok"] = (got_mem == mem and all_copies_equal
|
| 369 |
+
and tapes[0].out == dev.out
|
| 370 |
+
and open(os.path.join(work, "out"), "rb").read() == bytes(dev.out))
|
| 371 |
+
print(f" 300 steps of Omega* on the accelerator and in C agree with the reference, "
|
| 372 |
+
f"all copies equal: {rec['accelerator_prefix_ok']}")
|
| 373 |
+
rec["ok"] = bool(rec["sigma_roundtrip"] and rec["c_random_ok"]
|
| 374 |
+
and abs(worst - args.r / 2) < 1e-9 and rec["accelerator_prefix_ok"])
|
| 375 |
+
json.dump(rec, open(runs_path(f"paper_redundant_r{args.r}.json"), "w"), indent=1)
|
| 376 |
+
print("REDUNDANT HOST:", "PASS" if rec["ok"] else "FAIL")
|
| 377 |
+
return 0 if rec["ok"] else 1
|
| 378 |
+
|
| 379 |
+
|
| 380 |
+
def census(r: bytes) -> Dict[str, int]:
|
| 381 |
+
"""L, R, f_lit, f_rep of a recipe."""
|
| 382 |
+
L = R = fl = fr = 0
|
| 383 |
+
i = 0
|
| 384 |
+
while True:
|
| 385 |
+
t = r[i]
|
| 386 |
+
if t == 0:
|
| 387 |
+
break
|
| 388 |
+
if 1 <= t <= 127:
|
| 389 |
+
L += 1; fl += t; i += 1 + t
|
| 390 |
+
else:
|
| 391 |
+
R += 1; fr += 256 - t; i += 2
|
| 392 |
+
return {"L": L, "R": R, "f_lit": fl, "f_rep": fr}
|
| 393 |
+
|
| 394 |
+
|
| 395 |
+
def closed_form(c: Dict[str, int], tape_len: int) -> Dict[str, int]:
|
| 396 |
+
a = 5 * c["f_lit"] + 4 * c["f_rep"] + 7 * c["L"] + 9 * c["R"] + 7
|
| 397 |
+
return {"A": a, "R": 1, "B": 6 * tape_len + 2, "total": a + 1 + 6 * tape_len + 2}
|
| 398 |
+
|
| 399 |
+
|
| 400 |
+
def cmd_selfrep(args) -> int:
|
| 401 |
+
"""Omega*_r = (N_r, m*, tau*_r) on the evaluator in C, in lockstep with the
|
| 402 |
+
reference, to completion; the output is compared with ser(Omega*_r)."""
|
| 403 |
+
t0 = time.perf_counter()
|
| 404 |
+
amp = build_amplified(args.r)
|
| 405 |
+
s_r = amp.sigma()
|
| 406 |
+
tau = tau_star(s_r, M_STAR)
|
| 407 |
+
target = ser(s_r, bytes(M_STAR), tau)
|
| 408 |
+
cen = census(tau)
|
| 409 |
+
cf = closed_form(cen, len(tau))
|
| 410 |
+
print(f"[selfrep] N_{args.r}: sigma {len(s_r):,} bytes, tau*_r {len(tau):,} bytes, "
|
| 411 |
+
f"ser {len(target):,} bytes; closed form {cf['total']:,} steps", flush=True)
|
| 412 |
+
work = tempfile.mkdtemp(prefix="redundant_")
|
| 413 |
+
exe = compile_c(work, args.cc)
|
| 414 |
+
flat = os.path.join(work, "net.bin")
|
| 415 |
+
amp.write_flat(flat)
|
| 416 |
+
open(os.path.join(work, "mstar"), "wb").write(bytes(M_STAR))
|
| 417 |
+
open(os.path.join(work, "tau"), "wb").write(tau)
|
| 418 |
+
t1 = time.perf_counter()
|
| 419 |
+
p = subprocess.run([exe, "run", flat, os.path.join(work, "mstar"), os.path.join(work, "tau"),
|
| 420 |
+
os.path.join(work, "out"), args.cmode], capture_output=True, text=True)
|
| 421 |
+
dt = time.perf_counter() - t1
|
| 422 |
+
out = open(os.path.join(work, "out"), "rb").read()
|
| 423 |
+
exact = out == target
|
| 424 |
+
import re
|
| 425 |
+
m = re.search(r"after (\d+) steps", p.stdout)
|
| 426 |
+
steps = int(m.group(1)) if m else None
|
| 427 |
+
sg, mb, tb = inst(out) if exact else (None, None, None)
|
| 428 |
+
rec = {"r": args.r, "sigma_bytes": len(s_r), "sigma_sha256": sha(s_r),
|
| 429 |
+
"tau_bytes": len(tau), "ser_bytes": len(target), "ser_sha256": sha(target),
|
| 430 |
+
"census": cen, "closed_form": cf, "mode": args.cmode,
|
| 431 |
+
"c_result": p.stdout.strip(), "steps": steps, "seconds": dt,
|
| 432 |
+
"steps_per_second": steps / dt if steps and dt else None,
|
| 433 |
+
"out_bytes": len(out), "out_sha256": sha(out), "equals_ser": exact,
|
| 434 |
+
"closed_form_agrees": steps == cf["total"],
|
| 435 |
+
"inst_recovers_instance": bool(exact and sg == s_r and mb == bytes(M_STAR) and tb == tau),
|
| 436 |
+
"units": len(amp.units), "edges": amp.edges, "state_bits": amp.state_bits}
|
| 437 |
+
rec["ok"] = bool(exact and rec["closed_form_agrees"] and rec["inst_recovers_instance"]
|
| 438 |
+
and p.returncode == 0)
|
| 439 |
+
print(f" {p.stderr.strip()}")
|
| 440 |
+
print(f" {p.stdout.strip()} ({dt / 60:.1f} min, {rec['steps_per_second'] or 0:,.0f} steps/s)")
|
| 441 |
+
print(f" Out = ser(Omega*_r): {exact}; closed form agrees: {rec['closed_form_agrees']}; "
|
| 442 |
+
f"inst recovers the instance: {rec['inst_recovers_instance']}; sha {sha(out)[:16]}")
|
| 443 |
+
rec["total_seconds"] = time.perf_counter() - t0
|
| 444 |
+
json.dump(rec, open(runs_path(f"paper_redundant_selfrep_r{args.r}.json"), "w"), indent=1)
|
| 445 |
+
print("REDUNDANT SELF-REPRODUCTION:", "PASS" if rec["ok"] else "FAIL")
|
| 446 |
+
return 0 if rec["ok"] else 1
|
| 447 |
+
|
| 448 |
+
|
| 449 |
+
def tail_bound(s: float, r: int, M: int, T: int) -> float:
|
| 450 |
+
"""T M erfc(r / (2 sqrt 2 s)): the bound of the fault-tolerance theorem."""
|
| 451 |
+
return T * M * math.erfc(r / (2.0 * math.sqrt(2.0) * s))
|
| 452 |
+
|
| 453 |
+
|
| 454 |
+
def cmd_omega(args) -> int:
|
| 455 |
+
"""The instance Omega* of the host, run on N_r under read noise on every
|
| 456 |
+
pre-activation, to completion: the same tape and the same output bytes as
|
| 457 |
+
the run of Table 5 on Lev(N_host)."""
|
| 458 |
+
import torch
|
| 459 |
+
amp = build_amplified(args.r)
|
| 460 |
+
sigma = read_host()
|
| 461 |
+
tau = tau_star(sigma, M_STAR)
|
| 462 |
+
target = ser(sigma, bytes(M_STAR), tau)
|
| 463 |
+
E = Evaluator(amp, device=args.device, pad=True)
|
| 464 |
+
M = E.M
|
| 465 |
+
print(f"[omega] N_{args.r}: {amp.depth} layers, M = {M:,}, target {len(target):,} bytes",
|
| 466 |
+
flush=True)
|
| 467 |
+
grid = [float(x) for x in args.grid.split(",")]
|
| 468 |
+
rows = []
|
| 469 |
+
for s in grid:
|
| 470 |
+
seed = 20260929 + int(1000 * s)
|
| 471 |
+
try:
|
| 472 |
+
E.capture(s, seed)
|
| 473 |
+
gen = E.gen
|
| 474 |
+
except Exception as e: # noqa: BLE001
|
| 475 |
+
print(f" (graph capture unavailable: {e}; running eagerly)", flush=True)
|
| 476 |
+
E.graph = None
|
| 477 |
+
gen = torch.Generator(device=args.device).manual_seed(seed)
|
| 478 |
+
v = E.vec(0, M_STAR)
|
| 479 |
+
tapes, shadow = [Tape(tau)], [[0] * 256]
|
| 480 |
+
steps, wrong, halted = 0, None, False
|
| 481 |
+
budget = args.budget
|
| 482 |
+
t0 = time.perf_counter()
|
| 483 |
+
while steps < budget:
|
| 484 |
+
v = E.step_noisy(v, s, gen)
|
| 485 |
+
steps += 1
|
| 486 |
+
before = len(tapes[0].out)
|
| 487 |
+
halted = E.device_step(v, tapes, shadow)[0]
|
| 488 |
+
out = tapes[0].out
|
| 489 |
+
if len(out) > before:
|
| 490 |
+
k = len(out) - 1
|
| 491 |
+
if k >= len(target) or out[k] != target[k]:
|
| 492 |
+
wrong = k
|
| 493 |
+
break
|
| 494 |
+
if halted:
|
| 495 |
+
break
|
| 496 |
+
if steps % 200000 == 0:
|
| 497 |
+
print(f" s={s:.2f}: {steps:,} steps, {len(out):,} bytes "
|
| 498 |
+
f"({steps / (time.perf_counter() - t0):.0f}/s)", flush=True)
|
| 499 |
+
dt = time.perf_counter() - t0
|
| 500 |
+
emitted = len(tapes[0].out)
|
| 501 |
+
complete = emitted == len(target) and wrong is None and halted
|
| 502 |
+
outcome = ("emitted the whole instance" if complete else
|
| 503 |
+
f"a wrong byte after {wrong} correct" if wrong is not None
|
| 504 |
+
else "the halt bit was set" if halted else "the budget was exhausted")
|
| 505 |
+
rows.append({"sigma": s, "steps": steps, "bytes": emitted, "complete": complete,
|
| 506 |
+
"first_wrong_byte": wrong, "halted": halted, "seconds": dt,
|
| 507 |
+
"bound": tail_bound(s, args.r, M, max(steps, 1))})
|
| 508 |
+
print(f" s={s:.2f}: {steps:,} steps, {emitted:,} bytes, {outcome} "
|
| 509 |
+
f"({dt / 60:.1f} min); bound {rows[-1]['bound']:.3e}", flush=True)
|
| 510 |
+
json.dump({"r": args.r, "M": M, "target_bytes": len(target), "rows": rows},
|
| 511 |
+
open(runs_path(f"paper_redundant_omega_r{args.r}.json"), "w"), indent=1)
|
| 512 |
+
return 0
|
| 513 |
+
|
| 514 |
+
|
| 515 |
+
def upper_tail(x: float) -> float:
|
| 516 |
+
return 0.5 * math.erfc(x / math.sqrt(2.0))
|
| 517 |
+
|
| 518 |
+
|
| 519 |
+
def cmd_curve(args) -> int:
|
| 520 |
+
"""One noise-free and B noisy copies of N_r stepped together from the initial
|
| 521 |
+
state of the self-describing instance; the step at which each noisy copy
|
| 522 |
+
first differs from the exact one is recorded, and the rate is compared with
|
| 523 |
+
the profile bound scaled by r and with M_r erfc(r / (2 sqrt2 s))."""
|
| 524 |
+
import torch
|
| 525 |
+
amp = build_amplified(args.r)
|
| 526 |
+
sigma = read_host()
|
| 527 |
+
r_H = describe(sigma)
|
| 528 |
+
E = Evaluator(amp, device=args.device, pad=False)
|
| 529 |
+
M = E.M
|
| 530 |
+
B = args.batch
|
| 531 |
+
print(f"[curve] N_{args.r}: M = {M:,}; {B} noisy copies per level, {args.steps:,} steps each",
|
| 532 |
+
flush=True)
|
| 533 |
+
prof = None
|
| 534 |
+
pp = runs_path("paper_noise_profile.json")
|
| 535 |
+
if os.path.exists(pp):
|
| 536 |
+
prof = json.load(open(pp))["histogram_per_step"]
|
| 537 |
+
grid = [float(x) for x in args.grid.split(",")]
|
| 538 |
+
rows = []
|
| 539 |
+
for s in grid:
|
| 540 |
+
cap = args.steps if s >= 0.24 else min(args.steps, 3000)
|
| 541 |
+
gen = torch.Generator(device=args.device).manual_seed(7 + int(1000 * s))
|
| 542 |
+
v = E.vec(0, M_P, copies=B + 1)
|
| 543 |
+
tapes = [Tape(r_H) for _ in range(B + 1)]
|
| 544 |
+
shadow = [[0] * 256 for _ in range(B + 1)]
|
| 545 |
+
first = [None] * B
|
| 546 |
+
live = cap
|
| 547 |
+
t0 = time.perf_counter()
|
| 548 |
+
for n in range(cap):
|
| 549 |
+
x = v
|
| 550 |
+
for width, groups in E.plan:
|
| 551 |
+
y = torch.empty(x.shape[0], width, device=x.device)
|
| 552 |
+
for rws, idx, w, b in groups:
|
| 553 |
+
pre = (x[:, idx] * w).sum(-1) + b
|
| 554 |
+
noise = torch.randn(pre.shape, generator=gen, device=pre.device) * s
|
| 555 |
+
noise[0] = 0.0
|
| 556 |
+
y[:, rws] = ((pre + noise) >= -0.5).float()
|
| 557 |
+
x = y
|
| 558 |
+
v = x[:, E.perm]
|
| 559 |
+
diff = (v[1:] != v[0]).any(dim=1).cpu().tolist()
|
| 560 |
+
for i, d in enumerate(diff):
|
| 561 |
+
if d and first[i] is None:
|
| 562 |
+
first[i] = n + 1
|
| 563 |
+
if all(f is not None for f in first):
|
| 564 |
+
live = n + 1
|
| 565 |
+
break
|
| 566 |
+
E.device_step(v, tapes, shadow)
|
| 567 |
+
dt = time.perf_counter() - t0
|
| 568 |
+
deviated = [f for f in first if f is not None]
|
| 569 |
+
exposure = sum(f if f is not None else live for f in first)
|
| 570 |
+
rate = len(deviated) / exposure if exposure else 0.0
|
| 571 |
+
bound_tail = M * math.erfc(args.r / (2.0 * math.sqrt(2.0) * s))
|
| 572 |
+
bound_profile = None
|
| 573 |
+
if prof is not None:
|
| 574 |
+
bound_profile = args.r * sum(c * upper_tail(args.r * abs(int(z) + 0.5) / s)
|
| 575 |
+
for z, c in prof.items())
|
| 576 |
+
rows.append({"sigma": s, "copies": B, "steps": live, "deviated": len(deviated),
|
| 577 |
+
"median_first_deviation":
|
| 578 |
+
sorted(deviated)[len(deviated) // 2] if deviated else None,
|
| 579 |
+
"step_exposure": exposure, "empirical_rate_per_step": rate,
|
| 580 |
+
"bound_tail_per_step": bound_tail,
|
| 581 |
+
"bound_profile_per_step": bound_profile,
|
| 582 |
+
"first_deviation": first, "seconds": dt})
|
| 583 |
+
print(f" s={s:.2f}: {len(deviated)}/{B} deviated within {live:,} steps; "
|
| 584 |
+
f"empirical {rate:.3e} per step, profile bound "
|
| 585 |
+
f"{bound_profile if bound_profile is None else format(bound_profile, '.3e')}, "
|
| 586 |
+
f"M erfc {bound_tail:.3e} ({dt / 60:.1f} min)", flush=True)
|
| 587 |
+
json.dump({"r": args.r, "M": M, "grid": grid, "rows": rows},
|
| 588 |
+
open(runs_path(f"paper_redundant_curve_r{args.r}.json"), "w"), indent=1)
|
| 589 |
+
return 0
|
| 590 |
+
|
| 591 |
+
|
| 592 |
+
def cmd_restore(args) -> int:
|
| 593 |
+
"""Restoration along the orbit: one exact and one noisy copy of N_r from the
|
| 594 |
+
initial state of the self-describing instance. After every step the copies
|
| 595 |
+
of every state bit of the noisy run are compared with the exact run: a
|
| 596 |
+
wrong copy is counted, and the state read by majority over the r copies is
|
| 597 |
+
compared with the exact state. The run stops at the first step whose
|
| 598 |
+
majority-read state is wrong, or after the given number of steps."""
|
| 599 |
+
import torch
|
| 600 |
+
amp = build_amplified(args.r)
|
| 601 |
+
sigma = read_host()
|
| 602 |
+
r_H = describe(sigma)
|
| 603 |
+
E = Evaluator(amp, device=args.device, pad=False)
|
| 604 |
+
n, r = amp.n, args.r
|
| 605 |
+
grid = [float(x) for x in args.grid.split(",")]
|
| 606 |
+
rows = []
|
| 607 |
+
print(f"[restore] N_{r}: {args.steps:,} steps per level", flush=True)
|
| 608 |
+
for s in grid:
|
| 609 |
+
gen = torch.Generator(device=args.device).manual_seed(31 + int(1000 * s))
|
| 610 |
+
v = E.vec(0, M_P, copies=2)
|
| 611 |
+
tapes = [Tape(r_H) for _ in range(2)]
|
| 612 |
+
shadow = [[0] * 256 for _ in range(2)]
|
| 613 |
+
copy_errors = steps_with = worst = 0
|
| 614 |
+
carried = 0
|
| 615 |
+
prev = None
|
| 616 |
+
decoded_first = None
|
| 617 |
+
t0 = time.perf_counter()
|
| 618 |
+
for t in range(args.steps):
|
| 619 |
+
x = v
|
| 620 |
+
for width, groups in E.plan:
|
| 621 |
+
y = torch.empty(x.shape[0], width, device=x.device)
|
| 622 |
+
for rws, idx, w, b in groups:
|
| 623 |
+
pre = (x[:, idx] * w).sum(-1) + b
|
| 624 |
+
noise = torch.randn(pre.shape, generator=gen, device=pre.device) * s
|
| 625 |
+
noise[0] = 0.0
|
| 626 |
+
y[:, rws] = ((pre + noise) >= -0.5).float()
|
| 627 |
+
x = y
|
| 628 |
+
v = x[:, E.perm]
|
| 629 |
+
wrong = (v[1] != v[0]).reshape(r, n)
|
| 630 |
+
k = int(wrong.sum())
|
| 631 |
+
if k:
|
| 632 |
+
copy_errors += k
|
| 633 |
+
steps_with += 1
|
| 634 |
+
worst = max(worst, k)
|
| 635 |
+
if prev is not None:
|
| 636 |
+
carried += int((wrong & prev).sum())
|
| 637 |
+
prev = wrong
|
| 638 |
+
maj = (v[1].reshape(r, n).sum(0) * 2 > r)
|
| 639 |
+
if bool((maj != (v[0, :n] > 0.5)).any()):
|
| 640 |
+
decoded_first = t + 1
|
| 641 |
+
break
|
| 642 |
+
E.device_step(v, tapes, shadow)
|
| 643 |
+
dt = time.perf_counter() - t0
|
| 644 |
+
ran = decoded_first or args.steps
|
| 645 |
+
rows.append({"sigma": s, "steps": ran, "copy_errors": copy_errors,
|
| 646 |
+
"steps_with_copy_errors": steps_with, "max_copy_errors_in_a_step": worst,
|
| 647 |
+
"copy_errors_carried_to_next_step": carried,
|
| 648 |
+
"decoded_first_deviation": decoded_first,
|
| 649 |
+
"bytes": len(tapes[1].out), "bytes_equal": tapes[1].out == tapes[0].out,
|
| 650 |
+
"seconds": dt})
|
| 651 |
+
print(f" s={s:.2f}: {ran:,} steps; {steps_with:,} steps with a wrong copy, "
|
| 652 |
+
f"{copy_errors:,} wrong copies in all, at most {worst} in one step, {carried} still "
|
| 653 |
+
f"wrong a step later; majority-read state "
|
| 654 |
+
f"{'exact throughout' if decoded_first is None else f'wrong at step {decoded_first:,}'} "
|
| 655 |
+
f"({dt / 60:.1f} min)", flush=True)
|
| 656 |
+
json.dump({"r": r, "steps": args.steps, "rows": rows},
|
| 657 |
+
open(runs_path(f"paper_redundant_restore_r{r}.json"), "w"), indent=1)
|
| 658 |
+
return 0
|
| 659 |
+
|
| 660 |
+
|
| 661 |
+
def cmd_layers(args) -> int:
|
| 662 |
+
"""The profile bound of N_r split by layer.
|
| 663 |
+
|
| 664 |
+
Along the first 4000 steps of the orbit of the self-describing instance on
|
| 665 |
+
Lev(N_host), the pre-activations of every layer are recorded; by
|
| 666 |
+
Proposition 6.8(ii) the rows of N_r at a layer are those of Lev(N_host) with
|
| 667 |
+
every distance multiplied by r, so the bound of Theorem 6.9(ii) restricted to
|
| 668 |
+
a layer is r * sum_i Q(r d_i / s) over its rows. The term of the last layer,
|
| 669 |
+
whose rows are the state, is compared with the measured rate of the curve
|
| 670 |
+
experiment where that record exists."""
|
| 671 |
+
import torch
|
| 672 |
+
from selfrep import M_P, LevEvaluator
|
| 673 |
+
from noise import Devices
|
| 674 |
+
r = args.r
|
| 675 |
+
sigma = read_host()
|
| 676 |
+
L = LevEvaluator(sigma, device=args.device, dense=False)
|
| 677 |
+
v = L._vec(0, M_P).unsqueeze(0).to(args.device)
|
| 678 |
+
D = Devices(L, [describe(sigma)], args.device)
|
| 679 |
+
lo, hi = -300, 300
|
| 680 |
+
nl = len(L.plan)
|
| 681 |
+
H = torch.zeros(nl, hi - lo + 1, dtype=torch.float64, device=args.device)
|
| 682 |
+
T = args.steps
|
| 683 |
+
for n in range(args.steps):
|
| 684 |
+
x = v
|
| 685 |
+
for li, (groups, width) in enumerate(zip(L.plan, L.widths)):
|
| 686 |
+
y = torch.empty(1, width, device=args.device)
|
| 687 |
+
for rows, idx, w, b in groups:
|
| 688 |
+
pre = (x[:, idx] * w).sum(-1) + b
|
| 689 |
+
H[li] += torch.bincount(pre.round().long().flatten() - lo,
|
| 690 |
+
minlength=hi - lo + 1).double()
|
| 691 |
+
y[:, rows] = (pre >= 0).float()
|
| 692 |
+
x = y
|
| 693 |
+
v = x
|
| 694 |
+
if D.step(v)[0]:
|
| 695 |
+
T = n + 1
|
| 696 |
+
break
|
| 697 |
+
H = (H / T).cpu()
|
| 698 |
+
zs = list(range(lo, hi + 1))
|
| 699 |
+
measured = {}
|
| 700 |
+
cp = runs_path(f"paper_redundant_curve_r{r}.json")
|
| 701 |
+
if os.path.exists(cp):
|
| 702 |
+
for row in json.load(open(cp))["rows"]:
|
| 703 |
+
measured[round(row["sigma"], 3)] = (row["empirical_rate_per_step"], row["deviated"])
|
| 704 |
+
out = {"r": r, "steps": T,
|
| 705 |
+
"per_layer_rows_at_half": [float(H[l][-1 - lo] + H[l][-lo]) for l in range(nl)],
|
| 706 |
+
"last_layer_hist": {z: float(H[nl - 1][z - lo]) for z in zs if H[nl - 1][z - lo] > 0},
|
| 707 |
+
"rows": []}
|
| 708 |
+
for s in [float(x) for x in args.grid.split(",")]:
|
| 709 |
+
q = torch.tensor([upper_tail(r * abs(z + 0.5) / s) for z in zs], dtype=torch.float64)
|
| 710 |
+
per_layer = [r * float(H[l] @ q) for l in range(nl)]
|
| 711 |
+
m = measured.get(round(s, 3))
|
| 712 |
+
out["rows"].append({"sigma": s, "measured": m[0] if m else None,
|
| 713 |
+
"deviated": m[1] if m else None, "full": sum(per_layer),
|
| 714 |
+
"last_layer": per_layer[-1], "per_layer": per_layer})
|
| 715 |
+
print(f" s={s:.2f}: last layer {per_layer[-1]:.3e}, all layers {sum(per_layer):.3e}"
|
| 716 |
+
+ (f", measured {m[0]:.3e} ({m[1]} deviations)" if m else ""), flush=True)
|
| 717 |
+
json.dump(out, open(runs_path(f"paper_redundant_layers_r{r}.json"), "w"), indent=1)
|
| 718 |
+
return 0
|
| 719 |
+
|
| 720 |
+
|
| 721 |
+
def main() -> int:
|
| 722 |
+
ap = argparse.ArgumentParser()
|
| 723 |
+
ap.add_argument("mode", choices=["build", "selfrep", "omega", "curve", "restore", "layers"])
|
| 724 |
+
ap.add_argument("--r", type=int, default=3)
|
| 725 |
+
ap.add_argument("--cc", default="gcc")
|
| 726 |
+
ap.add_argument("--device", default="cuda")
|
| 727 |
+
ap.add_argument("--states", type=int, default=1 << 16)
|
| 728 |
+
ap.add_argument("--batch", type=int, default=256)
|
| 729 |
+
ap.add_argument("--steps", type=int, default=4000)
|
| 730 |
+
ap.add_argument("--budget", type=int, default=1 << 21)
|
| 731 |
+
ap.add_argument("--cmode", default="lock",
|
| 732 |
+
help="for selfrep: lock (compared with the reference every step) or net")
|
| 733 |
+
ap.add_argument("--grid", default=None)
|
| 734 |
+
args = ap.parse_args()
|
| 735 |
+
if args.grid is None:
|
| 736 |
+
args.grid = {"omega": "0.10,0.15,0.20,0.25",
|
| 737 |
+
"curve": "0.06,0.12,0.18,0.24,0.27,0.30,0.33,0.36,0.45,0.60",
|
| 738 |
+
"restore": "0.24,0.27,0.30,0.33,0.36",
|
| 739 |
+
"layers": "0.06,0.12,0.18,0.24,0.27,0.30,0.33,0.36,0.45,0.60"}.get(args.mode, "")
|
| 740 |
+
return {"build": cmd_build, "selfrep": cmd_selfrep, "omega": cmd_omega,
|
| 741 |
+
"curve": cmd_curve, "restore": cmd_restore, "layers": cmd_layers}[args.mode](args)
|
| 742 |
+
|
| 743 |
+
|
| 744 |
+
if __name__ == "__main__":
|
| 745 |
+
sys.exit(main())
|
src/selfrep.py
CHANGED
|
@@ -551,7 +551,7 @@ class NetEvaluator(_Transducer):
|
|
| 551 |
The units are grouped by depth and each reads its predecessors out of one
|
| 552 |
signal vector, so no unit is evaluated before its predecessors and none is
|
| 553 |
padded to a common width: the evaluation carries the netlist's own
|
| 554 |
-
|
| 555 |
"""
|
| 556 |
|
| 557 |
tag = "net"
|
|
|
|
| 551 |
The units are grouped by depth and each reads its predecessors out of one
|
| 552 |
signal vector, so no unit is evaluated before its predecessors and none is
|
| 553 |
padded to a common width: the evaluation carries the netlist's own
|
| 554 |
+
51,132 predecessor entries and nothing else.
|
| 555 |
"""
|
| 556 |
|
| 557 |
tag = "net"
|
src/throughput.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
"""Throughput of the
|
| 2 |
|
| 3 |
Each evaluator runs the same prefix of the self-describing instance and is
|
| 4 |
timed after a warm-up, so the rates reported in the paper are not those of runs
|
|
@@ -24,6 +24,7 @@ def main() -> int:
|
|
| 24 |
import torch
|
| 25 |
from selfrep import (M_P, LevEvaluator, NetEvaluator, describe, read_host,
|
| 26 |
run_reference)
|
|
|
|
| 27 |
sigma = read_host()
|
| 28 |
r_H = describe(sigma)
|
| 29 |
out = {}
|
|
@@ -87,6 +88,29 @@ def main() -> int:
|
|
| 87 |
print(f" the same map from its nonzero entries on one core: {N:,} steps in "
|
| 88 |
f"{dt:.1f} s ({N / dt:,.0f} steps/s)", flush=True)
|
| 89 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 90 |
json.dump(out, open(runs_path("paper_throughput.json"), "w"), indent=1)
|
| 91 |
return 0
|
| 92 |
|
|
|
|
| 1 |
+
"""Throughput of the four evaluators, measured on one idle machine.
|
| 2 |
|
| 3 |
Each evaluator runs the same prefix of the self-describing instance and is
|
| 4 |
timed after a warm-up, so the rates reported in the paper are not those of runs
|
|
|
|
| 24 |
import torch
|
| 25 |
from selfrep import (M_P, LevEvaluator, NetEvaluator, describe, read_host,
|
| 26 |
run_reference)
|
| 27 |
+
torch.set_num_threads(1) # the processor rates are for one core
|
| 28 |
sigma = read_host()
|
| 29 |
r_H = describe(sigma)
|
| 30 |
out = {}
|
|
|
|
| 88 |
print(f" the same map from its nonzero entries on one core: {N:,} steps in "
|
| 89 |
f"{dt:.1f} s ({N / dt:,.0f} steps/s)", flush=True)
|
| 90 |
|
| 91 |
+
# evaluator (d): the netlist in C, one core, on the self-describing instance
|
| 92 |
+
import subprocess
|
| 93 |
+
import tempfile
|
| 94 |
+
from check_c import parse_sigma, write_flat
|
| 95 |
+
work = tempfile.mkdtemp(prefix="throughput_")
|
| 96 |
+
exe = os.path.join(work, "netlist_eval")
|
| 97 |
+
subprocess.run(["gcc", "-O3", "-march=native", "-fopenmp", "-o", exe,
|
| 98 |
+
os.path.join(REPO, "src", "netlist_eval.c")], check=True)
|
| 99 |
+
nb, units, nxt = parse_sigma(sigma)
|
| 100 |
+
write_flat(os.path.join(work, "host.bin"), nb, units, nxt)
|
| 101 |
+
open(os.path.join(work, "mP"), "wb").write(bytes(M_P))
|
| 102 |
+
open(os.path.join(work, "rH"), "wb").write(r_H)
|
| 103 |
+
env = dict(os.environ, OMP_NUM_THREADS="1")
|
| 104 |
+
t0 = time.perf_counter()
|
| 105 |
+
subprocess.run([exe, "run", os.path.join(work, "host.bin"), os.path.join(work, "mP"),
|
| 106 |
+
os.path.join(work, "rH"), os.path.join(work, "out"), "net"],
|
| 107 |
+
check=True, capture_output=True, env=env)
|
| 108 |
+
dt = time.perf_counter() - t0
|
| 109 |
+
assert open(os.path.join(work, "out"), "rb").read() == sigma
|
| 110 |
+
out["c_evaluator"] = {"steps": n, "seconds": dt, "steps_per_second": n / dt}
|
| 111 |
+
print(f" the netlist of sigma in C, one core: {n:,} steps in {dt:.1f} s "
|
| 112 |
+
f"({n / dt:,.0f} steps/s)", flush=True)
|
| 113 |
+
|
| 114 |
json.dump(out, open(runs_path("paper_throughput.json"), "w"), indent=1)
|
| 115 |
return 0
|
| 116 |
|
src/verify.py
CHANGED
|
@@ -3,15 +3,21 @@
|
|
| 3 |
The checks are in three tiers, and the checks of a tier run concurrently. The
|
| 4 |
first establishes the statements: each one is an exhaustive or near-exhaustive
|
| 5 |
audit of a definition, a lemma or a proposition, and none of them runs the full
|
| 6 |
-
instance
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
The rate of each evaluator is in paper/runs/paper_throughput.json, so the cost
|
| 16 |
of any one line below is a multiplication.
|
| 17 |
|
|
@@ -34,21 +40,23 @@ SRC = os.path.join(REPO, "src")
|
|
| 34 |
PY = sys.executable
|
| 35 |
|
| 36 |
TIER1 = [
|
| 37 |
-
("check_sigma.py", [], "the canonical serialization, Definition 2.
|
| 38 |
("check_device.py", [], "the device, Definition 2.8"),
|
| 39 |
-
("check_framing.py", [], "the framing, Definition 2.
|
| 40 |
("check_host.py", [], "the machine, Definition 3.1"),
|
| 41 |
("check_lev.py", [], "the levelization, Lemma 2.6"),
|
| 42 |
("check_ternarity.py", [], "ternary depth, Proposition 3.5"),
|
| 43 |
-
("check_codec.py", [], "the recipe codec, Lemma 4.
|
| 44 |
-
("check_optimal.py", [], "optimality of the bound, Proposition 4.
|
| 45 |
-
("check_steps.py", [], "the step counts, Theorem 4.
|
| 46 |
-
("check_total.py", [], "arbitrary tapes, Propositions 4.
|
| 47 |
-
("check_environment.py", [], "the environment, Proposition 2.
|
| 48 |
("check_settle.py", [], "order-independent settling, all 9! orders"),
|
| 49 |
("check_dependence.py", [], "the size hypothesis"),
|
| 50 |
("check_interp.py", [], "the one-record semantics of the interpreter"),
|
| 51 |
("check_host_family.py", [], "the host family H_A against SUBLEQ_A, A = 3 to 12"),
|
|
|
|
|
|
|
| 52 |
]
|
| 53 |
|
| 54 |
TIER2 = [
|
|
@@ -79,6 +87,12 @@ TIER3 = [
|
|
| 79 |
("noise.py", ["profile"], "the pre-activation profile and its bound"),
|
| 80 |
("organism.py", ["--generations", "8", "--net-generations", "2"],
|
| 81 |
"the organism over eight generations, two on the netlist"),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 82 |
]
|
| 83 |
|
| 84 |
|
|
|
|
| 3 |
The checks are in three tiers, and the checks of a tier run concurrently. The
|
| 4 |
first establishes the statements: each one is an exhaustive or near-exhaustive
|
| 5 |
audit of a definition, a lemma or a proposition, and none of them runs the full
|
| 6 |
+
instance; it covers the host family H_A for every word width from 3 to 12, the
|
| 7 |
+
fan-in-two rewriting, and the amplified host N_3 of Section 6.3. The second
|
| 8 |
+
executes every construction end to end: the instances on the integer reference,
|
| 9 |
+
four machines on the netlist that sigma denotes, the organism on the
|
| 10 |
+
interpreter, the hierarchy, the constructor inside the interpreter, and the
|
| 11 |
+
host and the organism on the evaluator in C, which runs three generations of
|
| 12 |
+
the self-reproducing instance.
|
| 13 |
+
|
| 14 |
+
The third runs the complete instance on the threshold evaluators, the
|
| 15 |
+
perturbation experiments, the orbit certificate, and the amplified host: its
|
| 16 |
+
exact self-reproduction on the evaluator in C, the self-reproducing instance of
|
| 17 |
+
the host on it under read noise, its deviation curve split by layer, and the
|
| 18 |
+
correction of single wrong copies along a noisy run. Its cost belongs to
|
| 19 |
+
the object: one generation is 1,664,939 steps of a map of 41,967 units, and
|
| 20 |
+
the amplified host reproduces itself in 33,796,449 steps of 125,901 units.
|
| 21 |
The rate of each evaluator is in paper/runs/paper_throughput.json, so the cost
|
| 22 |
of any one line below is a multiplication.
|
| 23 |
|
|
|
|
| 40 |
PY = sys.executable
|
| 41 |
|
| 42 |
TIER1 = [
|
| 43 |
+
("check_sigma.py", [], "the canonical serialization, Definition 2.10"),
|
| 44 |
("check_device.py", [], "the device, Definition 2.8"),
|
| 45 |
+
("check_framing.py", [], "the framing, Definition 2.12"),
|
| 46 |
("check_host.py", [], "the machine, Definition 3.1"),
|
| 47 |
("check_lev.py", [], "the levelization, Lemma 2.6"),
|
| 48 |
("check_ternarity.py", [], "ternary depth, Proposition 3.5"),
|
| 49 |
+
("check_codec.py", [], "the recipe codec, Lemma 4.5"),
|
| 50 |
+
("check_optimal.py", [], "optimality of the bound, Proposition 4.3"),
|
| 51 |
+
("check_steps.py", [], "the step counts, Theorem 4.7 and Proposition 5.4"),
|
| 52 |
+
("check_total.py", [], "arbitrary tapes, Propositions 4.10 and 4.12"),
|
| 53 |
+
("check_environment.py", [], "the environment, Proposition 2.15"),
|
| 54 |
("check_settle.py", [], "order-independent settling, all 9! orders"),
|
| 55 |
("check_dependence.py", [], "the size hypothesis"),
|
| 56 |
("check_interp.py", [], "the one-record semantics of the interpreter"),
|
| 57 |
("check_host_family.py", [], "the host family H_A against SUBLEQ_A, A = 3 to 12"),
|
| 58 |
+
("fanin2.py", [], "the fan-in-two rewriting, Corollary 7.7"),
|
| 59 |
+
("redundant.py", ["build"], "the amplified host N_3, Proposition 6.8"),
|
| 60 |
]
|
| 61 |
|
| 62 |
TIER2 = [
|
|
|
|
| 87 |
("noise.py", ["profile"], "the pre-activation profile and its bound"),
|
| 88 |
("organism.py", ["--generations", "8", "--net-generations", "2"],
|
| 89 |
"the organism over eight generations, two on the netlist"),
|
| 90 |
+
("noise.py", ["certify"], "the active-input counts along the orbits, Proposition 6.4"),
|
| 91 |
+
("redundant.py", ["selfrep"], "exact self-reproduction of N_3 on the evaluator in C"),
|
| 92 |
+
("redundant.py", ["omega"], "Omega* on N_3 under read noise, to completion"),
|
| 93 |
+
("redundant.py", ["curve"], "the deviation rate of N_3 against the bounds"),
|
| 94 |
+
("redundant.py", ["restore"], "wrong copies of N_3 under noise, and the state read by majority"),
|
| 95 |
+
("redundant.py", ["layers"], "the profile bound of N_3 split by layer"),
|
| 96 |
]
|
| 97 |
|
| 98 |
|