Time bar (total: 2.7s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 6 |
| 12.5% | 12.5% | 87.4% | 0.1% | 0% | 0% | 0% | 7 |
| 18.8% | 18.7% | 81.1% | 0.1% | 0% | 0% | 0% | 8 |
| 28.1% | 28.1% | 71.8% | 0.1% | 0% | 0% | 0% | 9 |
| 42.2% | 42.1% | 57.7% | 0.1% | 0% | 0% | 0% | 10 |
| 49.2% | 49.1% | 50.7% | 0.1% | 0% | 0% | 0% | 11 |
| 57.4% | 57.3% | 42.5% | 0.1% | 0% | 0% | 0% | 12 |
Compiled 9 to 6 computations (33.3% saved)
| 1.2s | 8253× | body | 256 | valid |
| 0.0ms | 2× | body | 2048 | valid |
| 0.0ms | 1× | body | 1024 | valid |
| 2× | egg-herbie |
| 12× | rational.json-simplify-1 |
| 4× | rational.json-simplify-41 |
| 2× | swap-x-y |
| 2× | swap-x-z |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 52 |
| 1 | 18 | 52 |
| 2 | 18 | 52 |
| 0 | 3 | 3 |
| 1 | 3 | 3 |
| 1× | unsound |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
0 |
2 |
0 |
| Inputs |
|---|
(+.f64 (+.f64 x y) z) |
(+.f64 (+.f64 y x) z) |
(+.f64 (+.f64 z y) x) |
(+.f64 (+.f64 x z) y) |
| Outputs |
|---|
(+.f64 (+.f64 x y) z) |
(+.f64 z (+.f64 x y)) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 y x) z) |
(+.f64 z (+.f64 x y)) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 z y) x) |
(+.f64 z (+.f64 x y)) |
(+.f64 x (+.f64 y z)) |
(+.f64 (+.f64 x z) y) |
(+.f64 z (+.f64 x y)) |
(+.f64 x (+.f64 y z)) |
(sort x y z)
Compiled 11 to 8 computations (27.3% saved)
| 1× | egg-herbie |
| 12× | rational.json-simplify-1 |
| 4× | rational.json-simplify-41 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 9 | 13 |
| 2 | 13 | 13 |
| 3 | 17 | 13 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 x y) z) |
| Outputs |
|---|
(+.f64 (+.f64 x y) z) |
(+.f64 x (+.f64 y z)) |
Compiled 13 to 7 computations (46.2% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 1 | 2 | 3 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (+.f64 (+.f64 x y) z) |
Compiled 8 to 5 computations (37.5% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x y) z) |
Compiled 14 to 5 computations (64.3% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | inf | (+.f64 (+.f64 x y) z) |
| 0.0ms | z | @ | inf | (+.f64 (+.f64 x y) z) |
| 0.0ms | y | @ | inf | (+.f64 (+.f64 x y) z) |
| 0.0ms | x | @ | 0 | (+.f64 (+.f64 x y) z) |
| 0.0ms | y | @ | 0 | (+.f64 (+.f64 x y) z) |
| 1× | batch-egg-rewrite |
| 1630× | bool.json-1 |
| 1630× | bool.json-2 |
| 1598× | rational.json-1 |
| 1598× | rational.json-2 |
| 1598× | rational.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 70 | 13 |
| 2 | 200 | 13 |
| 3 | 449 | 13 |
| 4 | 998 | 13 |
| 5 | 2431 | 13 |
| 6 | 5522 | 13 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 x y) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 (+.f64 x y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 y z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (+.f64 y z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 (+.f64 x (+.f64 y z)) 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (+.f64 x (+.f64 y z)) 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 y z)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (+.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 z z) (*.f64 (+.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 x y) 2) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 y z)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (+.f64 y z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 y z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 y z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 y z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 y z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8)) (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (+.f64 y z)) (+.f64 x (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (+.f64 y z)) (+.f64 x (+.f64 y z))))))) |
| 1× | egg-herbie |
| 8900× | rational.json-simplify-41 |
| 2692× | rational.json-simplify-51 |
| 2382× | rational.json-simplify-2 |
| 2130× | rational.json-simplify-35 |
| 1070× | rational.json-simplify-49 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 60 | 677 |
| 1 | 115 | 677 |
| 2 | 310 | 677 |
| 3 | 754 | 677 |
| 4 | 1379 | 677 |
| 5 | 2228 | 677 |
| 6 | 2605 | 677 |
| 7 | 2660 | 677 |
| 8 | 2698 | 677 |
| 9 | 2731 | 677 |
| 10 | 2759 | 677 |
| 11 | 2787 | 677 |
| 12 | 2815 | 677 |
| 13 | 2843 | 677 |
| 14 | 2871 | 677 |
| 15 | 2899 | 677 |
| 16 | 2927 | 677 |
| 17 | 2955 | 677 |
| 18 | 2983 | 677 |
| 19 | 3735 | 677 |
| 20 | 3793 | 677 |
| 21 | 5268 | 677 |
| 22 | 5319 | 677 |
| 23 | 5350 | 677 |
| 24 | 5379 | 677 |
| 25 | 6129 | 677 |
| 26 | 6158 | 677 |
| 27 | 6187 | 677 |
| 28 | 6216 | 677 |
| 29 | 6245 | 677 |
| 30 | 6274 | 677 |
| 31 | 6303 | 677 |
| 32 | 6332 | 677 |
| 33 | 6361 | 677 |
| 34 | 6390 | 677 |
| 35 | 6419 | 677 |
| 36 | 6448 | 677 |
| 37 | 6477 | 677 |
| 38 | 6506 | 677 |
| 39 | 6535 | 677 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 y z) |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
x |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
x |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z x) |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
y |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
y |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 y x) |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
z |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
z |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 y (+.f64 z x)) |
(-.f64 (+.f64 x (+.f64 y z)) 0) |
(*.f64 (+.f64 x (+.f64 y z)) 1) |
(*.f64 1 (+.f64 x (+.f64 y z))) |
(*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 1/2)) |
(*.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 (+.f64 x y) 1/2))) |
(*.f64 2 (+.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 z 1/2))) |
(*.f64 (*.f64 (+.f64 x (+.f64 y z)) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 x (+.f64 y z)) 4)) |
(*.f64 4 (*.f64 (*.f64 (+.f64 x (+.f64 y z)) 1/2) 1/2)) |
(*.f64 4 (*.f64 (/.f64 (+.f64 x (+.f64 y z)) 4) 1)) |
(*.f64 (*.f64 (+.f64 x (+.f64 y z)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 y z)) 2)) |
(*.f64 1/2 (+.f64 (+.f64 z z) (*.f64 (+.f64 x y) 2))) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 x y) 2) (+.f64 z z))) |
(*.f64 (*.f64 (+.f64 x (+.f64 y z)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 y z)) 4)) |
(*.f64 (/.f64 (+.f64 x (+.f64 y z)) 4) 4) |
(/.f64 (+.f64 x (+.f64 y z)) 1) |
(/.f64 (*.f64 (+.f64 x (+.f64 y z)) 2) 2) |
(/.f64 (*.f64 (+.f64 x (+.f64 y z)) 4) 4) |
(/.f64 (*.f64 (+.f64 x (+.f64 y z)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8)) (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8))) 32) |
| Outputs |
|---|
(+.f64 y z) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
x |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
x |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 z x) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
y |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
y |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y x) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
z |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
z |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(-.f64 (+.f64 x (+.f64 y z)) 0) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 (+.f64 x (+.f64 y z)) 1) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 1 (+.f64 x (+.f64 y z))) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 1/2)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 (+.f64 x y) 1/2))) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 2 (+.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 z 1/2))) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 (*.f64 (+.f64 x (+.f64 y z)) 2) 1/2) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 4 (/.f64 (+.f64 x (+.f64 y z)) 4)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 4 (*.f64 (*.f64 (+.f64 x (+.f64 y z)) 1/2) 1/2)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 4 (*.f64 (/.f64 (+.f64 x (+.f64 y z)) 4) 1)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 (*.f64 (+.f64 x (+.f64 y z)) 4) 1/4) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 y z)) 2)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 1/2 (+.f64 (+.f64 z z) (*.f64 (+.f64 x y) 2))) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 x y) 2) (+.f64 z z))) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 (*.f64 (+.f64 x (+.f64 y z)) 1/2) 2) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 y z)) 4)) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(*.f64 (/.f64 (+.f64 x (+.f64 y z)) 4) 4) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(/.f64 (+.f64 x (+.f64 y z)) 1) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(/.f64 (*.f64 (+.f64 x (+.f64 y z)) 2) 2) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(/.f64 (*.f64 (+.f64 x (+.f64 y z)) 4) 4) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(/.f64 (*.f64 (+.f64 x (+.f64 y z)) 8) 8) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8)) 16) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8)) (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8))) 32) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
Compiled 250 to 116 computations (53.6% saved)
6 alts after pruning (5 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 26 | 5 | 31 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 26 | 6 | 32 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x y) z) |
| ▶ | 1.0b | (+.f64 z x) |
| ▶ | 32.0b | (+.f64 y z) |
| ▶ | 30.8b | (+.f64 y x) |
| 32.9b | z | |
| 31.9b | x |
Compiled 34 to 23 computations (32.4% saved)
Compiled 8 to 4 computations (50% saved)
Compiled 8 to 4 computations (50% saved)
Compiled 8 to 4 computations (50% saved)
Compiled 3 to 3 computations (0% saved)
6 alts after pruning (2 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 3 | 3 |
| Total | 0 | 6 | 6 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x y) z) |
| ✓ | 1.0b | (+.f64 z x) |
| ✓ | 32.0b | (+.f64 y z) |
| ✓ | 30.8b | (+.f64 y x) |
| 32.9b | z | |
| 31.9b | x |
Compiled 34 to 23 computations (32.4% saved)
Compiled 3 to 3 computations (0% saved)
6 alts after pruning (2 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 4 | 4 |
| Total | 0 | 6 | 6 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x y) z) |
| ✓ | 1.0b | (+.f64 z x) |
| ✓ | 32.0b | (+.f64 y z) |
| ✓ | 30.8b | (+.f64 y x) |
| 32.9b | z | |
| 31.9b | x |
Compiled 34 to 23 computations (32.4% saved)
Compiled 3 to 3 computations (0% saved)
6 alts after pruning (2 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 4 | 4 |
| Total | 0 | 6 | 6 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x y) z) |
| ✓ | 1.0b | (+.f64 z x) |
| ✓ | 32.0b | (+.f64 y z) |
| ✓ | 30.8b | (+.f64 y x) |
| 32.9b | z | |
| 31.9b | x |
Compiled 34 to 23 computations (32.4% saved)
| Inputs |
|---|
x |
z |
(+.f64 y x) |
(+.f64 y z) |
(+.f64 z x) |
(+.f64 (+.f64 x y) z) |
| Outputs |
|---|
(+.f64 (+.f64 x y) z) |
5 calls:
| 5.0ms | z |
| 5.0ms | (+.f64 x y) |
| 4.0ms | (+.f64 (+.f64 x y) z) |
| 4.0ms | y |
| 4.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | (+.f64 (+.f64 x y) z) |
| 0.0b | 1 | (+.f64 x y) |
Compiled 45 to 26 computations (42.2% saved)
| Inputs |
|---|
x |
z |
(+.f64 y x) |
(+.f64 y z) |
(+.f64 z x) |
| Outputs |
|---|
(+.f64 z x) |
3 calls:
| 6.0ms | y |
| 4.0ms | z |
| 4.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 1.0b | 1 | x |
| 1.0b | 1 | y |
| 1.0b | 1 | z |
Compiled 26 to 15 computations (42.3% saved)
| Inputs |
|---|
x |
z |
(+.f64 y x) |
(+.f64 y z) |
| Outputs |
|---|
(+.f64 y x) |
(+.f64 y z) |
(+.f64 y x) |
(+.f64 y z) |
3 calls:
| 18.0ms | z |
| 15.0ms | y |
| 10.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 13.9b | 2 | x |
| 14.4b | 4 | y |
| 11.8b | 4 | z |
Compiled 23 to 14 computations (39.1% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 10.0ms | 1.3190645676487365e+75 | 2.2009569600823478e+77 |
| 10.0ms | 6.307832774348376e-70 | 3.296780025548133e-69 |
| 7.0ms | 1.8343331804487936e-81 | 4.531941387026016e-81 |
| 24.0ms | 288× | body | 256 | valid |
Compiled 266 to 190 computations (28.6% saved)
| Inputs |
|---|
x |
z |
(+.f64 y x) |
| Outputs |
|---|
(+.f64 y x) |
z |
(+.f64 y x) |
z |
3 calls:
| 16.0ms | z |
| 15.0ms | x |
| 12.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 14.4b | 2 | x |
| 14.6b | 4 | y |
| 12.2b | 4 | z |
Compiled 20 to 13 computations (35% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 1.3190645676487365e+75 | 2.2009569600823478e+77 |
| 8.0ms | 6.307832774348376e-70 | 3.296780025548133e-69 |
| 7.0ms | 1.8343331804487936e-81 | 4.531941387026016e-81 |
| 23.0ms | 286× | body | 256 | valid |
| 0.0ms | 1× | body | 2048 | valid |
| 0.0ms | 1× | body | 1024 | valid |
Compiled 230 to 172 computations (25.2% saved)
Total -50.2b remaining (-396.6%)
Threshold costs -50.2b (-396.6%)
| Inputs |
|---|
x |
z |
| Outputs |
|---|
x |
z |
x |
z |
3 calls:
| 13.0ms | x |
| 13.0ms | z |
| 11.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 13.7b | 4 | x |
| 15.2b | 4 | y |
| 12.7b | 4 | z |
Compiled 17 to 12 computations (29.4% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 1.3190645676487365e+75 | 2.2009569600823478e+77 |
| 8.0ms | 6.307832774348376e-70 | 3.296780025548133e-69 |
| 7.0ms | 1.8343331804487936e-81 | 4.531941387026016e-81 |
| 23.0ms | 286× | body | 256 | valid |
| 0.0ms | 2× | body | 2048 | valid |
Compiled 194 to 154 computations (20.6% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 32 | 150 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 x y) z) |
(+.f64 z x) |
(if (<=.f64 z 150186588463189/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (+.f64 y x) (if (<=.f64 z 315683694986681/485667223056432267729865476705879726660601709763034880312953102434726071301302124544) (+.f64 y z) (if (<=.f64 z 2099999999999999986340619343272166849290169831770610283944319437533133930496) (+.f64 y x) (+.f64 y z)))) |
(if (<=.f64 z 150186588463189/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (+.f64 y x) (if (<=.f64 z 315683694986681/485667223056432267729865476705879726660601709763034880312953102434726071301302124544) z (if (<=.f64 z 15999999999999998824636498823699182776140851443191486196202342716485796888576) (+.f64 y x) z))) |
(if (<=.f64 z 150186588463189/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) x (if (<=.f64 z 315683694986681/485667223056432267729865476705879726660601709763034880312953102434726071301302124544) z (if (<=.f64 z 12999999999999999647618921891376939333850226425529058480240526125692023209984) x z))) |
x |
| Outputs |
|---|
(+.f64 (+.f64 x y) z) |
(+.f64 z x) |
(if (<=.f64 z 150186588463189/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (+.f64 y x) (if (<=.f64 z 315683694986681/485667223056432267729865476705879726660601709763034880312953102434726071301302124544) (+.f64 y z) (if (<=.f64 z 2099999999999999986340619343272166849290169831770610283944319437533133930496) (+.f64 y x) (+.f64 y z)))) |
(if (<=.f64 z 150186588463189/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (+.f64 y x) (if (<=.f64 z 315683694986681/485667223056432267729865476705879726660601709763034880312953102434726071301302124544) z (if (<=.f64 z 15999999999999998824636498823699182776140851443191486196202342716485796888576) (+.f64 y x) z))) |
(if (<=.f64 z 150186588463189/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) x (if (<=.f64 z 315683694986681/485667223056432267729865476705879726660601709763034880312953102434726071301302124544) z (if (<=.f64 z 12999999999999999647618921891376939333850226425529058480240526125692023209984) x z))) |
x |
Compiled 87 to 51 computations (41.4% saved)
(sort x y z)
Compiled 88 to 45 computations (48.9% saved)
Loading profile data...