Time bar (total: 2.1s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 6 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 7 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 8 |
| 6.3% | 6.2% | 93.6% | 0.2% | 0% | 0% | 0% | 9 |
| 9.4% | 9.4% | 90.4% | 0.2% | 0% | 0% | 0% | 10 |
| 13% | 12.5% | 83.4% | 0.2% | 3.9% | 0% | 0% | 11 |
| 19.6% | 18.7% | 76.8% | 0.2% | 4.3% | 0% | 0% | 12 |
Compiled 12 to 8 computations (33.3% saved)
| 866.0ms | 8256× | body | 256 | valid |
| 215.0ms | 2056× | body | 256 | infinite |
| 2× | egg-herbie |
| 12× | rational.json-simplify-2 |
| 2× | swap-z-t |
| 2× | swap-x-y |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 23 | 133 |
| 1 | 27 | 133 |
| 0 | 4 | 4 |
| 1 | 4 | 4 |
| 1× | unsound |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
3 |
| Outputs |
|---|
0 |
1 |
0 |
2 |
3 |
2 |
| Inputs |
|---|
(-.f64 (*.f64 x y) (*.f64 z t)) |
(-.f64 (*.f64 y x) (*.f64 z t)) |
(-.f64 (*.f64 z y) (*.f64 x t)) |
(-.f64 (*.f64 t y) (*.f64 z x)) |
(-.f64 (*.f64 x z) (*.f64 y t)) |
(-.f64 (*.f64 x t) (*.f64 z y)) |
(-.f64 (*.f64 x y) (*.f64 t z)) |
| Outputs |
|---|
(-.f64 (*.f64 x y) (*.f64 z t)) |
(-.f64 (*.f64 y x) (*.f64 z t)) |
(-.f64 (*.f64 x y) (*.f64 z t)) |
(-.f64 (*.f64 z y) (*.f64 x t)) |
(-.f64 (*.f64 y z) (*.f64 x t)) |
(-.f64 (*.f64 t y) (*.f64 z x)) |
(-.f64 (*.f64 y t) (*.f64 x z)) |
(-.f64 (*.f64 x z) (*.f64 y t)) |
(-.f64 (*.f64 x t) (*.f64 z y)) |
(-.f64 (*.f64 x t) (*.f64 y z)) |
(-.f64 (*.f64 x y) (*.f64 t z)) |
(-.f64 (*.f64 x y) (*.f64 z t)) |
(sort x y)
(sort z t)
Compiled 15 to 11 computations (26.7% saved)
| 1× | egg-herbie |
| 4× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 11 | 19 |
| 1× | saturated |
| Inputs |
|---|
(-.f64 (*.f64 x y) (*.f64 z t)) |
| Outputs |
|---|
(-.f64 (*.f64 x y) (*.f64 z t)) |
Compiled 11 to 7 computations (36.4% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (-.f64 (*.f64 x y) (*.f64 z t)) |
Compiled 11 to 7 computations (36.4% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 x y) (*.f64 z t)) |
Compiled 21 to 7 computations (66.7% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | 0 | (-.f64 (*.f64 x y) (*.f64 z t)) |
| 0.0ms | x | @ | 0 | (-.f64 (*.f64 x y) (*.f64 z t)) |
| 0.0ms | x | @ | -inf | (-.f64 (*.f64 x y) (*.f64 z t)) |
| 0.0ms | y | @ | -inf | (-.f64 (*.f64 x y) (*.f64 z t)) |
| 0.0ms | z | @ | -inf | (-.f64 (*.f64 x y) (*.f64 z t)) |
| 1× | batch-egg-rewrite |
| 2036× | rational.json-5 |
| 2034× | rational.json-1 |
| 2034× | rational.json-2 |
| 2034× | rational.json-4 |
| 2034× | rational.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 76 | 19 |
| 2 | 258 | 19 |
| 3 | 964 | 19 |
| 4 | 3856 | 19 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (*.f64 x y) (*.f64 z t)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (-.f64 (*.f64 z t) (*.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z t) (*.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t)))) (/.f64 (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z t) (*.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 z t) (*.f64 x y))))))) |
| 1× | egg-herbie |
| 1298× | rational.json-simplify-47 |
| 1096× | rational.json-simplify-49 |
| 1000× | rational.json-simplify-1 |
| 912× | exponential.json-simplify-26 |
| 906× | rational.json-simplify-2 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 41 | 1324 |
| 1 | 73 | 1240 |
| 2 | 209 | 1240 |
| 3 | 1175 | 1240 |
| 4 | 4968 | 1240 |
| 5 | 7879 | 1240 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 0) |
(+.f64 0 (-.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (-.f64 -1 (-.f64 (*.f64 z t) (*.f64 x y))) 1) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t)))) |
(*.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))) |
(*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) -1) |
(*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t)))) |
(*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))) 1)) |
(*.f64 (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t)))) |
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t)))) (/.f64 (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))))) |
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1) |
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t)))) |
(/.f64 (-.f64 (*.f64 z t) (*.f64 x y)) -1) |
(pow.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1) |
(neg.f64 (-.f64 (*.f64 z t) (*.f64 x y))) |
| Outputs |
|---|
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(*.f64 -1 (*.f64 t z)) |
(neg.f64 (*.f64 t z)) |
(*.f64 t (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 y x)) |
(+.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 0) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 0 (-.f64 (*.f64 x y) (*.f64 z t))) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (-.f64 -1 (-.f64 (*.f64 z t) (*.f64 x y))) 1) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t)))) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) -1) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t)))) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))) 1)) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t)))) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t)))) (/.f64 (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))))) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t)))) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(/.f64 (-.f64 (*.f64 z t) (*.f64 x y)) -1) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(pow.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
(neg.f64 (-.f64 (*.f64 z t) (*.f64 x y))) |
(-.f64 (*.f64 y x) (*.f64 t z)) |
Compiled 323 to 62 computations (80.8% saved)
3 alts after pruning (2 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 22 | 2 | 24 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 22 | 3 | 25 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 x y) (*.f64 z t)) |
| ▶ | 30.7b | (*.f64 y x) |
| ▶ | 31.7b | (*.f64 t (neg.f64 z)) |
Compiled 26 to 18 computations (30.8% saved)
Compiled 12 to 6 computations (50% saved)
Compiled 9 to 5 computations (44.4% saved)
Compiled 4 to 4 computations (0% saved)
3 alts after pruning (0 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 x y) (*.f64 z t)) |
| ✓ | 30.7b | (*.f64 y x) |
| ✓ | 31.7b | (*.f64 t (neg.f64 z)) |
Compiled 26 to 18 computations (30.8% saved)
| Inputs |
|---|
(*.f64 y x) |
(*.f64 t (neg.f64 z)) |
(-.f64 (*.f64 x y) (*.f64 z t)) |
| Outputs |
|---|
(-.f64 (*.f64 x y) (*.f64 z t)) |
7 calls:
| 6.0ms | t |
| 5.0ms | x |
| 5.0ms | z |
| 5.0ms | y |
| 5.0ms | (-.f64 (*.f64 x y) (*.f64 z t)) |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | t |
| 0.0b | 1 | (-.f64 (*.f64 x y) (*.f64 z t)) |
| 0.0b | 1 | (*.f64 x y) |
| 0.0b | 1 | (*.f64 z t) |
Compiled 63 to 43 computations (31.7% saved)
Total -44.5b remaining (-275.6%)
Threshold costs -44.5b (-275.6%)
| Inputs |
|---|
(*.f64 y x) |
(*.f64 t (neg.f64 z)) |
| Outputs |
|---|
(*.f64 y x) |
(*.f64 t (neg.f64 z)) |
(*.f64 y x) |
(*.f64 t (neg.f64 z)) |
(*.f64 y x) |
(*.f64 t (neg.f64 z)) |
(*.f64 y x) |
(*.f64 t (neg.f64 z)) |
(*.f64 y x) |
4 calls:
| 30.0ms | x |
| 21.0ms | z |
| 11.0ms | y |
| 11.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 16.1b | 9 | x |
| 18.6b | 3 | y |
| 19.0b | 5 | z |
| 16.7b | 3 | t |
Compiled 31 to 23 computations (25.8% saved)
| 8× | binary-search |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 1.6212496702146519e-121 | 3.9808332025076385e-117 |
| 18.0ms | -1.396089197672715e-161 | -1.2775206194504132e-180 |
| 3.0ms | -2.243579917785342e-139 | -2.088326781565109e-139 |
| 13.0ms | -1.2941430686264265e-43 | -2.143366128055591e-45 |
| 15.0ms | -9.62999316915082e-35 | -5.302508898425934e-38 |
| 14.0ms | -2.2204134736829563e+47 | -3.486659406404276e+45 |
| 15.0ms | -3.8853384063314707e+68 | -1.2037548263340436e+64 |
| 17.0ms | -5.5492442962165954e+103 | -1.1859636551185021e+101 |
| 91.0ms | 912× | body | 256 | valid |
| 3.0ms | 27× | body | 256 | infinite |
Compiled 987 to 754 computations (23.6% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 177 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(-.f64 (*.f64 x y) (*.f64 z t)) |
(if (<=.f64 x -309999999999999999101889567348387381760799345011747003156000637133764438181844583668504713945935773696) (*.f64 y x) (if (<=.f64 x -369999999999999998102340069930400902459591772500915930690379216584704) (*.f64 t (neg.f64 z)) (if (<=.f64 x -3800000000000000176755408373115385159583006720) (*.f64 y x) (if (<=.f64 x -838083498911033/5986310706507378352962293074805895248510699696029696) (*.f64 t (neg.f64 z)) (if (<=.f64 x -7532522082464017/100433627766186892221372630771322662657637687111424552206336) (*.f64 y x) (if (<=.f64 x -5631279330575891/26815615859885194199148049996411692254958731641184786755447122887443528060147093953603748596333806855380063716372972101707507765623893139892867298012168192) (*.f64 t (neg.f64 z)) (if (<=.f64 x -3419095469964197/253266331108459042877954581524118722595974501479640924072000569439126758509088631982403994686712878069348015540240526683495797795130113239006767262824338603946605334680267915264) (*.f64 y x) (if (<=.f64 x 6586975938928937/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (*.f64 t (neg.f64 z)) (*.f64 y x))))))))) |
(*.f64 y x) |
| Outputs |
|---|
(-.f64 (*.f64 x y) (*.f64 z t)) |
(if (<=.f64 x -309999999999999999101889567348387381760799345011747003156000637133764438181844583668504713945935773696) (*.f64 y x) (if (<=.f64 x -369999999999999998102340069930400902459591772500915930690379216584704) (*.f64 t (neg.f64 z)) (if (<=.f64 x -3800000000000000176755408373115385159583006720) (*.f64 y x) (if (<=.f64 x -838083498911033/5986310706507378352962293074805895248510699696029696) (*.f64 t (neg.f64 z)) (if (<=.f64 x -7532522082464017/100433627766186892221372630771322662657637687111424552206336) (*.f64 y x) (if (<=.f64 x -5631279330575891/26815615859885194199148049996411692254958731641184786755447122887443528060147093953603748596333806855380063716372972101707507765623893139892867298012168192) (*.f64 t (neg.f64 z)) (if (<=.f64 x -3419095469964197/253266331108459042877954581524118722595974501479640924072000569439126758509088631982403994686712878069348015540240526683495797795130113239006767262824338603946605334680267915264) (*.f64 y x) (if (<=.f64 x 6586975938928937/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (*.f64 t (neg.f64 z)) (*.f64 y x))))))))) |
(*.f64 y x) |
Compiled 85 to 43 computations (49.4% saved)
(sort z t)
(sort x y)
Compiled 121 to 62 computations (48.8% saved)
Loading profile data...