Time bar (total: 17.6s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 6 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 7 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 8 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 9 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 10 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 11 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 12 |
Compiled 22 to 14 computations (36.4% saved)
| 2.4s | 3961× | body | 256 | infinite |
| 1.5s | 8256× | body | 256 | valid |
| 2× | egg-herbie |
| 818× | rational.json-simplify-1 |
| 574× | rational.json-simplify-41 |
| 142× | rational.json-simplify-2 |
| 76× | rational.json-simplify-51 |
| 40× | rational.json-simplify-43 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 87 | 688 |
| 1 | 167 | 688 |
| 2 | 304 | 646 |
| 3 | 494 | 592 |
| 4 | 782 | 592 |
| 5 | 1030 | 592 |
| 6 | 1048 | 592 |
| 0 | 6 | 6 |
| 1× | saturated |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
3 |
4 |
5 |
| Outputs |
|---|
0 |
1 |
2 |
3 |
4 |
5 |
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
(+.f64 (+.f64 (+.f64 y (*.f64 x z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
(+.f64 (+.f64 (+.f64 z (*.f64 y x)) (*.f64 t a)) (*.f64 (*.f64 a x) b)) |
(+.f64 (+.f64 (+.f64 t (*.f64 y z)) (*.f64 x a)) (*.f64 (*.f64 a z) b)) |
(+.f64 (+.f64 (+.f64 a (*.f64 y z)) (*.f64 t x)) (*.f64 (*.f64 x z) b)) |
(+.f64 (+.f64 (+.f64 b (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) x)) |
(+.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 t a)) (*.f64 (*.f64 a y) b)) |
(+.f64 (+.f64 (+.f64 x (*.f64 t z)) (*.f64 y a)) (*.f64 (*.f64 a z) b)) |
(+.f64 (+.f64 (+.f64 x (*.f64 a z)) (*.f64 t y)) (*.f64 (*.f64 y z) b)) |
(+.f64 (+.f64 (+.f64 x (*.f64 b z)) (*.f64 t a)) (*.f64 (*.f64 a z) y)) |
(+.f64 (+.f64 (+.f64 x (*.f64 y t)) (*.f64 z a)) (*.f64 (*.f64 a t) b)) |
(+.f64 (+.f64 (+.f64 x (*.f64 y a)) (*.f64 t z)) (*.f64 (*.f64 z a) b)) |
(+.f64 (+.f64 (+.f64 x (*.f64 y b)) (*.f64 t a)) (*.f64 (*.f64 a b) z)) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 a t)) (*.f64 (*.f64 t z) b)) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 b a)) (*.f64 (*.f64 a z) t)) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t b)) (*.f64 (*.f64 b z) a)) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 z a) b)) |
(+.f64 (+.f64 x (+.f64 (*.f64 y z) (*.f64 t a))) (*.f64 a (*.f64 z b))) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
(+.f64 x (+.f64 (*.f64 y z) (*.f64 a (+.f64 t (*.f64 z b))))) |
(+.f64 (+.f64 (+.f64 y (*.f64 x z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
(+.f64 (*.f64 (*.f64 z a) b) (+.f64 (*.f64 t a) (+.f64 y (*.f64 x z)))) |
(+.f64 (*.f64 t a) (+.f64 (+.f64 y (*.f64 x z)) (*.f64 a (*.f64 z b)))) |
(+.f64 (+.f64 y (*.f64 x z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
(+.f64 (*.f64 x z) (+.f64 y (*.f64 a (+.f64 t (*.f64 z b))))) |
(+.f64 y (+.f64 (*.f64 z (+.f64 x (*.f64 a b))) (*.f64 t a))) |
(+.f64 (*.f64 t a) (+.f64 y (*.f64 z (+.f64 x (*.f64 a b))))) |
(+.f64 (+.f64 (+.f64 z (*.f64 y x)) (*.f64 t a)) (*.f64 (*.f64 a x) b)) |
(+.f64 (+.f64 (*.f64 t a) (+.f64 z (*.f64 x y))) (*.f64 b (*.f64 x a))) |
(+.f64 (+.f64 z (*.f64 x y)) (+.f64 (*.f64 t a) (*.f64 b (*.f64 x a)))) |
(+.f64 (+.f64 z (*.f64 x y)) (*.f64 a (+.f64 (*.f64 x b) t))) |
(+.f64 (+.f64 z (*.f64 x y)) (*.f64 a (+.f64 t (*.f64 x b)))) |
(+.f64 (+.f64 (+.f64 t (*.f64 y z)) (*.f64 x a)) (*.f64 (*.f64 a z) b)) |
(+.f64 (*.f64 (*.f64 z a) b) (+.f64 (+.f64 (*.f64 y z) t) (*.f64 x a))) |
(+.f64 (*.f64 a (*.f64 z b)) (+.f64 (*.f64 y z) (+.f64 t (*.f64 x a)))) |
(+.f64 (+.f64 (*.f64 y z) t) (*.f64 a (+.f64 x (*.f64 z b)))) |
(+.f64 (*.f64 y z) (+.f64 t (*.f64 a (+.f64 x (*.f64 z b))))) |
(+.f64 (+.f64 (+.f64 a (*.f64 y z)) (*.f64 t x)) (*.f64 (*.f64 x z) b)) |
(+.f64 (+.f64 (+.f64 (*.f64 y z) a) (*.f64 x t)) (*.f64 b (*.f64 x z))) |
(+.f64 (+.f64 (*.f64 y z) a) (+.f64 (*.f64 x t) (*.f64 x (*.f64 z b)))) |
(+.f64 (*.f64 y z) (+.f64 (+.f64 a (*.f64 x t)) (*.f64 x (*.f64 z b)))) |
(+.f64 (*.f64 y z) (+.f64 a (*.f64 x (+.f64 t (*.f64 z b))))) |
(+.f64 (+.f64 a (*.f64 x t)) (*.f64 z (+.f64 (*.f64 x b) y))) |
(+.f64 (+.f64 a (*.f64 x t)) (*.f64 z (+.f64 y (*.f64 x b)))) |
(+.f64 (+.f64 (+.f64 b (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) x)) |
(+.f64 (+.f64 (*.f64 t a) (+.f64 (*.f64 y z) b)) (*.f64 x (*.f64 z a))) |
(+.f64 (+.f64 (*.f64 y z) b) (+.f64 (*.f64 t a) (*.f64 a (*.f64 x z)))) |
(+.f64 b (+.f64 (+.f64 (*.f64 y z) (*.f64 t a)) (*.f64 a (*.f64 x z)))) |
(+.f64 b (+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 x z) t)))) |
(+.f64 b (+.f64 (*.f64 y z) (*.f64 a (+.f64 t (*.f64 x z))))) |
(+.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 t a)) (*.f64 (*.f64 a y) b)) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 b (*.f64 y a))) |
(+.f64 (*.f64 t a) (+.f64 (+.f64 x (*.f64 y z)) (*.f64 b (*.f64 y a)))) |
(+.f64 x (+.f64 (+.f64 (*.f64 y z) (*.f64 t a)) (*.f64 b (*.f64 y a)))) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 y b) t))) |
(+.f64 (+.f64 x (*.f64 t a)) (*.f64 y (+.f64 (*.f64 a b) z))) |
(+.f64 (+.f64 x (*.f64 t a)) (*.f64 y (+.f64 z (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 x (*.f64 t z)) (*.f64 y a)) (*.f64 (*.f64 a z) b)) |
(+.f64 (*.f64 (*.f64 z a) b) (+.f64 (+.f64 x (*.f64 z t)) (*.f64 y a))) |
(+.f64 (*.f64 a (*.f64 z b)) (+.f64 x (+.f64 (*.f64 y a) (*.f64 z t)))) |
(+.f64 (+.f64 x (*.f64 z t)) (*.f64 a (+.f64 (*.f64 z b) y))) |
(+.f64 x (+.f64 (*.f64 y a) (*.f64 z (+.f64 t (*.f64 a b))))) |
(+.f64 x (+.f64 (*.f64 z t) (*.f64 a (+.f64 y (*.f64 z b))))) |
(+.f64 (+.f64 (+.f64 x (*.f64 a z)) (*.f64 t y)) (*.f64 (*.f64 y z) b)) |
(+.f64 (+.f64 (+.f64 x (*.f64 z a)) (*.f64 y t)) (*.f64 (*.f64 y z) b)) |
(+.f64 (+.f64 x (*.f64 z a)) (+.f64 (*.f64 y t) (*.f64 (*.f64 y z) b))) |
(+.f64 x (+.f64 (+.f64 (*.f64 z a) (*.f64 y t)) (*.f64 (*.f64 y z) b))) |
(+.f64 x (+.f64 (*.f64 z a) (*.f64 y (+.f64 t (*.f64 z b))))) |
(+.f64 (+.f64 (+.f64 x (*.f64 b z)) (*.f64 t a)) (*.f64 (*.f64 a z) y)) |
(+.f64 (+.f64 (*.f64 t a) (+.f64 x (*.f64 z b))) (*.f64 y (*.f64 z a))) |
(+.f64 (+.f64 (*.f64 z b) (+.f64 x (*.f64 t a))) (*.f64 z (*.f64 y a))) |
(+.f64 x (+.f64 (*.f64 z b) (*.f64 a (+.f64 (*.f64 y z) t)))) |
(+.f64 (+.f64 x (*.f64 z b)) (*.f64 a (+.f64 (*.f64 y z) t))) |
(+.f64 (+.f64 (+.f64 x (*.f64 y t)) (*.f64 z a)) (*.f64 (*.f64 a t) b)) |
(+.f64 (+.f64 (*.f64 z a) (+.f64 x (*.f64 y t))) (*.f64 (*.f64 t a) b)) |
(+.f64 (*.f64 z a) (+.f64 (+.f64 x (*.f64 y t)) (*.f64 (*.f64 t a) b))) |
(+.f64 (+.f64 x (*.f64 z a)) (+.f64 (*.f64 y t) (*.f64 (*.f64 t a) b))) |
(+.f64 x (+.f64 (*.f64 y t) (*.f64 a (+.f64 (*.f64 t b) z)))) |
(+.f64 x (+.f64 (*.f64 z a) (*.f64 t (+.f64 y (*.f64 a b))))) |
(+.f64 (+.f64 (+.f64 x (*.f64 y a)) (*.f64 t z)) (*.f64 (*.f64 z a) b)) |
(+.f64 (*.f64 (*.f64 z a) b) (+.f64 (+.f64 x (*.f64 z t)) (*.f64 y a))) |
(+.f64 (*.f64 a (*.f64 z b)) (+.f64 x (+.f64 (*.f64 y a) (*.f64 z t)))) |
(+.f64 (+.f64 x (*.f64 z t)) (*.f64 a (+.f64 (*.f64 z b) y))) |
(+.f64 x (+.f64 (*.f64 y a) (*.f64 z (+.f64 t (*.f64 a b))))) |
(+.f64 x (+.f64 (*.f64 z t) (*.f64 a (+.f64 y (*.f64 z b))))) |
(+.f64 (+.f64 (+.f64 x (*.f64 y b)) (*.f64 t a)) (*.f64 (*.f64 a b) z)) |
(+.f64 (+.f64 (*.f64 t a) (+.f64 x (*.f64 y b))) (*.f64 z (*.f64 a b))) |
(+.f64 (*.f64 a (*.f64 z b)) (+.f64 (*.f64 y b) (+.f64 x (*.f64 t a)))) |
(+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (+.f64 (*.f64 z b) t))) |
(+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (+.f64 t (*.f64 z b)))) |
(+.f64 x (+.f64 (*.f64 t a) (*.f64 b (+.f64 (*.f64 z a) y)))) |
(+.f64 x (+.f64 (*.f64 y b) (*.f64 a (+.f64 t (*.f64 z b))))) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 a t)) (*.f64 (*.f64 t z) b)) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 b (*.f64 z t))) |
(+.f64 (+.f64 x (*.f64 y z)) (+.f64 (*.f64 t a) (*.f64 z (*.f64 t b)))) |
(+.f64 x (+.f64 (+.f64 (*.f64 y z) (*.f64 t a)) (*.f64 z (*.f64 t b)))) |
(+.f64 x (+.f64 (*.f64 y z) (*.f64 t (+.f64 (*.f64 z b) a)))) |
(+.f64 x (+.f64 (*.f64 y z) (*.f64 t (+.f64 a (*.f64 z b))))) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 b a)) (*.f64 (*.f64 a z) t)) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 a b)) (*.f64 t (*.f64 z a))) |
(+.f64 (+.f64 x (*.f64 y z)) (+.f64 (*.f64 a b) (*.f64 a (*.f64 z t)))) |
(+.f64 (*.f64 y z) (+.f64 (+.f64 x (*.f64 a b)) (*.f64 a (*.f64 z t)))) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z t) b))) |
(+.f64 x (+.f64 (*.f64 z (+.f64 y (*.f64 t a))) (*.f64 a b))) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 b (*.f64 z t)))) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t b)) (*.f64 (*.f64 b z) a)) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t b)) (*.f64 a (*.f64 z b))) |
(+.f64 (+.f64 x (*.f64 y z)) (+.f64 (*.f64 t b) (*.f64 a (*.f64 z b)))) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 b (+.f64 (*.f64 z a) t))) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 b (+.f64 t (*.f64 z a)))) |
Compiled 27 to 19 computations (29.6% saved)
| 1× | egg-herbie |
| 64× | rational.json-simplify-1 |
| 40× | rational.json-simplify-41 |
| 20× | rational.json-simplify-2 |
| 8× | rational.json-simplify-51 |
| 4× | rational.json-simplify-43 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 43 |
| 1 | 22 | 43 |
| 2 | 34 | 43 |
| 3 | 50 | 37 |
| 4 | 72 | 37 |
| 5 | 92 | 37 |
| 6 | 95 | 37 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 z a) b)) |
(+.f64 (+.f64 x (*.f64 y z)) (+.f64 (*.f64 t a) (*.f64 a (*.f64 z b)))) |
(+.f64 x (+.f64 (+.f64 (*.f64 y z) (*.f64 t a)) (*.f64 a (*.f64 z b)))) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 t (*.f64 z b)))) |
Compiled 92 to 29 computations (68.5% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 4 | 2 | 6 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 5 | 2 | 7 |
| Status | Error | Program |
|---|---|---|
| ▶ | 3.0b | (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 z a) b)) |
| ▶ | 2.8b | (+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
Compiled 40 to 25 computations (37.5% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
| ✓ | 2.7b | (*.f64 a (+.f64 (*.f64 z b) t)) |
Compiled 48 to 12 computations (75% saved)
30 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
| 1.0ms | b | @ | -inf | (*.f64 a (+.f64 (*.f64 z b) t)) |
| 1.0ms | a | @ | 0 | (*.f64 a (+.f64 (*.f64 z b) t)) |
| 1.0ms | z | @ | inf | (*.f64 a (+.f64 (*.f64 z b) t)) |
| 0.0ms | a | @ | inf | (+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
| 1× | batch-egg-rewrite |
| 1712× | bool.json-1 |
| 1712× | bool.json-2 |
| 1688× | rational.json-1 |
| 1122× | bool.json-3 |
| 1032× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 56 |
| 1 | 137 | 56 |
| 2 | 337 | 56 |
| 3 | 715 | 56 |
| 4 | 1577 | 56 |
| 5 | 3422 | 56 |
| 6 | 6369 | 56 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a (+.f64 (*.f64 z b) t)) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a (+.f64 (*.f64 z b) t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 z b) t) (*.f64 a 1/2)) (*.f64 (+.f64 (*.f64 z b) t) (*.f64 a 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (*.f64 (+.f64 (*.f64 z b) t) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (*.f64 (+.f64 (*.f64 z b) t) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 8)) (*.f64 2 (*.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 a (+.f64 (*.f64 z b) t))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 a (+.f64 (*.f64 z b) t)) (*.f64 a (+.f64 (*.f64 z b) t)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 a (+.f64 (*.f64 z b) t)) (*.f64 a (+.f64 (*.f64 z b) t))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 x (*.f64 z y)) 1/2) (*.f64 (+.f64 (*.f64 z b) t) (*.f64 a 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 (*.f64 z b) t) (*.f64 a 1/2)) (*.f64 (+.f64 x (*.f64 z y)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 x (*.f64 z y)) 2) (*.f64 a (*.f64 (+.f64 (*.f64 z b) t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 a (*.f64 (+.f64 (*.f64 z b) t) 2)) (*.f64 (+.f64 x (*.f64 z y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y)))))))) |
| 1× | egg-herbie |
| 5026× | rational.json-simplify-51 |
| 2160× | rational.json-simplify-35 |
| 1530× | rational.json-simplify-2 |
| 1310× | rational.json-simplify-1 |
| 1166× | rational.json-simplify-45 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 114 | 3993 |
| 1 | 244 | 3993 |
| 2 | 552 | 3987 |
| 3 | 1414 | 3987 |
| 4 | 2385 | 3987 |
| 5 | 2823 | 3987 |
| 6 | 3169 | 3987 |
| 7 | 3335 | 3987 |
| 8 | 3470 | 3987 |
| 9 | 3600 | 3987 |
| 10 | 3759 | 3987 |
| 11 | 3997 | 3987 |
| 12 | 4423 | 3987 |
| 13 | 5024 | 3987 |
| 14 | 5470 | 3987 |
| 15 | 5590 | 3987 |
| 16 | 5697 | 3987 |
| 17 | 5715 | 3987 |
| 18 | 5717 | 3987 |
| 19 | 5949 | 3987 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 a t) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (*.f64 z b)) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (*.f64 z b)) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a t) |
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)) |
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)) |
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)) |
(*.f64 a (*.f64 b z)) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))) |
(*.f64 a (*.f64 b z)) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))) |
(*.f64 a (*.f64 z b)) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a t) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a t) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 t (*.f64 b z)) a)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
x |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
x |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)) |
(*.f64 z (+.f64 (*.f64 a b) y)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x)) |
(+.f64 (*.f64 y z) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(*.f64 a (+.f64 (*.f64 z b) t)) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(*.f64 a (*.f64 b z)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(*.f64 a (*.f64 b z)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 0) |
(+.f64 0 (*.f64 a (+.f64 (*.f64 z b) t))) |
(+.f64 (*.f64 (+.f64 (*.f64 z b) t) (*.f64 a 1/2)) (*.f64 (+.f64 (*.f64 z b) t) (*.f64 a 1/2))) |
(-.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 0) |
(/.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 1) |
(/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 z b) t) 2)) 2) |
(/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 z b) t) 4)) 4) |
(/.f64 (*.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 8)) (*.f64 2 (*.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 8))) 32) |
(-.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 0) |
(*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 1) |
(*.f64 1 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y)))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 1/2)) |
(*.f64 2 (+.f64 (*.f64 (+.f64 x (*.f64 z y)) 1/2) (*.f64 (+.f64 (*.f64 z b) t) (*.f64 a 1/2)))) |
(*.f64 2 (+.f64 (*.f64 (+.f64 (*.f64 z b) t) (*.f64 a 1/2)) (*.f64 (+.f64 x (*.f64 z y)) 1/2))) |
(*.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 2)) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 x (*.f64 z y)) 2) (*.f64 a (*.f64 (+.f64 (*.f64 z b) t) 2)))) |
(*.f64 1/2 (+.f64 (*.f64 a (*.f64 (+.f64 (*.f64 z b) t) 2)) (*.f64 (+.f64 x (*.f64 z y)) 2))) |
(*.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4)) |
(*.f64 (/.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4) 4) |
(/.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 8))) 32) |
| Outputs |
|---|
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 a t) |
(*.f64 t a) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 a (*.f64 z b)) |
(*.f64 b (*.f64 z a)) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 a (*.f64 z b)) |
(*.f64 b (*.f64 z a)) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 a t) |
(*.f64 t a) |
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 z a)) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 z a)) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 a (*.f64 z b)) |
(*.f64 b (*.f64 z a)) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 a t) |
(*.f64 t a) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(*.f64 a t) |
(*.f64 t a) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 t (*.f64 b z)) a)) |
(+.f64 (*.f64 z y) (*.f64 a (+.f64 t (*.f64 b z)))) |
(+.f64 (*.f64 t a) (*.f64 z (+.f64 y (*.f64 b a)))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
x |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
x |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x) |
(+.f64 x (*.f64 a (+.f64 t (*.f64 b z)))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 t a) x) |
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 z (+.f64 (*.f64 a b) y)) |
(*.f64 z (+.f64 y (*.f64 b a))) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) |
(*.f64 z (+.f64 y (*.f64 b a))) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) x) |
(+.f64 (*.f64 z y) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 (+.f64 t (*.f64 b z)) a) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 a (+.f64 (*.f64 z b) t)) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 t a) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 t a) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 z a)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 z a)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x)) |
(+.f64 (*.f64 b (*.f64 z a)) (+.f64 (*.f64 z y) x)) |
(+.f64 x (*.f64 z (+.f64 y (*.f64 b a)))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 a t) |
(*.f64 t a) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 a t) |
(*.f64 t a) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 0) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 0 (*.f64 a (+.f64 (*.f64 z b) t))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(+.f64 (*.f64 (+.f64 (*.f64 z b) t) (*.f64 a 1/2)) (*.f64 (+.f64 (*.f64 z b) t) (*.f64 a 1/2))) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(-.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 0) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(/.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 1) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 z b) t) 2)) 2) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 z b) t) 4)) 4) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(/.f64 (*.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 8) 8) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(/.f64 (*.f64 2 (*.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 8)) 16) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 8)) (*.f64 2 (*.f64 (*.f64 a (+.f64 (*.f64 z b) t)) 8))) 32) |
(*.f64 a (+.f64 t (*.f64 b z))) |
(-.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 0) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 1) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 1 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y)))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 1/2)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 2 (+.f64 (*.f64 (+.f64 x (*.f64 z y)) 1/2) (*.f64 (+.f64 (*.f64 z b) t) (*.f64 a 1/2)))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 2 (+.f64 (*.f64 (+.f64 (*.f64 z b) t) (*.f64 a 1/2)) (*.f64 (+.f64 x (*.f64 z y)) 1/2))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 2) 1/2) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 4 (/.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4) 1/4) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 2)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 x (*.f64 z y)) 2) (*.f64 a (*.f64 (+.f64 (*.f64 z b) t) 2)))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 1/2 (+.f64 (*.f64 a (*.f64 (+.f64 (*.f64 z b) t) 2)) (*.f64 (+.f64 x (*.f64 z y)) 2))) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 1/2) 2) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4)) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(*.f64 (/.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4) 4) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(/.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 1) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(/.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 2) 2) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(/.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 4) 4) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(/.f64 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 8) 8) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 8)) 16) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) (+.f64 x (*.f64 z y))) 8))) 32) |
(+.f64 (*.f64 z y) (+.f64 x (*.f64 a (+.f64 t (*.f64 b z))))) |
(+.f64 (*.f64 a (+.f64 t (*.f64 b z))) (+.f64 (*.f64 z y) x)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) |
| ✓ | 5.3b | (*.f64 (*.f64 z a) b) |
Compiled 55 to 13 computations (76.4% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | inf | (*.f64 (*.f64 z a) b) |
| 0.0ms | b | @ | inf | (*.f64 (*.f64 z a) b) |
| 0.0ms | z | @ | 0 | (*.f64 (*.f64 z a) b) |
| 0.0ms | b | @ | 0 | (*.f64 (*.f64 z a) b) |
| 0.0ms | a | @ | 0 | (*.f64 (*.f64 z a) b) |
| 1× | batch-egg-rewrite |
| 1592× | bool.json-1 |
| 1592× | bool.json-2 |
| 1570× | rational.json-1 |
| 1570× | rational.json-2 |
| 1570× | rational.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 38 |
| 1 | 137 | 38 |
| 2 | 341 | 38 |
| 3 | 741 | 38 |
| 4 | 1624 | 38 |
| 5 | 3595 | 38 |
| 6 | 6380 | 38 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 z a) b) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z a) (/.f64 b 2)) (*.f64 (*.f64 z a) (/.f64 b 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 a (+.f64 b b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z a) (*.f64 b 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 z a) (*.f64 b 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z a) (*.f64 b 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z a) (*.f64 b 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z a) (*.f64 b 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 z (*.f64 a b)) (*.f64 z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 z (*.f64 a b)) (*.f64 z (*.f64 a b))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t))))))) |
| 1× | egg-herbie |
| 5430× | rational.json-simplify-41 |
| 2576× | rational.json-simplify-35 |
| 1966× | rational.json-simplify-2 |
| 1742× | rational.json-simplify-53 |
| 696× | rational.json-simplify-1 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 77 | 2307 |
| 1 | 158 | 2295 |
| 2 | 421 | 2289 |
| 3 | 997 | 2289 |
| 4 | 2021 | 2289 |
| 5 | 2719 | 2289 |
| 6 | 3109 | 2289 |
| 7 | 3461 | 2289 |
| 8 | 3765 | 2289 |
| 9 | 4048 | 2289 |
| 10 | 4183 | 2289 |
| 11 | 4318 | 2289 |
| 12 | 4864 | 2289 |
| 13 | 4864 | 2289 |
| 14 | 5111 | 2289 |
| 15 | 5260 | 2289 |
| 16 | 5486 | 2289 |
| 17 | 5728 | 2289 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
x |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
x |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 z (*.f64 a b)) 0) |
(+.f64 0 (*.f64 z (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 z a) (/.f64 b 2)) (*.f64 (*.f64 z a) (/.f64 b 2))) |
(-.f64 (*.f64 z (*.f64 a b)) 0) |
(/.f64 (*.f64 z (*.f64 a b)) 1) |
(/.f64 (*.f64 z (*.f64 a (+.f64 b b))) 2) |
(/.f64 (*.f64 (*.f64 z a) (*.f64 b 4)) 4) |
(/.f64 (*.f64 2 (*.f64 (*.f64 z a) (*.f64 b 4))) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z a) (*.f64 b 4)))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z a) (*.f64 b 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z a) (*.f64 b 4))))) 32) |
(-.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 0) |
(*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 1) |
(*.f64 1 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t))) |
(*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 1/2)) |
(*.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4)) |
(*.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 2)) |
(*.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4)) |
(*.f64 (/.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4) 4) |
(/.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 1) |
(/.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 2) 2) |
(/.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4)))) 32) |
| Outputs |
|---|
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 z y) (*.f64 a t)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
x |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
x |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) x) |
(+.f64 (*.f64 z y) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) x) |
(+.f64 (*.f64 z y) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(+.f64 (*.f64 z (*.f64 a b)) 0) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(+.f64 0 (*.f64 z (*.f64 a b))) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(+.f64 (*.f64 (*.f64 z a) (/.f64 b 2)) (*.f64 (*.f64 z a) (/.f64 b 2))) |
(+.f64 (*.f64 (*.f64 a z) (/.f64 b 2)) (*.f64 (*.f64 a z) (/.f64 b 2))) |
(*.f64 (*.f64 a z) (+.f64 (/.f64 b 2) (/.f64 b 2))) |
(*.f64 (/.f64 b 2) (*.f64 z (+.f64 a a))) |
(*.f64 (*.f64 z (/.f64 b 2)) (+.f64 a a)) |
(-.f64 (*.f64 z (*.f64 a b)) 0) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(/.f64 (*.f64 z (*.f64 a b)) 1) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(/.f64 (*.f64 z (*.f64 a (+.f64 b b))) 2) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(/.f64 (*.f64 (*.f64 z a) (*.f64 b 4)) 4) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 z a) (*.f64 b 4))) 8) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z a) (*.f64 b 4)))) 16) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z a) (*.f64 b 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z a) (*.f64 b 4))))) 32) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(-.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 0) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 1) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 1 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t))) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 1/2)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 2) 1/2) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 4 (/.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4) 1/4) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 1/2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 2)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 1/2) 2) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 1/4 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(*.f64 (/.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4) 4) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(/.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 1) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(/.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 2) 2) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(/.f64 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4) 4) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4)) 8) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4))) 16) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 a t)) 4)))) 32) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z y) x)) |
(+.f64 (*.f64 z y) (+.f64 (*.f64 a t) x)) |
Compiled 1808 to 457 computations (74.7% saved)
9 alts after pruning (9 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 109 | 9 | 118 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 111 | 9 | 120 |
| Status | Error | Program |
|---|---|---|
| ▶ | 8.6b | (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) |
| ▶ | 24.1b | (+.f64 (*.f64 z y) x) |
| 23.7b | (+.f64 (*.f64 t a) x) | |
| ▶ | 40.8b | (+.f64 (*.f64 a t) (*.f64 (*.f64 z a) b)) |
| 32.5b | (+.f64 x (*.f64 (*.f64 z a) b)) | |
| ▶ | 39.9b | (*.f64 z (+.f64 (*.f64 a b) y)) |
| ▶ | 47.2b | (*.f64 z y) |
| 40.8b | (*.f64 a (+.f64 (*.f64 z b) t)) | |
| 39.1b | x |
Compiled 207 to 146 computations (29.5% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) |
Compiled 31 to 10 computations (67.7% saved)
Compiled 11 to 7 computations (36.4% saved)
Compiled 17 to 8 computations (52.9% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 a b) y) |
| ✓ | 1.5b | (*.f64 z (+.f64 (*.f64 a b) y)) |
Compiled 25 to 9 computations (64% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | 0 | (*.f64 z (+.f64 (*.f64 a b) y)) |
| 0.0ms | z | @ | inf | (*.f64 z (+.f64 (*.f64 a b) y)) |
| 0.0ms | a | @ | 0 | (*.f64 z (+.f64 (*.f64 a b) y)) |
| 0.0ms | y | @ | inf | (*.f64 z (+.f64 (*.f64 a b) y)) |
| 0.0ms | a | @ | inf | (*.f64 z (+.f64 (*.f64 a b) y)) |
| 1× | batch-egg-rewrite |
| 1970× | bool.json-1 |
| 1344× | rational.json-simplify-35 |
| 1218× | bool.json-2 |
| 1188× | rational.json-1 |
| 1188× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 32 |
| 1 | 89 | 32 |
| 2 | 235 | 32 |
| 3 | 492 | 32 |
| 4 | 1018 | 32 |
| 5 | 2251 | 32 |
| 6 | 4659 | 32 |
| 7 | 7683 | 32 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (+.f64 (*.f64 a b) y)) |
(+.f64 (*.f64 a b) y) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (+.f64 (*.f64 a b) y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 a b) y) (*.f64 z 1/2)) (*.f64 (+.f64 (*.f64 a b) y) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 (+.f64 (*.f64 a b) y) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 (+.f64 (*.f64 a b) y) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 z (+.f64 (*.f64 a b) y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 z (+.f64 (*.f64 a b) y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 z (+.f64 (*.f64 a b) y))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 a b) y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 a b) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 a b) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 y 1/2) (*.f64 a (*.f64 b 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) y) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 a b) y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) y) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 a b) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 a (+.f64 b b)) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) y) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 a b) y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 a b) y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 a b) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) y) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) y) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 a b) y)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 a b) y) (+.f64 (*.f64 a b) y))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 a b) y) (+.f64 (*.f64 a b) y)))))) |
| 1× | egg-herbie |
| 3420× | rational.json-simplify-41 |
| 2188× | rational.json-simplify-35 |
| 1808× | rational.json-simplify-2 |
| 1440× | rational.json-simplify-53 |
| 758× | rational.json-simplify-43 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 81 | 1342 |
| 1 | 182 | 1114 |
| 2 | 453 | 1114 |
| 3 | 1480 | 1114 |
| 4 | 2993 | 1114 |
| 5 | 3435 | 1114 |
| 6 | 3629 | 1114 |
| 7 | 3730 | 1114 |
| 8 | 3823 | 1114 |
| 9 | 3913 | 1114 |
| 10 | 5194 | 1114 |
| 11 | 5287 | 1114 |
| 12 | 5376 | 1114 |
| 13 | 5465 | 1114 |
| 14 | 5554 | 1114 |
| 15 | 5554 | 1114 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(*.f64 a (*.f64 b z)) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(*.f64 a (*.f64 b z)) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(*.f64 a (*.f64 b z)) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(*.f64 a (*.f64 b z)) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(*.f64 a (*.f64 z b)) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
y |
(*.f64 a b) |
(*.f64 a b) |
y |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 a b) |
y |
y |
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 0) |
(+.f64 0 (*.f64 z (+.f64 (*.f64 a b) y))) |
(+.f64 (*.f64 (+.f64 (*.f64 a b) y) (*.f64 z 1/2)) (*.f64 (+.f64 (*.f64 a b) y) (*.f64 z 1/2))) |
(-.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 0) |
(/.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 1) |
(/.f64 (*.f64 z (*.f64 (+.f64 (*.f64 a b) y) 2)) 2) |
(/.f64 (*.f64 z (*.f64 (+.f64 (*.f64 a b) y) 4)) 4) |
(/.f64 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8)))) 64) |
(-.f64 (+.f64 (*.f64 a b) y) 0) |
(*.f64 (+.f64 (*.f64 a b) y) 1) |
(*.f64 1 (+.f64 (*.f64 a b) y)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 1/2)) |
(*.f64 2 (+.f64 (*.f64 y 1/2) (*.f64 a (*.f64 b 1/2)))) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) y) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (*.f64 a b) y) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) y) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a b) y) 2)) |
(*.f64 1/2 (+.f64 (*.f64 a (+.f64 b b)) (+.f64 y y))) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) y) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 a b) y) 4)) |
(*.f64 (/.f64 (+.f64 (*.f64 a b) y) 4) 4) |
(/.f64 (+.f64 (*.f64 a b) y) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) y) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) y) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) y) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 8)))) 64) |
| Outputs |
|---|
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(*.f64 a (*.f64 b z)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
y |
(*.f64 a b) |
(*.f64 a b) |
y |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 a b) |
y |
y |
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 0) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 0 (*.f64 z (+.f64 (*.f64 a b) y))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(+.f64 (*.f64 (+.f64 (*.f64 a b) y) (*.f64 z 1/2)) (*.f64 (+.f64 (*.f64 a b) y) (*.f64 z 1/2))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(-.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 0) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(/.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 1) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(/.f64 (*.f64 z (*.f64 (+.f64 (*.f64 a b) y) 2)) 2) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(/.f64 (*.f64 z (*.f64 (+.f64 (*.f64 a b) y) 4)) 4) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(/.f64 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8) 8) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(/.f64 (*.f64 2 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8)) 16) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8))) 32) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 8)))) 64) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 a b))) |
(*.f64 z (+.f64 y (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 a b) y) 0) |
(+.f64 y (*.f64 a b)) |
(*.f64 (+.f64 (*.f64 a b) y) 1) |
(+.f64 y (*.f64 a b)) |
(*.f64 1 (+.f64 (*.f64 a b) y)) |
(+.f64 y (*.f64 a b)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 1/2)) |
(+.f64 y (*.f64 a b)) |
(*.f64 2 (+.f64 (*.f64 y 1/2) (*.f64 a (*.f64 b 1/2)))) |
(+.f64 y (*.f64 a b)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) y) 2) 1/2) |
(+.f64 y (*.f64 a b)) |
(*.f64 4 (/.f64 (+.f64 (*.f64 a b) y) 4)) |
(+.f64 y (*.f64 a b)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) y) 4) 1/4) |
(+.f64 y (*.f64 a b)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a b) y) 2)) |
(+.f64 y (*.f64 a b)) |
(*.f64 1/2 (+.f64 (*.f64 a (+.f64 b b)) (+.f64 y y))) |
(+.f64 y (*.f64 a b)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) y) 1/2) 2) |
(+.f64 y (*.f64 a b)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 a b) y) 4)) |
(+.f64 y (*.f64 a b)) |
(*.f64 (/.f64 (+.f64 (*.f64 a b) y) 4) 4) |
(+.f64 y (*.f64 a b)) |
(/.f64 (+.f64 (*.f64 a b) y) 1) |
(+.f64 y (*.f64 a b)) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) y) 2) 2) |
(+.f64 y (*.f64 a b)) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) y) 4) 4) |
(+.f64 y (*.f64 a b)) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) y) 8) 8) |
(+.f64 y (*.f64 a b)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 8)) 16) |
(+.f64 y (*.f64 a b)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 8))) 32) |
(+.f64 y (*.f64 a b)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) y) 8)))) 64) |
(+.f64 y (*.f64 a b)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 5.3b | (*.f64 (*.f64 z a) b) |
Compiled 30 to 10 computations (66.7% saved)
Compiled 998 to 379 computations (62% saved)
12 alts after pruning (8 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 84 | 4 | 88 |
| Fresh | 0 | 4 | 4 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 3 | 4 |
| Total | 85 | 12 | 97 |
| Status | Error | Program |
|---|---|---|
| 32.4b | (+.f64 (*.f64 z y) (*.f64 a t)) | |
| ✓ | 24.1b | (+.f64 (*.f64 z y) x) |
| ▶ | 23.7b | (+.f64 (*.f64 t a) x) |
| ✓ | 40.8b | (+.f64 (*.f64 a t) (*.f64 (*.f64 z a) b)) |
| 32.5b | (+.f64 x (*.f64 (*.f64 z a) b)) | |
| ✓ | 39.9b | (*.f64 z (+.f64 (*.f64 a b) y)) |
| ▶ | 55.2b | (*.f64 z (*.f64 a b)) |
| ✓ | 47.2b | (*.f64 z y) |
| ▶ | 40.8b | (*.f64 a (+.f64 (*.f64 z b) t)) |
| ▶ | 55.9b | (*.f64 a (*.f64 z b)) |
| ▶ | 47.6b | (*.f64 a t) |
| 39.1b | x |
Compiled 217 to 156 computations (28.1% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 t a) x) |
Compiled 17 to 8 computations (52.9% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | t | @ | 0 | (+.f64 (*.f64 t a) x) |
| 0.0ms | t | @ | -inf | (+.f64 (*.f64 t a) x) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 t a) x) |
| 0.0ms | t | @ | inf | (+.f64 (*.f64 t a) x) |
| 0.0ms | a | @ | -inf | (+.f64 (*.f64 t a) x) |
| 1× | batch-egg-rewrite |
| 1618× | bool.json-1 |
| 1618× | bool.json-2 |
| 1586× | rational.json-1 |
| 1586× | rational.json-2 |
| 1586× | rational.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 70 | 13 |
| 2 | 196 | 13 |
| 3 | 417 | 13 |
| 4 | 861 | 13 |
| 5 | 1885 | 13 |
| 6 | 3899 | 13 |
| 7 | 6381 | 13 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 t a) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 t a) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 t a) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 t a) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 t (*.f64 a 1/2)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t a) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 t a) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t a) x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 t a) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 t (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t a) x) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 t a) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 t a) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 t a) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t a) x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t a) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t a) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 t a) x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 t a) x) (+.f64 (*.f64 t a) x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 t a) x) (+.f64 (*.f64 t a) x)))))) |
| 1× | egg-herbie |
| 5902× | rational.json-simplify-51 |
| 1986× | rational.json-simplify-35 |
| 1694× | rational.json-simplify-2 |
| 1294× | rational.json-simplify-1 |
| 1142× | rational.json-simplify-49 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 55 | 650 |
| 1 | 112 | 650 |
| 2 | 282 | 650 |
| 3 | 692 | 650 |
| 4 | 1113 | 650 |
| 5 | 2521 | 650 |
| 6 | 3369 | 650 |
| 7 | 3427 | 650 |
| 8 | 3457 | 650 |
| 9 | 3483 | 650 |
| 10 | 3509 | 650 |
| 11 | 3535 | 650 |
| 12 | 3584 | 650 |
| 13 | 3610 | 650 |
| 14 | 3636 | 650 |
| 15 | 3662 | 650 |
| 16 | 3688 | 650 |
| 17 | 3714 | 650 |
| 18 | 3740 | 650 |
| 19 | 4579 | 650 |
| 20 | 4945 | 650 |
| 21 | 4977 | 650 |
| 22 | 5007 | 650 |
| 23 | 5036 | 650 |
| 24 | 5065 | 650 |
| 25 | 5094 | 650 |
| 26 | 5123 | 650 |
| 27 | 5152 | 650 |
| 28 | 5181 | 650 |
| 29 | 5210 | 650 |
| 30 | 5239 | 650 |
| 31 | 5268 | 650 |
| 32 | 5297 | 650 |
| 33 | 5326 | 650 |
| 34 | 5355 | 650 |
| 35 | 5384 | 650 |
| 36 | 5413 | 650 |
| 37 | 5442 | 650 |
| 38 | 5471 | 650 |
| 39 | 5500 | 650 |
| 40 | 5500 | 650 |
| 1× | node limit |
| Inputs |
|---|
x |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(*.f64 a t) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(*.f64 a t) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
x |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(*.f64 a t) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(*.f64 a t) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(*.f64 a t) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
x |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
x |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(+.f64 (*.f64 a t) x) |
(-.f64 (+.f64 (*.f64 t a) x) 0) |
(*.f64 (+.f64 (*.f64 t a) x) 1) |
(*.f64 1 (+.f64 (*.f64 t a) x)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 1/2)) |
(*.f64 2 (+.f64 (*.f64 t (*.f64 a 1/2)) (*.f64 x 1/2))) |
(*.f64 (*.f64 (+.f64 (*.f64 t a) x) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (*.f64 t a) x) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 t a) x) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 t a) x) 2)) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 t (+.f64 a a)))) |
(*.f64 (*.f64 (+.f64 (*.f64 t a) x) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 t a) x) 4)) |
(*.f64 (/.f64 (+.f64 (*.f64 t a) x) 4) 4) |
(/.f64 (+.f64 (*.f64 t a) x) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 t a) x) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 t a) x) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 t a) x) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 8)))) 64) |
| Outputs |
|---|
x |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(*.f64 a t) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(*.f64 a t) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
x |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(*.f64 a t) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(*.f64 a t) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(*.f64 a t) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
x |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
x |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(+.f64 (*.f64 a t) x) |
(+.f64 x (*.f64 a t)) |
(-.f64 (+.f64 (*.f64 t a) x) 0) |
(+.f64 x (*.f64 a t)) |
(*.f64 (+.f64 (*.f64 t a) x) 1) |
(+.f64 x (*.f64 a t)) |
(*.f64 1 (+.f64 (*.f64 t a) x)) |
(+.f64 x (*.f64 a t)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 1/2)) |
(+.f64 x (*.f64 a t)) |
(*.f64 2 (+.f64 (*.f64 t (*.f64 a 1/2)) (*.f64 x 1/2))) |
(+.f64 x (*.f64 a t)) |
(*.f64 (*.f64 (+.f64 (*.f64 t a) x) 2) 1/2) |
(+.f64 x (*.f64 a t)) |
(*.f64 4 (/.f64 (+.f64 (*.f64 t a) x) 4)) |
(+.f64 x (*.f64 a t)) |
(*.f64 (*.f64 (+.f64 (*.f64 t a) x) 4) 1/4) |
(+.f64 x (*.f64 a t)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 t a) x) 2)) |
(+.f64 x (*.f64 a t)) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 t (+.f64 a a)))) |
(+.f64 x (*.f64 a t)) |
(*.f64 (*.f64 (+.f64 (*.f64 t a) x) 1/2) 2) |
(+.f64 x (*.f64 a t)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 t a) x) 4)) |
(+.f64 x (*.f64 a t)) |
(*.f64 (/.f64 (+.f64 (*.f64 t a) x) 4) 4) |
(+.f64 x (*.f64 a t)) |
(/.f64 (+.f64 (*.f64 t a) x) 1) |
(+.f64 x (*.f64 a t)) |
(/.f64 (*.f64 (+.f64 (*.f64 t a) x) 2) 2) |
(+.f64 x (*.f64 a t)) |
(/.f64 (*.f64 (+.f64 (*.f64 t a) x) 4) 4) |
(+.f64 x (*.f64 a t)) |
(/.f64 (*.f64 (+.f64 (*.f64 t a) x) 8) 8) |
(+.f64 x (*.f64 a t)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 8)) 16) |
(+.f64 x (*.f64 a t)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 8))) 32) |
(+.f64 x (*.f64 a t)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t a) x) 8)))) 64) |
(+.f64 x (*.f64 a t)) |
Compiled 11 to 7 computations (36.4% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 6.1b | (*.f64 a (*.f64 z b)) |
Compiled 17 to 8 computations (52.9% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a | @ | 0 | (*.f64 a (*.f64 z b)) |
| 0.0ms | z | @ | 0 | (*.f64 a (*.f64 z b)) |
| 0.0ms | b | @ | 0 | (*.f64 a (*.f64 z b)) |
| 0.0ms | a | @ | -inf | (*.f64 a (*.f64 z b)) |
| 0.0ms | a | @ | inf | (*.f64 a (*.f64 z b)) |
| 1× | batch-egg-rewrite |
| 1858× | bool.json-1 |
| 1858× | bool.json-2 |
| 1186× | rational.json-1 |
| 1186× | rational.json-2 |
| 1186× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 72 | 13 |
| 2 | 214 | 13 |
| 3 | 472 | 13 |
| 4 | 945 | 13 |
| 5 | 2102 | 13 |
| 6 | 4534 | 13 |
| 7 | 7541 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a (*.f64 z b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (*.f64 z b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a (*.f64 z b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (*.f64 z (*.f64 b 1/2))) (*.f64 a (*.f64 z (*.f64 b 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a (*.f64 z b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (*.f64 z b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (*.f64 z (+.f64 b b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 a (*.f64 b 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a (*.f64 z b)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 a (*.f64 z b)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 a (*.f64 z b)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 a (*.f64 z b)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 a (*.f64 z b)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 a (*.f64 z b))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 a (*.f64 z b)) (*.f64 a (*.f64 z b)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 a (*.f64 z b)) (*.f64 a (*.f64 z b))))))) |
| 1× | egg-herbie |
| 3720× | rational.json-simplify-35 |
| 2700× | rational.json-simplify-2 |
| 2412× | rational.json-simplify-53 |
| 1034× | rational.json-simplify-43 |
| 824× | rational.json-simplify-49 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 42 | 299 |
| 1 | 104 | 299 |
| 2 | 229 | 299 |
| 3 | 580 | 299 |
| 4 | 2452 | 299 |
| 5 | 3912 | 299 |
| 6 | 4625 | 299 |
| 7 | 4959 | 299 |
| 8 | 4964 | 299 |
| 9 | 4967 | 299 |
| 10 | 6031 | 299 |
| 11 | 6031 | 299 |
| 12 | 6031 | 299 |
| 13 | 6292 | 299 |
| 14 | 6553 | 299 |
| 15 | 6814 | 299 |
| 16 | 7075 | 299 |
| 17 | 7336 | 299 |
| 18 | 7336 | 299 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(+.f64 (*.f64 a (*.f64 z b)) 0) |
(+.f64 0 (*.f64 a (*.f64 z b))) |
(+.f64 (*.f64 a (*.f64 z (*.f64 b 1/2))) (*.f64 a (*.f64 z (*.f64 b 1/2)))) |
(-.f64 (*.f64 a (*.f64 z b)) 0) |
(/.f64 (*.f64 a (*.f64 z b)) 1) |
(/.f64 (*.f64 a (*.f64 z (+.f64 b b))) 2) |
(/.f64 (*.f64 z (*.f64 a (*.f64 b 4))) 4) |
(/.f64 (*.f64 (*.f64 a (*.f64 z b)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 a (*.f64 z b)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 a (*.f64 z b)) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 a (*.f64 z b)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 a (*.f64 z b)) 8)))) 64) |
| Outputs |
|---|
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(+.f64 (*.f64 a (*.f64 z b)) 0) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(+.f64 0 (*.f64 a (*.f64 z b))) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(+.f64 (*.f64 a (*.f64 z (*.f64 b 1/2))) (*.f64 a (*.f64 z (*.f64 b 1/2)))) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(-.f64 (*.f64 a (*.f64 z b)) 0) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (*.f64 a (*.f64 z b)) 1) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (*.f64 a (*.f64 z (+.f64 b b))) 2) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (*.f64 z (*.f64 a (*.f64 b 4))) 4) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (*.f64 (*.f64 a (*.f64 z b)) 8) 8) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 a (*.f64 z b)) 8)) 16) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 a (*.f64 z b)) 8))) 32) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 a (*.f64 z b)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 a (*.f64 z b)) 8)))) 64) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 3.6b | (*.f64 z (*.f64 a b)) |
Compiled 17 to 8 computations (52.9% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | -inf | (*.f64 z (*.f64 a b)) |
| 0.0ms | z | @ | 0 | (*.f64 z (*.f64 a b)) |
| 0.0ms | z | @ | inf | (*.f64 z (*.f64 a b)) |
| 0.0ms | a | @ | inf | (*.f64 z (*.f64 a b)) |
| 0.0ms | b | @ | -inf | (*.f64 z (*.f64 a b)) |
| 1× | batch-egg-rewrite |
| 1858× | bool.json-1 |
| 1858× | bool.json-2 |
| 1186× | rational.json-1 |
| 1186× | rational.json-2 |
| 1186× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 72 | 13 |
| 2 | 214 | 13 |
| 3 | 472 | 13 |
| 4 | 945 | 13 |
| 5 | 2102 | 13 |
| 6 | 4534 | 13 |
| 7 | 7541 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (*.f64 a b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 a (*.f64 b 1/2))) (*.f64 z (*.f64 a (*.f64 b 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 a (+.f64 b b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (*.f64 z (*.f64 b 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z (*.f64 a b)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 z (*.f64 a b)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (*.f64 a b)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (*.f64 a b)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (*.f64 a b)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 z (*.f64 a b)) (*.f64 z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 z (*.f64 a b)) (*.f64 z (*.f64 a b))))))) |
| 1× | egg-herbie |
| 3766× | rational.json-simplify-35 |
| 2962× | rational.json-simplify-2 |
| 2754× | rational.json-simplify-53 |
| 1116× | rational.json-simplify-43 |
| 858× | rational.json-simplify-49 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 44 | 611 |
| 1 | 107 | 611 |
| 2 | 238 | 611 |
| 3 | 608 | 611 |
| 4 | 2582 | 611 |
| 5 | 4068 | 611 |
| 6 | 4763 | 611 |
| 7 | 5098 | 611 |
| 8 | 5103 | 611 |
| 9 | 5106 | 611 |
| 10 | 6272 | 611 |
| 11 | 6272 | 611 |
| 12 | 6272 | 611 |
| 13 | 6538 | 611 |
| 14 | 6804 | 611 |
| 15 | 7070 | 611 |
| 16 | 7336 | 611 |
| 17 | 7602 | 611 |
| 18 | 7602 | 611 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(+.f64 (*.f64 z (*.f64 a b)) 0) |
(+.f64 0 (*.f64 z (*.f64 a b))) |
(+.f64 (*.f64 z (*.f64 a (*.f64 b 1/2))) (*.f64 z (*.f64 a (*.f64 b 1/2)))) |
(-.f64 (*.f64 z (*.f64 a b)) 0) |
(/.f64 (*.f64 z (*.f64 a b)) 1) |
(/.f64 (*.f64 z (*.f64 a (+.f64 b b))) 2) |
(/.f64 (*.f64 a (*.f64 z (*.f64 b 4))) 4) |
(/.f64 (*.f64 (*.f64 z (*.f64 a b)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 z (*.f64 a b)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (*.f64 a b)) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (*.f64 a b)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (*.f64 a b)) 8)))) 64) |
| Outputs |
|---|
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 z (*.f64 a b)) 0) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(+.f64 0 (*.f64 z (*.f64 a b))) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 z (*.f64 a (*.f64 b 1/2))) (*.f64 z (*.f64 a (*.f64 b 1/2)))) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(-.f64 (*.f64 z (*.f64 a b)) 0) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(/.f64 (*.f64 z (*.f64 a b)) 1) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(/.f64 (*.f64 z (*.f64 a (+.f64 b b))) 2) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(/.f64 (*.f64 a (*.f64 z (*.f64 b 4))) 4) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(/.f64 (*.f64 (*.f64 z (*.f64 a b)) 8) 8) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 z (*.f64 a b)) 8)) 16) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (*.f64 a b)) 8))) 32) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (*.f64 a b)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (*.f64 a b)) 8)))) 64) |
(*.f64 a (*.f64 z b)) |
(*.f64 z (*.f64 a b)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 2.7b | (*.f64 a (+.f64 (*.f64 z b) t)) |
Compiled 25 to 9 computations (64% saved)
Compiled 669 to 291 computations (56.5% saved)
12 alts after pruning (3 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 70 | 1 | 71 |
| Fresh | 1 | 2 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 8 | 8 |
| Total | 71 | 12 | 83 |
| Status | Error | Program |
|---|---|---|
| ▶ | 32.4b | (+.f64 (*.f64 z y) (*.f64 a t)) |
| ✓ | 24.1b | (+.f64 (*.f64 z y) x) |
| ✓ | 23.7b | (+.f64 (*.f64 t a) x) |
| ✓ | 40.8b | (+.f64 (*.f64 a t) (*.f64 (*.f64 z a) b)) |
| ✓ | 39.9b | (*.f64 z (+.f64 (*.f64 a b) y)) |
| ✓ | 55.2b | (*.f64 z (*.f64 a b)) |
| ✓ | 47.2b | (*.f64 z y) |
| ▶ | 55.1b | (*.f64 b (*.f64 z a)) |
| ✓ | 40.8b | (*.f64 a (+.f64 (*.f64 z b) t)) |
| ✓ | 55.9b | (*.f64 a (*.f64 z b)) |
| ✓ | 47.6b | (*.f64 a t) |
| 39.1b | x |
Compiled 134 to 97 computations (27.6% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 5.3b | (*.f64 b (*.f64 z a)) |
Compiled 17 to 8 computations (52.9% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | b | @ | 0 | (*.f64 b (*.f64 z a)) |
| 0.0ms | b | @ | inf | (*.f64 b (*.f64 z a)) |
| 0.0ms | b | @ | -inf | (*.f64 b (*.f64 z a)) |
| 0.0ms | z | @ | -inf | (*.f64 b (*.f64 z a)) |
| 0.0ms | a | @ | -inf | (*.f64 b (*.f64 z a)) |
| 1× | batch-egg-rewrite |
| 1858× | bool.json-1 |
| 1858× | bool.json-2 |
| 1186× | rational.json-1 |
| 1186× | rational.json-2 |
| 1186× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 72 | 13 |
| 2 | 214 | 13 |
| 3 | 472 | 13 |
| 4 | 945 | 13 |
| 5 | 2102 | 13 |
| 6 | 4534 | 13 |
| 7 | 7541 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 b (*.f64 z a)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b (*.f64 z a)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 b (*.f64 z a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b (*.f64 z (*.f64 a 1/2))) (*.f64 b (*.f64 z (*.f64 a 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 b (*.f64 z a)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (*.f64 z a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (*.f64 z (+.f64 a a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 b (*.f64 a 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 b (*.f64 z a)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 b (*.f64 z a)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 b (*.f64 z a)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 b (*.f64 z a)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 b (*.f64 z a)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 b (*.f64 z a))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 b (*.f64 z a)) (*.f64 b (*.f64 z a)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 b (*.f64 z a)) (*.f64 b (*.f64 z a))))))) |
| 1× | egg-herbie |
| 3874× | rational.json-simplify-35 |
| 2992× | rational.json-simplify-2 |
| 2628× | rational.json-simplify-53 |
| 1142× | rational.json-simplify-43 |
| 878× | rational.json-simplify-49 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 44 | 611 |
| 1 | 109 | 611 |
| 2 | 239 | 611 |
| 3 | 608 | 611 |
| 4 | 2626 | 611 |
| 5 | 4136 | 611 |
| 6 | 4870 | 611 |
| 7 | 5210 | 611 |
| 8 | 5215 | 611 |
| 9 | 5218 | 611 |
| 10 | 6403 | 611 |
| 11 | 6403 | 611 |
| 12 | 6403 | 611 |
| 13 | 6672 | 611 |
| 14 | 6941 | 611 |
| 15 | 7210 | 611 |
| 16 | 7479 | 611 |
| 17 | 7748 | 611 |
| 18 | 7748 | 611 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 z b)) |
(+.f64 (*.f64 b (*.f64 z a)) 0) |
(+.f64 0 (*.f64 b (*.f64 z a))) |
(+.f64 (*.f64 b (*.f64 z (*.f64 a 1/2))) (*.f64 b (*.f64 z (*.f64 a 1/2)))) |
(-.f64 (*.f64 b (*.f64 z a)) 0) |
(/.f64 (*.f64 b (*.f64 z a)) 1) |
(/.f64 (*.f64 b (*.f64 z (+.f64 a a))) 2) |
(/.f64 (*.f64 z (*.f64 b (*.f64 a 4))) 4) |
(/.f64 (*.f64 (*.f64 b (*.f64 z a)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 b (*.f64 z a)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 b (*.f64 z a)) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 b (*.f64 z a)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 b (*.f64 z a)) 8)))) 64) |
| Outputs |
|---|
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(*.f64 a (*.f64 z b)) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(+.f64 (*.f64 b (*.f64 z a)) 0) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(+.f64 0 (*.f64 b (*.f64 z a))) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(+.f64 (*.f64 b (*.f64 z (*.f64 a 1/2))) (*.f64 b (*.f64 z (*.f64 a 1/2)))) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(-.f64 (*.f64 b (*.f64 z a)) 0) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (*.f64 b (*.f64 z a)) 1) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (*.f64 b (*.f64 z (+.f64 a a))) 2) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (*.f64 z (*.f64 b (*.f64 a 4))) 4) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (*.f64 (*.f64 b (*.f64 z a)) 8) 8) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 b (*.f64 z a)) 8)) 16) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 b (*.f64 z a)) 8))) 32) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 b (*.f64 z a)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 b (*.f64 z a)) 8)))) 64) |
(*.f64 a (*.f64 b z)) |
(*.f64 b (*.f64 a z)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 z y) (*.f64 a t)) |
Compiled 23 to 9 computations (60.9% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | 0 | (+.f64 (*.f64 z y) (*.f64 a t)) |
| 0.0ms | a | @ | -inf | (+.f64 (*.f64 z y) (*.f64 a t)) |
| 0.0ms | z | @ | inf | (+.f64 (*.f64 z y) (*.f64 a t)) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 z y) (*.f64 a t)) |
| 0.0ms | t | @ | -inf | (+.f64 (*.f64 z y) (*.f64 a t)) |
| 1× | batch-egg-rewrite |
| 1950× | bool.json-1 |
| 1344× | rational.json-simplify-35 |
| 1218× | bool.json-2 |
| 1188× | rational.json-1 |
| 1188× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 89 | 19 |
| 2 | 235 | 19 |
| 3 | 492 | 19 |
| 4 | 1018 | 19 |
| 5 | 2251 | 19 |
| 6 | 4657 | 19 |
| 7 | 7659 | 19 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 z y) (*.f64 a t)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 z y) (*.f64 a t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 t (*.f64 a 1/2)) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 a (+.f64 t t)) (*.f64 z (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 z y) (*.f64 a t))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 z y) (*.f64 a t)) (+.f64 (*.f64 z y) (*.f64 a t)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 z y) (*.f64 a t)) (+.f64 (*.f64 z y) (*.f64 a t))))))) |
| 1× | egg-herbie |
| 5874× | rational.json-simplify-51 |
| 1976× | rational.json-simplify-35 |
| 1706× | rational.json-simplify-2 |
| 1166× | rational.json-simplify-1 |
| 1098× | rational.json-simplify-49 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 59 | 1148 |
| 1 | 121 | 1148 |
| 2 | 290 | 1148 |
| 3 | 705 | 1148 |
| 4 | 1115 | 1148 |
| 5 | 2427 | 1148 |
| 6 | 3207 | 1148 |
| 7 | 3263 | 1148 |
| 8 | 3293 | 1148 |
| 9 | 3319 | 1148 |
| 10 | 3345 | 1148 |
| 11 | 3371 | 1148 |
| 12 | 3420 | 1148 |
| 13 | 3446 | 1148 |
| 14 | 3472 | 1148 |
| 15 | 3498 | 1148 |
| 16 | 3524 | 1148 |
| 17 | 3550 | 1148 |
| 18 | 3576 | 1148 |
| 19 | 4381 | 1148 |
| 20 | 4761 | 1148 |
| 21 | 4793 | 1148 |
| 22 | 4823 | 1148 |
| 23 | 4852 | 1148 |
| 24 | 4881 | 1148 |
| 25 | 4910 | 1148 |
| 26 | 4939 | 1148 |
| 27 | 4968 | 1148 |
| 28 | 4997 | 1148 |
| 29 | 5026 | 1148 |
| 30 | 5055 | 1148 |
| 31 | 5084 | 1148 |
| 32 | 5113 | 1148 |
| 33 | 5142 | 1148 |
| 34 | 5171 | 1148 |
| 35 | 5200 | 1148 |
| 36 | 5229 | 1148 |
| 37 | 5258 | 1148 |
| 38 | 5287 | 1148 |
| 39 | 5316 | 1148 |
| 40 | 5316 | 1148 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a t) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(-.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 0) |
(*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 1) |
(*.f64 1 (+.f64 (*.f64 z y) (*.f64 a t))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 1/2)) |
(*.f64 2 (+.f64 (*.f64 t (*.f64 a 1/2)) (*.f64 y (*.f64 z 1/2)))) |
(*.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 2)) |
(*.f64 1/2 (+.f64 (*.f64 a (+.f64 t t)) (*.f64 z (+.f64 y y)))) |
(*.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4)) |
(*.f64 (/.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4) 4) |
(/.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8)))) 64) |
| Outputs |
|---|
(*.f64 a t) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 a t) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(-.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 0) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 1) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 1 (+.f64 (*.f64 z y) (*.f64 a t))) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 1/2)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 2 (+.f64 (*.f64 t (*.f64 a 1/2)) (*.f64 y (*.f64 z 1/2)))) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 2) 1/2) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 4 (/.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4) 1/4) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 2)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 1/2 (+.f64 (*.f64 a (+.f64 t t)) (*.f64 z (+.f64 y y)))) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 1/2) 2) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4)) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(*.f64 (/.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4) 4) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(/.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 1) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(/.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 2) 2) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(/.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 4) 4) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(/.f64 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8) 8) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8)) 16) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8))) 32) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 z y) (*.f64 a t)) 8)))) 64) |
(+.f64 (*.f64 a t) (*.f64 y z)) |
Compiled 400 to 178 computations (55.5% saved)
12 alts after pruning (1 fresh and 11 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 38 | 0 | 38 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 10 | 10 |
| Total | 38 | 12 | 50 |
| Status | Error | Program |
|---|---|---|
| ✓ | 32.4b | (+.f64 (*.f64 z y) (*.f64 a t)) |
| ✓ | 24.1b | (+.f64 (*.f64 z y) x) |
| ✓ | 23.7b | (+.f64 (*.f64 t a) x) |
| ✓ | 40.8b | (+.f64 (*.f64 a t) (*.f64 (*.f64 z a) b)) |
| ✓ | 39.9b | (*.f64 z (+.f64 (*.f64 a b) y)) |
| ✓ | 55.2b | (*.f64 z (*.f64 a b)) |
| ✓ | 47.2b | (*.f64 z y) |
| ✓ | 55.1b | (*.f64 b (*.f64 z a)) |
| ✓ | 40.8b | (*.f64 a (+.f64 (*.f64 z b) t)) |
| ✓ | 55.9b | (*.f64 a (*.f64 z b)) |
| ✓ | 47.6b | (*.f64 a t) |
| 39.1b | x |
Compiled 134 to 97 computations (27.6% saved)
| Inputs |
|---|
x |
(*.f64 a t) |
(*.f64 z y) |
(*.f64 a (*.f64 z b)) |
(*.f64 b (*.f64 z a)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 t a) x) |
(+.f64 (*.f64 z y) x) |
(*.f64 a (+.f64 (*.f64 z b) t)) |
(*.f64 z (+.f64 (*.f64 a b) y)) |
(+.f64 x (*.f64 (*.f64 z a) b)) |
(+.f64 (*.f64 z y) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 (*.f64 z a) b)) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 z a) b)) |
| Outputs |
|---|
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
7 calls:
| 24.0ms | b |
| 24.0ms | a |
| 16.0ms | (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
| 9.0ms | x |
| 8.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 2.8b | 1 | x |
| 2.8b | 1 | y |
| 2.8b | 1 | z |
| 2.8b | 1 | t |
| 0.3b | 3 | a |
| 0.5b | 3 | b |
| 1.2b | 2 | (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) |
Compiled 190 to 82 computations (56.8% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 7.0ms | 3.4377927686279806e-117 | 1.5137369997998983e-112 |
| 6.0ms | -7.811362500041568e-192 | -4.707700967019963e-199 |
| 12.0ms | 96× | body | 256 | valid |
| 0.0ms | 1× | body | 256 | infinite |
Compiled 282 to 183 computations (35.1% saved)
| Inputs |
|---|
x |
(*.f64 a t) |
(*.f64 z y) |
(*.f64 a (*.f64 z b)) |
(*.f64 b (*.f64 z a)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 t a) x) |
(+.f64 (*.f64 z y) x) |
(*.f64 a (+.f64 (*.f64 z b) t)) |
(*.f64 z (+.f64 (*.f64 a b) y)) |
(+.f64 x (*.f64 (*.f64 z a) b)) |
(+.f64 (*.f64 z y) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 (*.f64 z a) b)) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
| Outputs |
|---|
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
6 calls:
| 9.0ms | x |
| 9.0ms | z |
| 8.0ms | a |
| 7.0ms | b |
| 7.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 2.8b | 1 | x |
| 2.8b | 1 | y |
| 2.8b | 1 | z |
| 2.8b | 1 | t |
| 2.8b | 1 | a |
| 2.8b | 1 | b |
Compiled 139 to 65 computations (53.2% saved)
| Inputs |
|---|
x |
(*.f64 a t) |
(*.f64 z y) |
(*.f64 a (*.f64 z b)) |
(*.f64 b (*.f64 z a)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 t a) x) |
(+.f64 (*.f64 z y) x) |
(*.f64 a (+.f64 (*.f64 z b) t)) |
(*.f64 z (+.f64 (*.f64 a b) y)) |
(+.f64 x (*.f64 (*.f64 z a) b)) |
(+.f64 (*.f64 z y) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 (*.f64 z a) b)) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) |
| Outputs |
|---|
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) |
(+.f64 (*.f64 a t) (*.f64 (*.f64 z a) b)) |
6 calls:
| 15.0ms | b |
| 9.0ms | t |
| 9.0ms | x |
| 7.0ms | y |
| 7.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 8.6b | 1 | x |
| 8.6b | 1 | y |
| 8.6b | 1 | z |
| 8.6b | 1 | t |
| 8.6b | 1 | a |
| 7.2b | 2 | b |
Compiled 126 to 64 computations (49.2% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 20.0ms | 1.1781383625580926e+155 | 6.601160302316619e+160 |
| 17.0ms | 144× | body | 256 | valid |
| 2.0ms | 16× | body | 256 | infinite |
Compiled 318 to 219 computations (31.1% saved)
| Inputs |
|---|
x |
(*.f64 a t) |
(*.f64 z y) |
(*.f64 a (*.f64 z b)) |
(*.f64 b (*.f64 z a)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 t a) x) |
(+.f64 (*.f64 z y) x) |
(*.f64 a (+.f64 (*.f64 z b) t)) |
(*.f64 z (+.f64 (*.f64 a b) y)) |
(+.f64 x (*.f64 (*.f64 z a) b)) |
(+.f64 (*.f64 z y) (*.f64 a t)) |
(+.f64 (*.f64 a t) (*.f64 (*.f64 z a) b)) |
| Outputs |
|---|
(+.f64 (*.f64 t a) x) |
(*.f64 z (+.f64 (*.f64 a b) y)) |
(+.f64 (*.f64 z y) (*.f64 a t)) |
(+.f64 (*.f64 z y) x) |
(+.f64 (*.f64 z y) (*.f64 a t)) |
(+.f64 x (*.f64 (*.f64 z a) b)) |
(+.f64 (*.f64 t a) x) |
6 calls:
| 198.0ms | a |
| 125.0ms | z |
| 72.0ms | t |
| 63.0ms | y |
| 55.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 10.7b | 7 | x |
| 12.3b | 9 | y |
| 14.8b | 5 | z |
| 13.4b | 5 | t |
| 16.1b | 7 | a |
| 13.9b | 9 | b |
Compiled 117 to 61 computations (47.9% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 3.572028632207517e+90 | 1.5249598829488862e+93 |
| 96.0ms | 1.6019915870366402e+78 | 1.1959509132713319e+85 |
| 19.0ms | 3.569644897672022e-15 | 0.01183020906810694 |
| 87.0ms | 1.2946194218080378e-40 | 3.2815153730071997e-40 |
| 14.0ms | -5.81295374138228e-41 | -2.9730330324345035e-42 |
| 12.0ms | -3.832271553021866e+84 | -3.909396841249911e+83 |
| 158.0ms | 720× | body | 256 | valid |
Compiled 1232 to 892 computations (27.6% saved)
| Inputs |
|---|
x |
(*.f64 a t) |
(*.f64 z y) |
(*.f64 a (*.f64 z b)) |
(*.f64 b (*.f64 z a)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 t a) x) |
(+.f64 (*.f64 z y) x) |
(*.f64 a (+.f64 (*.f64 z b) t)) |
(*.f64 z (+.f64 (*.f64 a b) y)) |
(+.f64 x (*.f64 (*.f64 z a) b)) |
| Outputs |
|---|
(+.f64 (*.f64 t a) x) |
(*.f64 z (+.f64 (*.f64 a b) y)) |
(+.f64 (*.f64 t a) x) |
(*.f64 z (+.f64 (*.f64 a b) y)) |
(*.f64 a (+.f64 (*.f64 z b) t)) |
(*.f64 z (+.f64 (*.f64 a b) y)) |
(+.f64 (*.f64 t a) x) |
6 calls:
| 145.0ms | x |
| 133.0ms | b |
| 129.0ms | a |
| 120.0ms | y |
| 51.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 12.3b | 7 | x |
| 13.3b | 8 | y |
| 16.1b | 3 | z |
| 13.4b | 5 | t |
| 18.3b | 3 | a |
| 14.2b | 9 | b |
Compiled 101 to 59 computations (41.6% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 94.0ms | 1.3758023266900438e-58 | 4.378123445469184e-58 |
| 69.0ms | 9.769758836697115e-161 | 1.779655087590666e-159 |
| 16.0ms | 9.013527890698751e-303 | 2.188227865388196e-299 |
| 114.0ms | -9.420143514350303e-157 | -1.2438539257165623e-158 |
| 16.0ms | -1.6417882231711085e-84 | -2.9374871112522093e-89 |
| 53.0ms | -3.832271553021866e+84 | -3.909396841249911e+83 |
| 299.0ms | 656× | body | 256 | valid |
Compiled 1126 to 815 computations (27.6% saved)
| Inputs |
|---|
x |
(*.f64 a t) |
(*.f64 z y) |
(*.f64 a (*.f64 z b)) |
(*.f64 b (*.f64 z a)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 t a) x) |
(+.f64 (*.f64 z y) x) |
(*.f64 a (+.f64 (*.f64 z b) t)) |
| Outputs |
|---|
(+.f64 (*.f64 z y) x) |
(+.f64 (*.f64 t a) x) |
(+.f64 (*.f64 z y) x) |
(*.f64 a (+.f64 (*.f64 z b) t)) |
(+.f64 (*.f64 t a) x) |
(+.f64 (*.f64 z y) x) |
(+.f64 (*.f64 t a) x) |
(+.f64 (*.f64 z y) x) |
6 calls:
| 1.1s | x |
| 972.0ms | t |
| 172.0ms | y |
| 135.0ms | z |
| 102.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 14.3b | 8 | x |
| 13.3b | 8 | y |
| 16.5b | 3 | z |
| 13.4b | 5 | t |
| 18.3b | 3 | a |
| 14.7b | 8 | b |
Compiled 87 to 55 computations (36.8% saved)
| 7× | binary-search |
| Time | Left | Right |
|---|---|---|
| 20.0ms | 2.26656117013259e+20 | 3.3068535836798335e+28 |
| 210.0ms | 1.183292103296651e-34 | 9.546518602106783e-33 |
| 17.0ms | 7.831416653967921e-134 | 3.171209996545145e-127 |
| 16.0ms | -1.4705265938228968e-14 | -1.72491653621287e-18 |
| 104.0ms | -6.512716361801812e+76 | -5.913644477186814e+75 |
| 26.0ms | -6.87789959076739e+129 | -6.985264943656486e+118 |
| 24.0ms | -1.3445125466208141e+175 | -1.2746634947352709e+169 |
| 200.0ms | 928× | body | 256 | valid |
| 10.0ms | 77× | body | 256 | infinite |
Compiled 1450 to 1079 computations (25.6% saved)
| Inputs |
|---|
x |
(*.f64 a t) |
(*.f64 z y) |
(*.f64 a (*.f64 z b)) |
(*.f64 b (*.f64 z a)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 t a) x) |
(+.f64 (*.f64 z y) x) |
| Outputs |
|---|
(+.f64 (*.f64 z y) x) |
(+.f64 (*.f64 t a) x) |
(+.f64 (*.f64 z y) x) |
(+.f64 (*.f64 t a) x) |
(+.f64 (*.f64 z y) x) |
6 calls:
| 669.0ms | z |
| 80.0ms | a |
| 31.0ms | x |
| 28.0ms | b |
| 23.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 16.5b | 6 | x |
| 14.5b | 5 | y |
| 16.5b | 3 | z |
| 14.7b | 3 | t |
| 18.3b | 3 | a |
| 17.2b | 6 | b |
Compiled 80 to 53 computations (33.8% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 20.0ms | 2.26656117013259e+20 | 3.3068535836798335e+28 |
| 28.0ms | 1.183292103296651e-34 | 9.546518602106783e-33 |
| 18.0ms | 7.831416653967921e-134 | 3.171209996545145e-127 |
| 117.0ms | -1.3445125466208141e+175 | -1.2746634947352709e+169 |
| 172.0ms | 544× | body | 256 | valid |
| 4.0ms | 38× | body | 256 | infinite |
Compiled 846 to 633 computations (25.2% saved)
| Inputs |
|---|
x |
(*.f64 a t) |
(*.f64 z y) |
(*.f64 a (*.f64 z b)) |
(*.f64 b (*.f64 z a)) |
(*.f64 z (*.f64 a b)) |
(+.f64 (*.f64 t a) x) |
| Outputs |
|---|
(+.f64 (*.f64 t a) x) |
(*.f64 z y) |
(+.f64 (*.f64 t a) x) |
(*.f64 z y) |
(+.f64 (*.f64 t a) x) |
(*.f64 z y) |
(+.f64 (*.f64 t a) x) |
6 calls:
| 94.0ms | b |
| 34.0ms | x |
| 23.0ms | z |
| 15.0ms | y |
| 14.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 17.0b | 7 | x |
| 21.4b | 2 | y |
| 20.6b | 5 | z |
| 22.5b | 3 | t |
| 23.7b | 1 | a |
| 22.6b | 2 | b |
Compiled 75 to 52 computations (30.7% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 10.0ms | 1.3758023266900438e-58 | 4.378123445469184e-58 |
| 17.0ms | 9.769758836697115e-161 | 1.779655087590666e-159 |
| 11.0ms | 1.9195267051965732e-296 | 5.05725577795908e-296 |
| 58.0ms | -6.23998243079174e-176 | -2.4697453845829474e-183 |
| 21.0ms | -7.436013141871941e-69 | -1.2776671561942532e-78 |
| 20.0ms | -5475696339147.536 | -10889076.52624907 |
| 128.0ms | 720× | body | 256 | valid |
Compiled 1020 to 786 computations (22.9% saved)
| Inputs |
|---|
x |
(*.f64 a t) |
(*.f64 z y) |
(*.f64 a (*.f64 z b)) |
(*.f64 b (*.f64 z a)) |
(*.f64 z (*.f64 a b)) |
| Outputs |
|---|
x |
(*.f64 z y) |
(*.f64 a t) |
(*.f64 z y) |
(*.f64 a t) |
(*.f64 z y) |
x |
6 calls:
| 106.0ms | y |
| 81.0ms | x |
| 46.0ms | z |
| 33.0ms | a |
| 29.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 23.8b | 7 | x |
| 30.3b | 8 | y |
| 30.1b | 11 | z |
| 31.7b | 4 | t |
| 33.9b | 7 | a |
| 32.1b | 7 | b |
Compiled 70 to 50 computations (28.6% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 10.0ms | 1.2946194218080378e-40 | 3.2815153730071997e-40 |
| 17.0ms | 9.769758836697115e-161 | 1.779655087590666e-159 |
| 10.0ms | 1.9195267051965732e-296 | 5.05725577795908e-296 |
| 24.0ms | -1.0092706358099184e-169 | -6.23998243079174e-176 |
| 20.0ms | -7.436013141871941e-69 | -1.2776671561942532e-78 |
| 20.0ms | -1.066331646156207e+73 | -2.220512139418284e+62 |
| 92.0ms | 736× | body | 256 | valid |
Compiled 920 to 742 computations (19.3% saved)
Total -32.0b remaining (-104.9%)
Threshold costs -32.0b (-104.9%)
| Inputs |
|---|
x |
(*.f64 a t) |
| Outputs |
|---|
x |
(*.f64 a t) |
x |
6 calls:
| 25.0ms | y |
| 20.0ms | z |
| 20.0ms | b |
| 18.0ms | a |
| 11.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 30.5b | 3 | x |
| 33.8b | 9 | y |
| 35.1b | 7 | z |
| 32.9b | 3 | t |
| 34.9b | 5 | a |
| 34.4b | 7 | b |
Compiled 52 to 43 computations (17.3% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 10.0ms | 1.2946194218080378e-40 | 3.2815153730071997e-40 |
| 20.0ms | -1.3436705192669588e+26 | -5475696339147.536 |
| 27.0ms | 240× | body | 256 | valid |
Compiled 300 to 246 computations (18% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 154 | 1089 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(if (<=.f64 a -4109481173084667/41094811730846668025320233460001005199612029709556045777330319555224469955445943922763019814668659775210804444188892325882964314454560967680686052895717819140275184930690973423372373108471271228681978529185792) (+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) (if (<=.f64 a 2772669694120815/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) (+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))))) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
(if (<=.f64 b 88000000000000004632772996976793837798494849641315348115527417465042999761880041567074230553597336071581747720186709417480011493135792831216792411198627774464) (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (+.f64 (*.f64 a t) (*.f64 (*.f64 z a) b))) |
(if (<=.f64 x -400000000000000012322665292386102763108100816030573385384358976277655941165325746176) (+.f64 (*.f64 t a) x) (if (<=.f64 x -41377379603379/1532495540865888858358347027150309183618739122183602176) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x 3984488406251311/12259964326927110866866776217202473468949912977468817408) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 6653927711158919/154742504910672534362390528) (+.f64 (*.f64 z y) x) (if (<=.f64 x 12200000000000000227035023290104829470638901771906167387624178975492612003201024) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 3599999999999999924574090633996679016703085952451165815910416310328892447487683983562506240) (+.f64 x (*.f64 (*.f64 z a) b)) (+.f64 (*.f64 t a) x))))))) |
(if (<=.f64 x -820000000000000017173479849246318725971502146756786237946792574607022935057834704896) (+.f64 (*.f64 t a) x) (if (<=.f64 x -6474262145357715/34996011596528190789960035633881941845650710894291398982812329702559247987190014771576210832368861184) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x -6569713789129339/7729075046034516689390703781863974688597854659412869997314470502903038284579120849072387533163845155924927232063004354354730157322085975311485817346934161497393961629646848) (+.f64 (*.f64 t a) x) (if (<=.f64 x 7479750934274947/48256457640483526790736996345261885416402018013988046254372920519692978755949818346967788625106125949665803400115206697318508323999832505432847356782135608177546840733663168278805472312472633443174306792848764674320699568611310171751523817932405366025164140823449795139392236379439950593039113881265164914919783530496) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x 7123115562425411/15829145694278690179872161345257420162248406342477557754500035589945422406818039498900249667919554879334250971265032917718487362195632077437922953926521162746662833417516744704) (*.f64 a (+.f64 (*.f64 z b) t)) (if (<=.f64 x 8198170380571703/28269553036454149273332760011886696253239742350009903329945699220681916416) (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 t a) x))))))) |
(if (<=.f64 y -13199999999999999462153730067172191712660367812026529232658490769271482979523804241703240862103840922702929574888606175727916281399622800215135922569993466411767107158016) (+.f64 (*.f64 z y) x) (if (<=.f64 y -9800000000000000015237690353756876941571565496969265682322830178470241786095882551017890275550314915148674055579809186591014912) (+.f64 (*.f64 t a) x) (if (<=.f64 y -6200000000000000227495312104254300431088469179230806972964680160325201297408) (+.f64 (*.f64 z y) x) (if (<=.f64 y -2139160387885137/158456325028528675187087900672) (*.f64 a (+.f64 (*.f64 z b) t)) (if (<=.f64 y 4633845504375301/24388660549343689307668728357759111763660922989570087116087163747073216709529418907189891430183531024686147899385989241370687309994439728955392) (+.f64 (*.f64 t a) x) (if (<=.f64 y 63940696633227/11417981541647679048466287755595961091061972992) (+.f64 (*.f64 z y) x) (if (<=.f64 y 3800000000000000215419453440) (+.f64 (*.f64 t a) x) (+.f64 (*.f64 z y) x)))))))) |
(if (<=.f64 y -12999999999999999978174428473070988034211915201459692709412370477024694514817437651744253503342683363339032845227545009809003087230160744672250636316909093679530067886080) (+.f64 (*.f64 z y) x) (if (<=.f64 y 1487708293509965/12194330274671844653834364178879555881830461494785043558043581873536608354764709453594945715091765512343073949692994620685343654997219864477696) (+.f64 (*.f64 t a) x) (if (<=.f64 y 1549191735570757/2923003274661805836407369665432566039311865085952) (+.f64 (*.f64 z y) x) (if (<=.f64 y 249999999999999995805696) (+.f64 (*.f64 t a) x) (+.f64 (*.f64 z y) x))))) |
(if (<=.f64 x -11000000) (+.f64 (*.f64 t a) x) (if (<=.f64 x -2875149960494079/7770675568902916283677847627294075626569627356208558085007249638955617140820833992704) (*.f64 z y) (if (<=.f64 x -5547927791028589/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (+.f64 (*.f64 t a) x) (if (<=.f64 x 517735622840347/11505236063118821809467553221049758295155052665230762065499525194094891251552061640493342548634082305351687288311769174890162545204122663839542235560926343960177145179191391057683342054479750023644997308933440369205641643669917624414330439074612943178454432683813523087356623740062701843509462805095950344781824) (*.f64 z y) (if (<=.f64 x 6173366820768689/15829145694278690179872161345257420162248406342477557754500035589945422406818039498900249667919554879334250971265032917718487362195632077437922953926521162746662833417516744704) (+.f64 (*.f64 t a) x) (if (<=.f64 x 3957737425103581/28269553036454149273332760011886696253239742350009903329945699220681916416) (*.f64 z y) (+.f64 (*.f64 t a) x))))))) |
(if (<=.f64 x -1199999999999999996354470064727217882687812791195897543010549760) x (if (<=.f64 x -6216540455122333/3885337784451458141838923813647037813284813678104279042503624819477808570410416996352) (*.f64 z y) (if (<=.f64 x -1087770609288739/33992831540273094316133645219357992149093959534530043084764424844825827831094543535306400144974674282808917087119776064982181077609773263322209278641061590524405201333465166018030600192) (*.f64 a t) (if (<=.f64 x 5890680864316837/184083777009901148951480851536796132722480842643692193047992403105518260024832986247893480778145316885626996612988306798242600723265962621432675768974821503362834322867062256922933472871676000378319956942935045907290266298718681990629287025193807090855270922941016369397705979841003229496151404881535205516509184) (*.f64 z y) (if (<=.f64 x 8231155761024919/15829145694278690179872161345257420162248406342477557754500035589945422406818039498900249667919554879334250971265032917718487362195632077437922953926521162746662833417516744704) (*.f64 a t) (if (<=.f64 x 7846377169233351/24519928653854221733733552434404946937899825954937634816) (*.f64 z y) x)))))) |
(if (<=.f64 x -5999999999999999899336704) x (if (<=.f64 x 1777694827404431/12259964326927110866866776217202473468949912977468817408) (*.f64 a t) x)) |
x |
| Outputs |
|---|
(if (<=.f64 a -4109481173084667/41094811730846668025320233460001005199612029709556045777330319555224469955445943922763019814668659775210804444188892325882964314454560967680686052895717819140275184930690973423372373108471271228681978529185792) (+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) (if (<=.f64 a 2772669694120815/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) (+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))))) |
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 a (+.f64 (*.f64 z b) t))) |
(if (<=.f64 b 88000000000000004632772996976793837798494849641315348115527417465042999761880041567074230553597336071581747720186709417480011493135792831216792411198627774464) (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (+.f64 (*.f64 a t) (*.f64 (*.f64 z a) b))) |
(if (<=.f64 x -400000000000000012322665292386102763108100816030573385384358976277655941165325746176) (+.f64 (*.f64 t a) x) (if (<=.f64 x -41377379603379/1532495540865888858358347027150309183618739122183602176) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x 3984488406251311/12259964326927110866866776217202473468949912977468817408) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 6653927711158919/154742504910672534362390528) (+.f64 (*.f64 z y) x) (if (<=.f64 x 12200000000000000227035023290104829470638901771906167387624178975492612003201024) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 3599999999999999924574090633996679016703085952451165815910416310328892447487683983562506240) (+.f64 x (*.f64 (*.f64 z a) b)) (+.f64 (*.f64 t a) x))))))) |
(if (<=.f64 x -820000000000000017173479849246318725971502146756786237946792574607022935057834704896) (+.f64 (*.f64 t a) x) (if (<=.f64 x -6474262145357715/34996011596528190789960035633881941845650710894291398982812329702559247987190014771576210832368861184) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x -6569713789129339/7729075046034516689390703781863974688597854659412869997314470502903038284579120849072387533163845155924927232063004354354730157322085975311485817346934161497393961629646848) (+.f64 (*.f64 t a) x) (if (<=.f64 x 7479750934274947/48256457640483526790736996345261885416402018013988046254372920519692978755949818346967788625106125949665803400115206697318508323999832505432847356782135608177546840733663168278805472312472633443174306792848764674320699568611310171751523817932405366025164140823449795139392236379439950593039113881265164914919783530496) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x 7123115562425411/15829145694278690179872161345257420162248406342477557754500035589945422406818039498900249667919554879334250971265032917718487362195632077437922953926521162746662833417516744704) (*.f64 a (+.f64 (*.f64 z b) t)) (if (<=.f64 x 8198170380571703/28269553036454149273332760011886696253239742350009903329945699220681916416) (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 t a) x))))))) |
(if (<=.f64 y -13199999999999999462153730067172191712660367812026529232658490769271482979523804241703240862103840922702929574888606175727916281399622800215135922569993466411767107158016) (+.f64 (*.f64 z y) x) (if (<=.f64 y -9800000000000000015237690353756876941571565496969265682322830178470241786095882551017890275550314915148674055579809186591014912) (+.f64 (*.f64 t a) x) (if (<=.f64 y -6200000000000000227495312104254300431088469179230806972964680160325201297408) (+.f64 (*.f64 z y) x) (if (<=.f64 y -2139160387885137/158456325028528675187087900672) (*.f64 a (+.f64 (*.f64 z b) t)) (if (<=.f64 y 4633845504375301/24388660549343689307668728357759111763660922989570087116087163747073216709529418907189891430183531024686147899385989241370687309994439728955392) (+.f64 (*.f64 t a) x) (if (<=.f64 y 63940696633227/11417981541647679048466287755595961091061972992) (+.f64 (*.f64 z y) x) (if (<=.f64 y 3800000000000000215419453440) (+.f64 (*.f64 t a) x) (+.f64 (*.f64 z y) x)))))))) |
(if (<=.f64 y -12999999999999999978174428473070988034211915201459692709412370477024694514817437651744253503342683363339032845227545009809003087230160744672250636316909093679530067886080) (+.f64 (*.f64 z y) x) (if (<=.f64 y 1487708293509965/12194330274671844653834364178879555881830461494785043558043581873536608354764709453594945715091765512343073949692994620685343654997219864477696) (+.f64 (*.f64 t a) x) (if (<=.f64 y 1549191735570757/2923003274661805836407369665432566039311865085952) (+.f64 (*.f64 z y) x) (if (<=.f64 y 249999999999999995805696) (+.f64 (*.f64 t a) x) (+.f64 (*.f64 z y) x))))) |
(if (<=.f64 x -11000000) (+.f64 (*.f64 t a) x) (if (<=.f64 x -2875149960494079/7770675568902916283677847627294075626569627356208558085007249638955617140820833992704) (*.f64 z y) (if (<=.f64 x -5547927791028589/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (+.f64 (*.f64 t a) x) (if (<=.f64 x 517735622840347/11505236063118821809467553221049758295155052665230762065499525194094891251552061640493342548634082305351687288311769174890162545204122663839542235560926343960177145179191391057683342054479750023644997308933440369205641643669917624414330439074612943178454432683813523087356623740062701843509462805095950344781824) (*.f64 z y) (if (<=.f64 x 6173366820768689/15829145694278690179872161345257420162248406342477557754500035589945422406818039498900249667919554879334250971265032917718487362195632077437922953926521162746662833417516744704) (+.f64 (*.f64 t a) x) (if (<=.f64 x 3957737425103581/28269553036454149273332760011886696253239742350009903329945699220681916416) (*.f64 z y) (+.f64 (*.f64 t a) x))))))) |
(if (<=.f64 x -1199999999999999996354470064727217882687812791195897543010549760) x (if (<=.f64 x -6216540455122333/3885337784451458141838923813647037813284813678104279042503624819477808570410416996352) (*.f64 z y) (if (<=.f64 x -1087770609288739/33992831540273094316133645219357992149093959534530043084764424844825827831094543535306400144974674282808917087119776064982181077609773263322209278641061590524405201333465166018030600192) (*.f64 a t) (if (<=.f64 x 5890680864316837/184083777009901148951480851536796132722480842643692193047992403105518260024832986247893480778145316885626996612988306798242600723265962621432675768974821503362834322867062256922933472871676000378319956942935045907290266298718681990629287025193807090855270922941016369397705979841003229496151404881535205516509184) (*.f64 z y) (if (<=.f64 x 8231155761024919/15829145694278690179872161345257420162248406342477557754500035589945422406818039498900249667919554879334250971265032917718487362195632077437922953926521162746662833417516744704) (*.f64 a t) (if (<=.f64 x 7846377169233351/24519928653854221733733552434404946937899825954937634816) (*.f64 z y) x)))))) |
(if (<=.f64 x -5999999999999999899336704) x (if (<=.f64 x 1777694827404431/12259964326927110866866776217202473468949912977468817408) (*.f64 a t) x)) |
x |
Compiled 503 to 248 computations (50.7% saved)
| 1× | egg-herbie |
| 64× | rational.json-simplify-1 |
| 40× | rational.json-simplify-41 |
| 20× | rational.json-simplify-2 |
| 8× | rational.json-simplify-51 |
| 4× | rational.json-simplify-43 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 43 |
| 1 | 22 | 43 |
| 2 | 34 | 43 |
| 3 | 50 | 37 |
| 4 | 72 | 37 |
| 5 | 92 | 37 |
| 6 | 95 | 37 |
| 1× | saturated |
Compiled 124 to 32 computations (74.2% saved)
Compiled 443 to 149 computations (66.4% saved)
Loading profile data...