Time bar (total: 12.0s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.6% | 0.4% | 0 |
| 0% | 99.6% | 0.4% | 1 |
| 0% | 99.6% | 0.4% | 2 |
| 0% | 99.6% | 0.4% | 3 |
| 0% | 99.6% | 0.4% | 4 |
| 0% | 99.6% | 0.4% | 5 |
| 0% | 99.6% | 0.4% | 6 |
| 0% | 99.6% | 0.4% | 7 |
| 0% | 99.6% | 0.4% | 8 |
| 0% | 99.6% | 0.4% | 9 |
| 0% | 99.6% | 0.4% | 10 |
| 0% | 99.6% | 0.4% | 11 |
| 0% | 99.6% | 0.4% | 12 |
Compiled 24 to 16 computations (33.3% saved)
| 2.0s | 8256× | body | 256 | valid |
| 1.4s | 5733× | body | 256 | invalid |
| 2× | egg-herbie |
| 771× | fma-def_binary64 |
| 329× | associate-+l+_binary64 |
| 267× | associate-+r+_binary64 |
| 212× | +-commutative_binary64 |
| 28× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 133 | 580 |
| 1 | 363 | 464 |
| 2 | 1010 | 464 |
| 3 | 1727 | 464 |
| 4 | 1866 | 464 |
| 5 | 1872 | 464 |
| 0 | 8 | 8 |
| 1 | 8 | 8 |
| 1× | unsound |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
| Outputs |
|---|
0 |
1 |
0 |
2 |
3 |
2 |
4 |
5 |
4 |
6 |
7 |
6 |
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 c y) (*.f64 z t)) (*.f64 a b)) (*.f64 x i)) |
(+.f64 (+.f64 (+.f64 (*.f64 i y) (*.f64 z t)) (*.f64 a b)) (*.f64 c x)) |
(+.f64 (+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x c) (*.f64 z t)) (*.f64 a b)) (*.f64 y i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x i) (*.f64 z t)) (*.f64 a b)) (*.f64 c y)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 c t)) (*.f64 a b)) (*.f64 z i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 i t)) (*.f64 a b)) (*.f64 c z)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z c)) (*.f64 a b)) (*.f64 t i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z i)) (*.f64 a b)) (*.f64 c t)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 c b)) (*.f64 a i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 i b)) (*.f64 c a)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a c)) (*.f64 b i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a i)) (*.f64 c b)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 i c)) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) |
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y)))) |
(+.f64 (+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) |
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y)))) |
(+.f64 (+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (fma.f64 x t (*.f64 y z)))) |
(fma.f64 c i (fma.f64 x t (fma.f64 y z (*.f64 a b)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 x t (*.f64 y z)))) |
(fma.f64 x t (fma.f64 c i (fma.f64 y z (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (fma.f64 t y (*.f64 x z)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 x z (fma.f64 y t (*.f64 a b)))) |
(fma.f64 y t (fma.f64 x z (fma.f64 a b (*.f64 c i)))) |
(fma.f64 x z (fma.f64 a b (fma.f64 c i (*.f64 y t)))) |
(+.f64 (+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y a) (fma.f64 x b (*.f64 z t)))) |
(fma.f64 c i (fma.f64 x b (fma.f64 y a (*.f64 z t)))) |
(fma.f64 x b (fma.f64 z t (fma.f64 y a (*.f64 c i)))) |
(fma.f64 x b (fma.f64 y a (fma.f64 z t (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (fma.f64 b y (*.f64 z t)) (*.f64 x a))) |
(fma.f64 c i (fma.f64 x a (fma.f64 y b (*.f64 z t)))) |
(fma.f64 z t (fma.f64 y b (fma.f64 x a (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 c y) (*.f64 z t)) (*.f64 a b)) (*.f64 x i)) |
(+.f64 (fma.f64 c y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 x i))) |
(fma.f64 x i (fma.f64 y c (fma.f64 z t (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 i y) (*.f64 z t)) (*.f64 a b)) (*.f64 c x)) |
(+.f64 (fma.f64 i y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 x c))) |
(fma.f64 x c (fma.f64 y i (fma.f64 z t (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (fma.f64 t y (*.f64 x z)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 x z (fma.f64 y t (*.f64 a b)))) |
(fma.f64 y t (fma.f64 x z (fma.f64 a b (*.f64 c i)))) |
(fma.f64 x z (fma.f64 a b (fma.f64 c i (*.f64 y t)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (fma.f64 x t (*.f64 y z)))) |
(fma.f64 c i (fma.f64 x t (fma.f64 y z (*.f64 a b)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 x t (*.f64 y z)))) |
(fma.f64 x t (fma.f64 c i (fma.f64 y z (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (fma.f64 b y (*.f64 z t)) (*.f64 x a))) |
(fma.f64 c i (fma.f64 x a (fma.f64 y b (*.f64 z t)))) |
(fma.f64 z t (fma.f64 y b (fma.f64 x a (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y a) (fma.f64 x b (*.f64 z t)))) |
(fma.f64 c i (fma.f64 x b (fma.f64 y a (*.f64 z t)))) |
(fma.f64 x b (fma.f64 z t (fma.f64 y a (*.f64 c i)))) |
(fma.f64 x b (fma.f64 y a (fma.f64 z t (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x c) (*.f64 z t)) (*.f64 a b)) (*.f64 y i)) |
(+.f64 (fma.f64 i y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 x c))) |
(fma.f64 x c (fma.f64 y i (fma.f64 z t (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x i) (*.f64 z t)) (*.f64 a b)) (*.f64 c y)) |
(+.f64 (fma.f64 c y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 x i))) |
(fma.f64 x i (fma.f64 y c (fma.f64 z t (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) |
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (fma.f64 x y (*.f64 t a)) (*.f64 z b))) |
(fma.f64 c i (fma.f64 x y (fma.f64 z b (*.f64 t a)))) |
(fma.f64 x y (fma.f64 z b (fma.f64 t a (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (fma.f64 x y (*.f64 t b)) (*.f64 z a))) |
(fma.f64 c i (fma.f64 t b (fma.f64 x y (*.f64 z a)))) |
(fma.f64 z a (fma.f64 c i (fma.f64 x y (*.f64 t b)))) |
(fma.f64 z a (fma.f64 t b (fma.f64 x y (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 c t)) (*.f64 a b)) (*.f64 z i)) |
(+.f64 (fma.f64 x y (*.f64 t c)) (+.f64 (*.f64 a b) (*.f64 z i))) |
(fma.f64 z i (fma.f64 x y (fma.f64 a b (*.f64 t c)))) |
(fma.f64 x y (fma.f64 z i (fma.f64 a b (*.f64 t c)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 i t)) (*.f64 a b)) (*.f64 c z)) |
(+.f64 (fma.f64 x y (*.f64 t i)) (+.f64 (*.f64 a b) (*.f64 z c))) |
(fma.f64 z c (fma.f64 x y (fma.f64 t i (*.f64 a b)))) |
(fma.f64 x y (fma.f64 t i (fma.f64 z c (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (fma.f64 x y (*.f64 t b)) (*.f64 z a))) |
(fma.f64 c i (fma.f64 t b (fma.f64 x y (*.f64 z a)))) |
(fma.f64 z a (fma.f64 c i (fma.f64 x y (*.f64 t b)))) |
(fma.f64 z a (fma.f64 t b (fma.f64 x y (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (fma.f64 x y (*.f64 t a)) (*.f64 z b))) |
(fma.f64 c i (fma.f64 x y (fma.f64 z b (*.f64 t a)))) |
(fma.f64 x y (fma.f64 z b (fma.f64 t a (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z c)) (*.f64 a b)) (*.f64 t i)) |
(+.f64 (fma.f64 x y (*.f64 t i)) (+.f64 (*.f64 a b) (*.f64 z c))) |
(fma.f64 z c (fma.f64 x y (fma.f64 t i (*.f64 a b)))) |
(fma.f64 x y (fma.f64 t i (fma.f64 z c (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z i)) (*.f64 a b)) (*.f64 c t)) |
(+.f64 (fma.f64 x y (*.f64 t c)) (+.f64 (*.f64 a b) (*.f64 z i))) |
(fma.f64 z i (fma.f64 x y (fma.f64 a b (*.f64 t c)))) |
(fma.f64 x y (fma.f64 z i (fma.f64 a b (*.f64 t c)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a)) (*.f64 c i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) |
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 c b)) (*.f64 a i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 b c) (*.f64 a i))) |
(fma.f64 a i (fma.f64 b c (fma.f64 x y (*.f64 z t)))) |
(fma.f64 a i (fma.f64 x y (fma.f64 b c (*.f64 z t)))) |
(fma.f64 x y (fma.f64 a i (fma.f64 b c (*.f64 z t)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 i b)) (*.f64 c a)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 b i) (*.f64 a c))) |
(fma.f64 a c (fma.f64 b i (fma.f64 x y (*.f64 z t)))) |
(fma.f64 a c (fma.f64 z t (fma.f64 x y (*.f64 b i)))) |
(fma.f64 x y (fma.f64 b i (fma.f64 a c (*.f64 z t)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a c)) (*.f64 b i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 b i) (*.f64 a c))) |
(fma.f64 a c (fma.f64 b i (fma.f64 x y (*.f64 z t)))) |
(fma.f64 a c (fma.f64 z t (fma.f64 x y (*.f64 b i)))) |
(fma.f64 x y (fma.f64 b i (fma.f64 a c (*.f64 z t)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a i)) (*.f64 c b)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 b c) (*.f64 a i))) |
(fma.f64 a i (fma.f64 b c (fma.f64 x y (*.f64 z t)))) |
(fma.f64 a i (fma.f64 x y (fma.f64 b c (*.f64 z t)))) |
(fma.f64 x y (fma.f64 a i (fma.f64 b c (*.f64 z t)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 i c)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) |
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y)))) |
(sort x y)
(sort z t)
(sort a b)
(sort c i)
Compiled 31 to 23 computations (25.8% saved)
| 1× | egg-herbie |
| 58× | fma-def_binary64 |
| 24× | associate-+l+_binary64 |
| 21× | associate-+r+_binary64 |
| 17× | +-commutative_binary64 |
| 4× | *-commutative_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 20 |
| 1 | 28 | 16 |
| 2 | 63 | 16 |
| 3 | 124 | 16 |
| 4 | 150 | 16 |
| 5 | 152 | 16 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) |
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
Compiled 35 to 18 computations (48.6% saved)
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| ▶ | 0.0b | (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
Compiled 43 to 27 computations (37.2% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| ✓ | 0.0b | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| ✓ | 0.0b | (+.f64 (*.f64 x y) (*.f64 z t)) |
Compiled 61 to 15 computations (75.4% saved)
54 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | i | @ | inf | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 1.0ms | z | @ | -inf | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 1.0ms | t | @ | -inf | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 1.0ms | x | @ | 0 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 1.0ms | a | @ | 0 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 1× | batch-egg-rewrite |
| 922× | log-prod_binary64 |
| 509× | fma-neg_binary64 |
| 330× | expm1-udef_binary64 |
| 330× | log1p-udef_binary64 |
| 276× | log-pow_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 42 |
| 1 | 348 | 36 |
| 2 | 5058 | 36 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 x y) (*.f64 z t)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x y (*.f64 z t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (pow.f64 (*.f64 z t) 2) (-.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (*.f64 z t))) (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z t))) 2) (cbrt.f64 (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (*.f64 z t))) (sqrt.f64 (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 z t) (-.f64 (*.f64 z t) (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 z t) (-.f64 (*.f64 z t) (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z t) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 z t) (-.f64 (*.f64 z t) (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (pow.f64 (*.f64 z t) 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x y) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z t) 2)) (-.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z t) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 z t) (-.f64 (*.f64 z t) (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z t) 2))) (neg.f64 (-.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z t) 2) (pow.f64 (*.f64 x y) 2)) (-.f64 (*.f64 z t) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 z t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (pow.f64 (exp.f64 x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (+.f64 1 (expm1.f64 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (+.f64 1 (expm1.f64 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x y (*.f64 z t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x y) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z t) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (cbrt.f64 (*.f64 z t)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z t)) (sqrt.f64 (*.f64 z t)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 z t)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (-.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i))) (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) (pow.f64 (cbrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) 2) (cbrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) (sqrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3) (pow.f64 (*.f64 c i) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (pow.f64 (*.f64 c i) 2)) (/.f64 1 (-.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 a b (fma.f64 x y (*.f64 z t)))))) (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3) (pow.f64 (*.f64 c i) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i)) (-.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (pow.f64 (*.f64 c i) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (*.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3) (pow.f64 (*.f64 c i) 3))) (neg.f64 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (pow.f64 (*.f64 c i) 2))) (neg.f64 (-.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) (pow.f64 (fma.f64 a b (*.f64 c i)) 3)) (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (-.f64 (*.f64 (fma.f64 a b (*.f64 c i)) (fma.f64 a b (*.f64 c i))) (*.f64 (fma.f64 x y (*.f64 z t)) (fma.f64 a b (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (*.f64 (fma.f64 a b (*.f64 c i)) (fma.f64 a b (*.f64 c i)))) (-.f64 (fma.f64 x y (*.f64 z t)) (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2)) (-.f64 (*.f64 c i) (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t)))) (exp.f64 (fma.f64 a b (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x y (*.f64 z t))) (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 i) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t)))) (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 i) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))))) (pow.f64 (exp.f64 i) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) (+.f64 1 (expm1.f64 (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))))) (+.f64 1 (expm1.f64 (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (exp.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 i) c) (+.f64 1 (expm1.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (+.f64 1 (expm1.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 a b (*.f64 c i))) (exp.f64 (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 i) c)) (exp.f64 (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 a b (*.f64 c i))) (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 i) c)) (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i c (fma.f64 a b (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x y (*.f64 z t)) (fma.f64 a b (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (fma.f64 a b (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (cbrt.f64 (*.f64 c i)) (fma.f64 a b (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 2) (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z t))) 2) (cbrt.f64 (fma.f64 x y (*.f64 z t))) (fma.f64 a b (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (fma.f64 a b (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) (sqrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x y (*.f64 z t))) (sqrt.f64 (fma.f64 x y (*.f64 z t))) (fma.f64 a b (*.f64 c i))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))) (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a b (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) (pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 2) (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) (sqrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) (pow.f64 (*.f64 a b) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 x y (*.f64 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (pow.f64 (*.f64 a b) 2)) (/.f64 1 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 x y (*.f64 z t))))) (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) (pow.f64 (*.f64 a b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b)) (-.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) (pow.f64 (*.f64 a b) 3)) (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) (pow.f64 (*.f64 a b) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (*.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (pow.f64 (*.f64 a b) 2)) (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) (pow.f64 (*.f64 a b) 3))) (neg.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 x y (*.f64 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (pow.f64 (*.f64 a b) 2))) (neg.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (fma.f64 z t (*.f64 a b)) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 (fma.f64 z t (*.f64 a b)) (fma.f64 z t (*.f64 a b))) (*.f64 (*.f64 x y) (fma.f64 z t (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (fma.f64 z t (*.f64 a b)) (fma.f64 z t (*.f64 a b)))) (-.f64 (*.f64 x y) (fma.f64 z t (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (fma.f64 x y (*.f64 z t)) 2)) (-.f64 (*.f64 a b) (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 (fma.f64 z t (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (*.f64 (pow.f64 (exp.f64 t) z) (pow.f64 (exp.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (*.f64 (pow.f64 (exp.f64 t) z) (pow.f64 (exp.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t)))) (pow.f64 (exp.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x y (*.f64 z t))) (+.f64 1 (expm1.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t)))) (+.f64 1 (expm1.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a b))) (exp.f64 (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a) b) (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a b))) (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z t (*.f64 a b))) (pow.f64 (exp.f64 x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 t) z) (pow.f64 (exp.f64 a) b)) (pow.f64 (exp.f64 x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z t (*.f64 a b))) (+.f64 1 (expm1.f64 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 t) z) (pow.f64 (exp.f64 a) b)) (+.f64 1 (expm1.f64 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (fma.f64 z t (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (fma.f64 z t (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (fma.f64 x y (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (fma.f64 x y (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x y) (fma.f64 z t (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x y (*.f64 z t)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (fma.f64 x y (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) (fma.f64 x y (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z t))) 2) (cbrt.f64 (fma.f64 x y (*.f64 z t))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (fma.f64 z t (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (fma.f64 x y (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x y (*.f64 z t))) (sqrt.f64 (fma.f64 x y (*.f64 z t))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (fma.f64 z t (*.f64 a b))))))) |
| 1× | egg-herbie |
| 56× | fma-def_binary64 |
| 22× | associate-+l+_binary64 |
| 17× | associate-+r+_binary64 |
| 16× | +-commutative_binary64 |
| 4× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 2392 |
| 1 | 53 | 2392 |
| 2 | 102 | 2392 |
| 3 | 136 | 2392 |
| 4 | 140 | 2392 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
| Outputs |
|---|
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 y x))) |
(fma.f64 t z (fma.f64 c i (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 y x))) |
(fma.f64 t z (fma.f64 c i (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x)))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 z t (fma.f64 c i (*.f64 a b))) |
| ✓ | 0.0b | (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
Compiled 46 to 12 computations (73.9% saved)
42 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | b | @ | -inf | (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
| 1.0ms | y | @ | -inf | (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
| 1.0ms | x | @ | 0 | (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
| 1.0ms | c | @ | inf | (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
| 1.0ms | z | @ | 0 | (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
| 1× | batch-egg-rewrite |
| 621× | log-prod_binary64 |
| 405× | pow-prod-down_binary64 |
| 350× | pow2_binary64 |
| 304× | prod-diff_binary64 |
| 245× | pow1/3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 28 |
| 1 | 255 | 28 |
| 2 | 3038 | 28 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
(fma.f64 z t (fma.f64 c i (*.f64 a b))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) 1) (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (*.f64 z t)) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) 2) (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) (sqrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2) (*.f64 (*.f64 x y) (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2)) (-.f64 (*.f64 x y) (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) (exp.f64 (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))))) (exp.f64 (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x y)) (+.f64 1 (expm1.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 c i (*.f64 a b)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z t) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z t) 1) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) (pow.f64 (cbrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 2) (cbrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) (sqrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z t) 3) (pow.f64 (fma.f64 c i (*.f64 a b)) 3)) (+.f64 (pow.f64 (*.f64 z t) 2) (-.f64 (pow.f64 (fma.f64 c i (*.f64 a b)) 2) (*.f64 (*.f64 z t) (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z t) 2) (pow.f64 (fma.f64 c i (*.f64 a b)) 2)) (-.f64 (*.f64 z t) (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 c i (*.f64 a b))) (exp.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 c i (*.f64 a b)))) (exp.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 z t)) (+.f64 1 (expm1.f64 (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 1)))))) |
| 1× | egg-herbie |
| 56× | fma-def_binary64 |
| 15× | associate-+l+_binary64 |
| 14× | +-commutative_binary64 |
| 12× | associate-+r+_binary64 |
| 4× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 2056 |
| 1 | 61 | 2056 |
| 2 | 103 | 2056 |
| 3 | 123 | 2056 |
| 4 | 127 | 2056 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
| Outputs |
|---|
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(fma.f64 y x (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.f64 y x (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(fma.f64 y x (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 y x))) |
(fma.f64 t z (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 y x))) |
(fma.f64 t z (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 a b (*.f64 t z)))) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
Compiled 5142 to 1129 computations (78% saved)
9 alts after pruning (9 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 253 | 9 | 262 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 255 | 9 | 264 |
| Status | Error | Program |
|---|---|---|
| 48.6b | (*.f64 c i) | |
| ▶ | 14.7b | (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
| ▶ | 14.5b | (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
| ▶ | 45.2b | (*.f64 t z) |
| ▶ | 46.6b | (*.f64 a b) |
| 47.8b | (*.f64 y x) | |
| ▶ | 17.7b | (fma.f64 a b (fma.f64 c i (*.f64 y x))) |
| 14.7b | (fma.f64 c i (fma.f64 t z (*.f64 a b))) | |
| 17.7b | (+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i)) |
Compiled 270 to 194 computations (28.1% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
| ✓ | 0.0b | (+.f64 (*.f64 y x) (*.f64 t z)) |
Compiled 41 to 13 computations (68.3% saved)
30 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | t | @ | inf | (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
| 0.0ms | a | @ | inf | (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
| 1× | batch-egg-rewrite |
| 681× | log-prod_binary64 |
| 679× | fma-def_binary64 |
| 358× | pow2_binary64 |
| 338× | fma-neg_binary64 |
| 245× | pow1/3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 20 |
| 1 | 259 | 20 |
| 2 | 3658 | 20 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y x (*.f64 t z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 y x) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (*.f64 y x) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 2) (cbrt.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (*.f64 t z))) (sqrt.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3)) (/.f64 1 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t z) 2)) (/.f64 1 (-.f64 (*.f64 y x) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y x) (*.f64 t z)) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3)) (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 y x) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t z) 2)) (-.f64 (*.f64 y x) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3))) (neg.f64 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t z) 2))) (neg.f64 (-.f64 (*.f64 y x) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 t z) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 t z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 y x) (*.f64 t z)) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t z) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (pow.f64 (exp.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 t z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t z)) (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (*.f64 y x)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z)))) (/.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) (pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) 2) (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) (sqrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3)) (/.f64 1 (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)) (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2)) (/.f64 1 (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)) (pow.f64 (*.f64 a b) 2)) (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z))) (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3)) (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)) (pow.f64 (*.f64 a b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3)) (+.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2)) (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3))) (neg.f64 (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)) (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2))) (neg.f64 (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 y x (*.f64 a b)) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (fma.f64 y x (*.f64 a b)) 2) (-.f64 (pow.f64 (*.f64 t z) 2) (*.f64 (fma.f64 y x (*.f64 a b)) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (pow.f64 (*.f64 a b) 2)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 a b)) 2) (pow.f64 (*.f64 t z) 2)) (-.f64 (fma.f64 y x (*.f64 a b)) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)) (pow.f64 (*.f64 a b) 2)) (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z))) (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (exp.f64 (fma.f64 y x (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (exp.f64 (fma.f64 y x (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z)))) (pow.f64 (exp.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x (*.f64 t z))) (+.f64 1 (expm1.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z)))) (+.f64 1 (expm1.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a b))) (exp.f64 (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a) b) (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a b))) (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 y) x)) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x (*.f64 a b))) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 y) x)) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1 (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 t z)) 1 (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) 1 (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 t z)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 a b)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a b)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 2) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 2) (cbrt.f64 (fma.f64 y x (*.f64 t z))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) b) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) a) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t z)) (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 t z))) (sqrt.f64 (fma.f64 y x (*.f64 t z))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) a) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3)) (/.f64 1 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t z) 2)) (/.f64 1 (-.f64 (*.f64 y x) (*.f64 t z))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 a b)) 1 (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 a b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 a b))) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 a b))) (sqrt.f64 (fma.f64 y x (*.f64 a b))) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 a)) (sqrt.f64 a) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (fma.f64 y x (*.f64 a b))))))) |
| 1× | egg-herbie |
| 12× | fma-def_binary64 |
| 3× | +-commutative_binary64 |
| 3× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 144 |
| 1 | 22 | 144 |
| 2 | 31 | 144 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 t z) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 a b) |
(*.f64 a b) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 a b) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 y x) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 y x) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 t z) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 t z) |
(*.f64 t z) |
| Outputs |
|---|
(*.f64 t z) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 a b) |
(*.f64 a b) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 a b) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 y x) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 y x) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(*.f64 t z) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(*.f64 t z) |
(*.f64 t z) |
Compiled 13 to 9 computations (30.8% saved)
Compiled 13 to 9 computations (30.8% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 t z) (*.f64 a b)) |
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
Compiled 41 to 13 computations (68.3% saved)
30 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | t | @ | -inf | (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
| 0.0ms | t | @ | 0 | (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
| 0.0ms | a | @ | inf | (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
| 0.0ms | b | @ | -inf | (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
| 0.0ms | z | @ | inf | (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
| 1× | batch-egg-rewrite |
| 736× | fma-def_binary64 |
| 681× | log-prod_binary64 |
| 358× | pow2_binary64 |
| 338× | fma-neg_binary64 |
| 245× | pow1/3_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 22 |
| 1 | 258 | 20 |
| 2 | 3659 | 20 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i))) (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 t z (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) (pow.f64 (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) 2) (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) (sqrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) (pow.f64 (*.f64 c i) 3)) (/.f64 1 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 t z (*.f64 a b))) (pow.f64 (fma.f64 t z (*.f64 a b)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (pow.f64 (*.f64 c i) 2)) (/.f64 1 (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 t z (*.f64 a b))) (pow.f64 (fma.f64 t z (*.f64 a b)) 2)) (+.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) (pow.f64 (*.f64 c i) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i)) (-.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (pow.f64 (*.f64 c i) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) (pow.f64 (*.f64 c i) 3)) (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 t z (*.f64 a b))) (pow.f64 (fma.f64 t z (*.f64 a b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (*.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) (pow.f64 (*.f64 c i) 3))) (neg.f64 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 t z (*.f64 a b))) (pow.f64 (fma.f64 t z (*.f64 a b)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (pow.f64 (*.f64 c i) 2))) (neg.f64 (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (fma.f64 c i (*.f64 a b)) 3)) (+.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (pow.f64 (fma.f64 c i (*.f64 a b)) 2) (*.f64 (*.f64 t z) (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (fma.f64 c i (*.f64 a b)) 2)) (-.f64 (*.f64 t z) (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (fma.f64 t z (*.f64 a b)) 2)) (-.f64 (*.f64 c i) (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 t z (*.f64 a b))) (pow.f64 (fma.f64 t z (*.f64 a b)) 2)) (+.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) (pow.f64 (*.f64 c i) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i)) (-.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (pow.f64 (*.f64 c i) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (exp.f64 (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 c) i))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 c) i))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 a b)))) (pow.f64 (exp.f64 c) i)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 t z (*.f64 a b))) (+.f64 1 (expm1.f64 (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 a b)))) (+.f64 1 (expm1.f64 (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (exp.f64 (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 c) i) (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 c i (*.f64 a b))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 c) i)) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 c i (*.f64 a b))) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 c) i)) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1 (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1 (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) 1 (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 t z (*.f64 a b)) 1 (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c i (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i c (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c i) 1 (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 t z (*.f64 a b)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 c i (*.f64 a b)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 c i)) (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (cbrt.f64 (*.f64 c i)) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) (pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) 2) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) 2) (cbrt.f64 (fma.f64 t z (*.f64 a b))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) b) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (*.f64 (cbrt.f64 c) i) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) a) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 i) 2) (*.f64 (cbrt.f64 i) c) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a b)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t z)) (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t z)) (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 t z (*.f64 a b))) (sqrt.f64 (fma.f64 t z (*.f64 a b))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (*.f64 (sqrt.f64 c) i) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) a) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 i) (*.f64 (sqrt.f64 i) c) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3)) (/.f64 1 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)) (pow.f64 (*.f64 t z) 2))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 a b) 2)) (/.f64 1 (-.f64 (*.f64 t z) (*.f64 a b))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 a b))) 2) (cbrt.f64 (fma.f64 c i (*.f64 a b))) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 c i (*.f64 a b))) (sqrt.f64 (fma.f64 c i (*.f64 a b))) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (pow.f64 (cbrt.f64 i) 2)) (cbrt.f64 i) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (sqrt.f64 i)) (sqrt.f64 i) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (sqrt.f64 c)) (sqrt.f64 c) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 a)) (sqrt.f64 a) (fma.f64 t z (*.f64 c i))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 t z (*.f64 a b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (*.f64 t z) (*.f64 a b))) (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 t z) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 t z (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) (pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) 2) (cbrt.f64 (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 t z (*.f64 a b))) (sqrt.f64 (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3)) (/.f64 1 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)) (pow.f64 (*.f64 t z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 a b) 2)) (/.f64 1 (-.f64 (*.f64 t z) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)) (pow.f64 (*.f64 t z) 2)) (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3)) (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)) (pow.f64 (*.f64 t z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (pow.f64 (*.f64 t z) 2) (*.f64 (*.f64 t z) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 a b) 2)) (-.f64 (*.f64 t z) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3))) (neg.f64 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)) (pow.f64 (*.f64 t z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 a b) 2))) (neg.f64 (-.f64 (*.f64 t z) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 t z) 2)) (-.f64 (*.f64 a b) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 t z (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 t z (*.f64 a b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)) (pow.f64 (*.f64 t z) 2)) (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 a b) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (pow.f64 (exp.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (+.f64 1 (expm1.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (+.f64 1 (expm1.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a b))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a) b) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a b))) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 t z (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1 (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) 1 (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) b) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) a) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a b)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t z)) (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) a) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 a)) (sqrt.f64 a) (*.f64 t z)))))) |
| 1× | egg-herbie |
| 18× | fma-def_binary64 |
| 5× | +-commutative_binary64 |
| 3× | *-commutative_binary64 |
| 2× | associate-+r+_binary64 |
| 1× | associate-+l+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 1080 |
| 1 | 30 | 1080 |
| 2 | 42 | 1080 |
| 3 | 44 | 1080 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
| Outputs |
|---|
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(fma.f64 t z (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(fma.f64 t z (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 a b)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 a b (fma.f64 c i (*.f64 y x))) |
Compiled 32 to 11 computations (65.6% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | b | @ | -inf | (fma.f64 a b (fma.f64 c i (*.f64 y x))) |
| 0.0ms | a | @ | -inf | (fma.f64 a b (fma.f64 c i (*.f64 y x))) |
| 0.0ms | a | @ | 0 | (fma.f64 a b (fma.f64 c i (*.f64 y x))) |
| 0.0ms | b | @ | inf | (fma.f64 a b (fma.f64 c i (*.f64 y x))) |
| 0.0ms | a | @ | inf | (fma.f64 a b (fma.f64 c i (*.f64 y x))) |
| 1× | batch-egg-rewrite |
| 956× | pow1_binary64 |
| 869× | add-log-exp_binary64 |
| 869× | log1p-expm1-u_binary64 |
| 869× | expm1-log1p-u_binary64 |
| 847× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 12 |
| 1 | 196 | 12 |
| 2 | 2332 | 12 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 c i (*.f64 y x)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a b) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a b) 1) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 a b) (*.f64 c i)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a b (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) (pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) 2) (cbrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) (sqrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 c i (*.f64 y x)) 3)) (+.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (-.f64 (pow.f64 (fma.f64 c i (*.f64 y x)) 2) (*.f64 (*.f64 a b) (fma.f64 c i (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (pow.f64 (fma.f64 c i (*.f64 y x)) 2)) (-.f64 (*.f64 a b) (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x))))))))) |
| 1× | egg-herbie |
| 18× | fma-def_binary64 |
| 5× | +-commutative_binary64 |
| 3× | *-commutative_binary64 |
| 2× | associate-+r+_binary64 |
| 1× | associate-+l+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 744 |
| 1 | 30 | 744 |
| 2 | 42 | 744 |
| 3 | 44 | 744 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
| Outputs |
|---|
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 c i (fma.f64 y x (*.f64 a b))) |
(fma.f64 y x (fma.f64 a b (*.f64 c i))) |
Compiled 6574 to 1604 computations (75.6% saved)
14 alts after pruning (10 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 398 | 8 | 406 |
| Fresh | 2 | 2 | 4 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 3 | 4 |
| Total | 401 | 14 | 415 |
| Status | Error | Program |
|---|---|---|
| ▶ | 32.5b | (fma.f64 c i (*.f64 a b)) |
| ✓ | 14.5b | (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
| 33.9b | (+.f64 (*.f64 c i) (*.f64 y x)) | |
| 32.5b | (+.f64 (*.f64 c i) (*.f64 a b)) | |
| ✓ | 45.2b | (*.f64 t z) |
| ▶ | 30.9b | (+.f64 (*.f64 c i) (*.f64 t z)) |
| ▶ | 48.6b | (*.f64 c i) |
| 33.9b | (fma.f64 c i (*.f64 y x)) | |
| ✓ | 46.6b | (*.f64 a b) |
| 47.8b | (*.f64 y x) | |
| ✓ | 17.7b | (fma.f64 a b (fma.f64 c i (*.f64 y x))) |
| ▶ | 29.2b | (+.f64 (*.f64 a b) (*.f64 t z)) |
| ▶ | 31.8b | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 30.9b | (fma.f64 t z (*.f64 c i)) |
Compiled 336 to 248 computations (26.2% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 a b) (*.f64 t z)) |
Compiled 25 to 11 computations (56% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a | @ | 0 | (+.f64 (*.f64 a b) (*.f64 t z)) |
| 0.0ms | a | @ | inf | (+.f64 (*.f64 a b) (*.f64 t z)) |
| 0.0ms | t | @ | -inf | (+.f64 (*.f64 a b) (*.f64 t z)) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 a b) (*.f64 t z)) |
| 0.0ms | a | @ | -inf | (+.f64 (*.f64 a b) (*.f64 t z)) |
| 1× | batch-egg-rewrite |
| 903× | pow1_binary64 |
| 833× | add-log-exp_binary64 |
| 833× | log1p-expm1-u_binary64 |
| 833× | expm1-log1p-u_binary64 |
| 814× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 8 |
| 1 | 168 | 8 |
| 2 | 2270 | 8 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 a b) (*.f64 t z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a b (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 a b) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (*.f64 a b) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a b (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a b (*.f64 t z))) (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 t z))) 2) (cbrt.f64 (fma.f64 a b (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a b (*.f64 t z))) (sqrt.f64 (fma.f64 a b (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 t z) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 t z) 2)) (/.f64 1 (-.f64 (*.f64 a b) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 a b)))) (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 t z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 a b) (*.f64 t z)) (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 t z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 a b) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 t z) 2)) (-.f64 (*.f64 a b) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 t z) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 t z) 2))) (neg.f64 (-.f64 (*.f64 a b) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 a b) 2)) (-.f64 (*.f64 t z) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a b (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b (*.f64 t z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 t z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a b (*.f64 t z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a b (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a b (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a b (*.f64 t z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a b (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a b (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a b (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (*.f64 t z)))))) |
| 1× | egg-herbie |
| 2× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 48 |
| 1 | 9 | 48 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 t z) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 t z) |
| Outputs |
|---|
(*.f64 t z) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 t z) |
Compiled 13 to 9 computations (30.8% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 a b) (*.f64 y x)) |
Compiled 25 to 11 computations (56% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a | @ | 0 | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 0.0ms | b | @ | -inf | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 0.0ms | b | @ | inf | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 1× | batch-egg-rewrite |
| 903× | pow1_binary64 |
| 833× | add-log-exp_binary64 |
| 833× | log1p-expm1-u_binary64 |
| 833× | expm1-log1p-u_binary64 |
| 814× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 8 |
| 1 | 168 | 8 |
| 2 | 2270 | 8 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 a b) (*.f64 y x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a b (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 a b) (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 a b) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a b (*.f64 y x))) (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 y x))) 2) (cbrt.f64 (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a b (*.f64 y x))) (sqrt.f64 (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 y x) 2)) (/.f64 1 (-.f64 (*.f64 a b) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 a b)))) (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 y x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 a b) (*.f64 y x)) (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 a b) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 a b) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 y x) 2))) (neg.f64 (-.f64 (*.f64 a b) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 a b) 2)) (-.f64 (*.f64 y x) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a b (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 y x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a b (*.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (*.f64 y x)))))) |
| 1× | egg-herbie |
| 2× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 48 |
| 1 | 9 | 48 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 y x) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 y x) |
| Outputs |
|---|
(*.f64 y x) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 y x) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 c i) (*.f64 t z)) |
Compiled 25 to 11 computations (56% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | c | @ | 0 | (+.f64 (*.f64 c i) (*.f64 t z)) |
| 0.0ms | c | @ | inf | (+.f64 (*.f64 c i) (*.f64 t z)) |
| 0.0ms | t | @ | inf | (+.f64 (*.f64 c i) (*.f64 t z)) |
| 0.0ms | i | @ | inf | (+.f64 (*.f64 c i) (*.f64 t z)) |
| 0.0ms | c | @ | -inf | (+.f64 (*.f64 c i) (*.f64 t z)) |
| 1× | batch-egg-rewrite |
| 903× | pow1_binary64 |
| 833× | add-log-exp_binary64 |
| 833× | log1p-expm1-u_binary64 |
| 833× | expm1-log1p-u_binary64 |
| 814× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 8 |
| 1 | 168 | 8 |
| 2 | 2270 | 8 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 c i) (*.f64 t z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 c i (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (*.f64 c i) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (*.f64 c i) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 c i (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z))) (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z))) 2) (cbrt.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 c i (*.f64 t z))) (sqrt.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 t z) 2)) (/.f64 1 (-.f64 (*.f64 c i) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 c i)))) (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 c i) (*.f64 t z)) (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 t z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 c i) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 t z) 2)) (-.f64 (*.f64 c i) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 t z) 2))) (neg.f64 (-.f64 (*.f64 c i) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (*.f64 t z) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c i (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c i (*.f64 t z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c i (*.f64 t z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 c i (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 c i (*.f64 t z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c i (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i c (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (cbrt.f64 (*.f64 c i)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (*.f64 t z)))))) |
| 1× | egg-herbie |
| 2× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 48 |
| 1 | 9 | 48 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 t z) |
| Outputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 t z) |
Compiled 21 to 10 computations (52.4% saved)
Compiled 1628 to 494 computations (69.7% saved)
14 alts after pruning (6 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 115 | 2 | 117 |
| Fresh | 1 | 4 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 7 | 8 |
| Total | 117 | 14 | 131 |
| Status | Error | Program |
|---|---|---|
| ▶ | 30.9b | (fma.f64 z t (*.f64 c i)) |
| 33.9b | (fma.f64 c i (*.f64 y x)) | |
| ✓ | 32.5b | (fma.f64 c i (*.f64 a b)) |
| ✓ | 14.5b | (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
| ▶ | 33.9b | (+.f64 (*.f64 c i) (*.f64 y x)) |
| ▶ | 32.5b | (+.f64 (*.f64 c i) (*.f64 a b)) |
| ✓ | 45.2b | (*.f64 t z) |
| ✓ | 29.2b | (+.f64 (*.f64 a b) (*.f64 t z)) |
| ▶ | 31.8b | (fma.f64 b a (*.f64 y x)) |
| ✓ | 30.9b | (+.f64 (*.f64 c i) (*.f64 t z)) |
| ✓ | 48.6b | (*.f64 c i) |
| ✓ | 46.6b | (*.f64 a b) |
| ▶ | 47.8b | (*.f64 y x) |
| ✓ | 31.8b | (+.f64 (*.f64 a b) (*.f64 y x)) |
Compiled 277 to 205 computations (26% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 z t (*.f64 c i)) |
Compiled 21 to 10 computations (52.4% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | 0 | (fma.f64 z t (*.f64 c i)) |
| 0.0ms | i | @ | 0 | (fma.f64 z t (*.f64 c i)) |
| 0.0ms | t | @ | -inf | (fma.f64 z t (*.f64 c i)) |
| 0.0ms | c | @ | -inf | (fma.f64 z t (*.f64 c i)) |
| 0.0ms | z | @ | -inf | (fma.f64 z t (*.f64 c i)) |
| 1× | batch-egg-rewrite |
| 661× | pow1_binary64 |
| 602× | add-log-exp_binary64 |
| 602× | log1p-expm1-u_binary64 |
| 602× | expm1-log1p-u_binary64 |
| 587× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 8 |
| 1 | 137 | 8 |
| 2 | 1626 | 8 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 z t (*.f64 c i)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 c i) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z t) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z t) 1) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 z t (*.f64 c i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z t (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) (pow.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) 2) (cbrt.f64 (fma.f64 z t (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z t (*.f64 c i))) (sqrt.f64 (fma.f64 z t (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z t) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (*.f64 (*.f64 z t) (*.f64 z t)) (-.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 z t) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 z t) (*.f64 z t)) (pow.f64 (*.f64 c i) 2)) (-.f64 (*.f64 z t) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z t (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z t (*.f64 c i))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z t (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z t (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z t (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z t (*.f64 c i)))))))) |
| 1× | egg-herbie |
| 4× | fma-def_binary64 |
| 2× | *-commutative_binary64 |
| 1× | +-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 336 |
| 1 | 12 | 336 |
| 2 | 15 | 336 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
| Outputs |
|---|
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
Compiled 13 to 9 computations (30.8% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 c i) (*.f64 a b)) |
Compiled 25 to 11 computations (56% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | c | @ | 0 | (+.f64 (*.f64 c i) (*.f64 a b)) |
| 0.0ms | a | @ | inf | (+.f64 (*.f64 c i) (*.f64 a b)) |
| 0.0ms | c | @ | -inf | (+.f64 (*.f64 c i) (*.f64 a b)) |
| 0.0ms | i | @ | inf | (+.f64 (*.f64 c i) (*.f64 a b)) |
| 0.0ms | c | @ | inf | (+.f64 (*.f64 c i) (*.f64 a b)) |
| 1× | batch-egg-rewrite |
| 903× | pow1_binary64 |
| 833× | add-log-exp_binary64 |
| 833× | log1p-expm1-u_binary64 |
| 833× | expm1-log1p-u_binary64 |
| 814× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 8 |
| 1 | 168 | 8 |
| 2 | 2270 | 8 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 c i) (*.f64 a b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 c i (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (*.f64 c i) (*.f64 a b))) (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 c i) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 c i (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 c i (*.f64 a b))) (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 a b))) 2) (cbrt.f64 (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 c i (*.f64 a b))) (sqrt.f64 (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 a b) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 a b) 2)) (/.f64 1 (-.f64 (*.f64 c i) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 c i)))) (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 a b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 c i) (*.f64 a b)) (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 a b) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 a b) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 c i) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 a b) 2)) (-.f64 (*.f64 c i) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 a b) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 a b) 2))) (neg.f64 (-.f64 (*.f64 c i) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (*.f64 a b) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c i (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c i (*.f64 a b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 a b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c i (*.f64 a b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 c i (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 c i (*.f64 a b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c i (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i c (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (cbrt.f64 (*.f64 c i)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (*.f64 a b)))))) |
| 1× | egg-herbie |
| 4× | fma-def_binary64 |
| 2× | *-commutative_binary64 |
| 1× | +-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 192 |
| 1 | 12 | 192 |
| 2 | 15 | 192 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(*.f64 a b) |
(*.f64 a b) |
| Outputs |
|---|
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(*.f64 a b) |
(*.f64 a b) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 c i) (*.f64 y x)) |
Compiled 25 to 11 computations (56% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | c | @ | 0 | (+.f64 (*.f64 c i) (*.f64 y x)) |
| 0.0ms | i | @ | 0 | (+.f64 (*.f64 c i) (*.f64 y x)) |
| 0.0ms | c | @ | inf | (+.f64 (*.f64 c i) (*.f64 y x)) |
| 0.0ms | i | @ | -inf | (+.f64 (*.f64 c i) (*.f64 y x)) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 c i) (*.f64 y x)) |
| 1× | batch-egg-rewrite |
| 903× | pow1_binary64 |
| 833× | add-log-exp_binary64 |
| 833× | log1p-expm1-u_binary64 |
| 833× | expm1-log1p-u_binary64 |
| 814× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 8 |
| 1 | 168 | 8 |
| 2 | 2270 | 8 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 c i) (*.f64 y x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 c i (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (*.f64 c i) (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 c i) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 c i (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 c i (*.f64 y x))) (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 y x))) 2) (cbrt.f64 (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 c i (*.f64 y x))) (sqrt.f64 (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 y x) 2)) (/.f64 1 (-.f64 (*.f64 c i) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 c i)))) (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 y x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 c i) (*.f64 y x)) (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 c i) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 c i) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 y x) 2))) (neg.f64 (-.f64 (*.f64 c i) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (*.f64 y x) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c i (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c i (*.f64 y x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 y x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c i (*.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 c i (*.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 c i (*.f64 y x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c i (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i c (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (cbrt.f64 (*.f64 c i)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (*.f64 y x)))))) |
| 1× | egg-herbie |
| 2× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 48 |
| 1 | 9 | 48 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 y x) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 y x) |
| Outputs |
|---|
(*.f64 y x) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 y x) |
Compiled 21 to 10 computations (52.4% saved)
Compiled 1352 to 402 computations (70.3% saved)
14 alts after pruning (1 fresh and 13 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 103 | 1 | 104 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 12 | 12 |
| Total | 104 | 14 | 118 |
| Status | Error | Program |
|---|---|---|
| ✓ | 32.5b | (fma.f64 c i (*.f64 a b)) |
| ✓ | 14.5b | (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
| ✓ | 33.9b | (+.f64 (*.f64 c i) (*.f64 y x)) |
| ✓ | 32.5b | (+.f64 (*.f64 c i) (*.f64 a b)) |
| ✓ | 45.2b | (*.f64 t z) |
| ✓ | 29.2b | (+.f64 (*.f64 a b) (*.f64 t z)) |
| ✓ | 31.8b | (fma.f64 b a (*.f64 y x)) |
| ✓ | 30.9b | (+.f64 (*.f64 c i) (*.f64 t z)) |
| ✓ | 48.6b | (*.f64 c i) |
| ✓ | 30.9b | (fma.f64 z t (*.f64 c i)) |
| ✓ | 46.6b | (*.f64 a b) |
| ✓ | 47.8b | (*.f64 y x) |
| ✓ | 31.8b | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 33.9b | (fma.f64 i c (*.f64 y x)) |
Compiled 194 to 144 computations (25.8% saved)
| Inputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(fma.f64 i c (*.f64 y x)) |
(fma.f64 z t (*.f64 c i)) |
(fma.f64 b a (*.f64 y x)) |
(fma.f64 c i (*.f64 a b)) |
(fma.f64 c i (*.f64 y x)) |
(fma.f64 t z (*.f64 c i)) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
| Outputs |
|---|
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
20 calls:
| 42.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 33.0ms | x |
| 28.0ms | (*.f64 x y) |
| 21.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 18.0ms | c |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | t |
| 0.0b | 1 | a |
| 0.0b | 1 | b |
| 0.0b | 1 | c |
| 0.0b | 1 | i |
| 0.0b | 1 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 0.0b | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 0.0b | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 0.0b | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 0.0b | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 0.0b | 1 | (*.f64 x y) |
| 0.0b | 1 | (*.f64 x y) |
| 0.0b | 1 | (*.f64 z t) |
| 0.0b | 1 | (*.f64 z t) |
| 0.0b | 1 | (*.f64 a b) |
| 0.0b | 1 | (*.f64 c i) |
| 0.0b | 1 | (*.f64 c i) |
Compiled 409 to 229 computations (44% saved)
| Inputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(fma.f64 i c (*.f64 y x)) |
(fma.f64 z t (*.f64 c i)) |
(fma.f64 b a (*.f64 y x)) |
(fma.f64 c i (*.f64 a b)) |
(fma.f64 c i (*.f64 y x)) |
(fma.f64 t z (*.f64 c i)) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 c i (fma.f64 t z (*.f64 a b))) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
15 calls:
| 51.0ms | i |
| 43.0ms | y |
| 13.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 13.0ms | a |
| 13.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | t |
| 0.0b | 1 | a |
| 0.0b | 1 | b |
| 0.0b | 1 | c |
| 0.0b | 1 | i |
| 0.0b | 1 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 0.0b | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 0.0b | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 0.0b | 1 | (*.f64 x y) |
| 0.0b | 1 | (*.f64 z t) |
| 0.0b | 1 | (*.f64 a b) |
| 0.0b | 1 | (*.f64 c i) |
Compiled 330 to 176 computations (46.7% saved)
| Inputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i)) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i)) |
10 calls:
| 85.0ms | (*.f64 a b) |
| 60.0ms | a |
| 45.0ms | b |
| 35.0ms | y |
| 32.0ms | i |
| Error | Segments | Branch |
|---|---|---|
| 6.9b | 4 | x |
| 6.7b | 5 | y |
| 6.9b | 3 | z |
| 7.1b | 3 | t |
| 8.0b | 7 | a |
| 9.7b | 6 | b |
| 7.8b | 3 | c |
| 7.7b | 3 | i |
| 8.9b | 8 | (*.f64 a b) |
| 4.1b | 3 | (*.f64 c i) |
Compiled 182 to 105 computations (42.3% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 24.0ms | 9.794129869804682e+65 | 1.1815602745478598e+73 |
| 44.0ms | -6.552475320183716e+67 | -1.532749344930522e+65 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
10 calls:
| 51.0ms | y |
| 44.0ms | a |
| 44.0ms | z |
| 44.0ms | (*.f64 a b) |
| 39.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 8.5b | 3 | x |
| 6.3b | 8 | y |
| 10.2b | 6 | z |
| 9.3b | 5 | t |
| 8.0b | 7 | a |
| 10.9b | 4 | b |
| 8.5b | 3 | c |
| 7.8b | 3 | i |
| 10.6b | 7 | (*.f64 a b) |
| 4.5b | 3 | (*.f64 c i) |
Compiled 171 to 103 computations (39.8% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 24.0ms | 2.855395496097922e+75 | 6.524965934140518e+79 |
| 24.0ms | -497.7125978490741 | -0.0217263535246962 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
| Outputs |
|---|
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
10 calls:
| 47.0ms | z |
| 39.0ms | x |
| 30.0ms | a |
| 29.0ms | (*.f64 c i) |
| 22.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 9.7b | 5 | x |
| 10.1b | 3 | y |
| 11.0b | 7 | z |
| 13.0b | 3 | t |
| 11.2b | 5 | a |
| 14.7b | 1 | b |
| 13.5b | 3 | c |
| 13.2b | 3 | i |
| 14.7b | 1 | (*.f64 a b) |
| 12.1b | 5 | (*.f64 c i) |
Compiled 160 to 101 computations (36.9% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 50.0ms | 8.81942464379364e-123 | 2.6815466979532874e-120 |
| 138.0ms | -7.234770067751775e+130 | -1.0326970788283165e+128 |
| 54.0ms | -6.1264278257975265e+147 | -1.0429111085528893e+147 |
| 54.0ms | -1.2560132232536473e+234 | -1.6497316609395507e+224 |
Compiled 898 to 649 computations (27.7% saved)
| Inputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
| Outputs |
|---|
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
10 calls:
| 61.0ms | z |
| 59.0ms | b |
| 58.0ms | i |
| 55.0ms | x |
| 47.0ms | (*.f64 c i) |
| Error | Segments | Branch |
|---|---|---|
| 16.9b | 10 | x |
| 17.7b | 6 | y |
| 15.8b | 11 | z |
| 18.8b | 6 | t |
| 18.3b | 8 | a |
| 16.5b | 11 | b |
| 19.4b | 5 | c |
| 17.9b | 10 | i |
| 15.4b | 7 | (*.f64 a b) |
| 15.3b | 7 | (*.f64 c i) |
Compiled 149 to 99 computations (33.6% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 24.0ms | 2.955115648612862e+56 | 2.5403001366645286e+59 |
| 24.0ms | 2.702253921001196e-32 | 4.311429819953359e-27 |
| 24.0ms | 1.788175022096186e-58 | 7.018401788796917e-56 |
| 24.0ms | -1.1964602259079888e-224 | -6.4492356733796145e-239 |
| 26.0ms | -9.235571947182081e-87 | -1.7157766087534746e-95 |
| 24.0ms | -6.552475320183716e+67 | -1.532749344930522e+65 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
| Outputs |
|---|
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
10 calls:
| 110.0ms | y |
| 107.0ms | x |
| 95.0ms | z |
| 72.0ms | a |
| 55.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 17.1b | 10 | x |
| 16.8b | 8 | y |
| 17.3b | 9 | z |
| 20.2b | 4 | t |
| 17.0b | 10 | a |
| 17.7b | 9 | b |
| 20.8b | 3 | c |
| 19.7b | 8 | i |
| 15.9b | 7 | (*.f64 a b) |
| 18.1b | 3 | (*.f64 c i) |
Compiled 142 to 98 computations (31% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 44.0ms | 7.016688697307986e+45 | 1.7878074252823242e+56 |
| 46.0ms | 219660442780658.6 | 185723890452973700.0 |
| 49.0ms | 1.1477818983799606e-96 | 2.643830831904012e-95 |
| 0.0ms | 5.375343694468345e-173 | 5.410324953266254e-173 |
| 0.0ms | -6.1916e-320 | -8.493e-321 |
| 49.0ms | -2.70639484167812e+55 | -2.997917932771284e+51 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
| Outputs |
|---|
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
10 calls:
| 69.0ms | (*.f64 c i) |
| 43.0ms | c |
| 42.0ms | i |
| 38.0ms | x |
| 38.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 20.9b | 7 | x |
| 19.9b | 7 | y |
| 19.7b | 8 | z |
| 21.7b | 6 | t |
| 20.5b | 8 | a |
| 19.9b | 8 | b |
| 24.7b | 9 | c |
| 24.1b | 8 | i |
| 17.3b | 7 | (*.f64 a b) |
| 25.5b | 6 | (*.f64 c i) |
Compiled 135 to 97 computations (28.1% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 25.0ms | 2.4995343008912378e+104 | 6.100242117843106e+108 |
| 25.0ms | 3.684930364342622e+76 | 7.64280995792488e+89 |
| 25.0ms | 1.1477818983799606e-96 | 2.643830831904012e-95 |
| 0.0ms | 5.375343694468345e-173 | 5.410324953266254e-173 |
| 0.0ms | -6.1916e-320 | -8.493e-321 |
| 25.0ms | -2.70639484167812e+55 | -2.997917932771284e+51 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
| Outputs |
|---|
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
10 calls:
| 46.0ms | z |
| 36.0ms | (*.f64 c i) |
| 32.0ms | t |
| 29.0ms | (*.f64 a b) |
| 29.0ms | c |
| Error | Segments | Branch |
|---|---|---|
| 23.0b | 6 | x |
| 22.6b | 5 | y |
| 21.8b | 10 | z |
| 23.9b | 6 | t |
| 23.9b | 6 | a |
| 24.0b | 5 | b |
| 27.4b | 6 | c |
| 27.7b | 3 | i |
| 19.9b | 7 | (*.f64 a b) |
| 25.3b | 7 | (*.f64 c i) |
Compiled 128 to 96 computations (25% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 25.0ms | 3.684930364342622e+76 | 7.64280995792488e+89 |
| 24.0ms | 1.1477818983799606e-96 | 2.643830831904012e-95 |
| 24.0ms | 1.2963300845675692e-159 | 1.0139835745103014e-158 |
| 0.0ms | -6.1916e-320 | -8.493e-321 |
| 23.0ms | -3.216921093739587e-183 | -2.3136577571339836e-185 |
| 25.0ms | -8.964551718449584e+21 | -3.4944657696809485e-14 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
| Outputs |
|---|
(*.f64 a b) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 a b) |
10 calls:
| 59.0ms | a |
| 49.0ms | y |
| 43.0ms | (*.f64 c i) |
| 35.0ms | x |
| 31.0ms | i |
| Error | Segments | Branch |
|---|---|---|
| 27.4b | 8 | x |
| 25.5b | 11 | y |
| 24.6b | 7 | z |
| 26.3b | 5 | t |
| 26.4b | 7 | a |
| 25.9b | 7 | b |
| 29.2b | 7 | c |
| 27.8b | 8 | i |
| 21.9b | 7 | (*.f64 a b) |
| 25.5b | 10 | (*.f64 c i) |
Compiled 121 to 95 computations (21.5% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 25.0ms | 3.684930364342622e+76 | 7.64280995792488e+89 |
| 24.0ms | 1.1477818983799606e-96 | 2.643830831904012e-95 |
| 49.0ms | 1.2963300845675692e-159 | 1.0139835745103014e-158 |
| 0.0ms | -6.1916e-320 | -8.493e-321 |
| 25.0ms | -3.216921093739587e-183 | -2.3136577571339836e-185 |
| 27.0ms | -2.70639484167812e+55 | -2.997917932771284e+51 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 y x) |
| Outputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
10 calls:
| 100.0ms | i |
| 94.0ms | c |
| 58.0ms | x |
| 55.0ms | (*.f64 c i) |
| 44.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 35.1b | 7 | x |
| 34.1b | 7 | y |
| 35.1b | 6 | z |
| 33.5b | 8 | t |
| 31.0b | 12 | a |
| 32.5b | 10 | b |
| 32.0b | 14 | c |
| 32.6b | 13 | i |
| 30.9b | 6 | (*.f64 a b) |
| 30.7b | 7 | (*.f64 c i) |
Compiled 114 to 94 computations (17.5% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 25.0ms | 2.955115648612862e+56 | 2.5403001366645286e+59 |
| 24.0ms | 9.067602372408774e-213 | 1.3278990929049539e-207 |
| 25.0ms | 1.228446676082557e-258 | 2.5389191963869487e-252 |
| 25.0ms | -4.063910719074392e-305 | -0.0 |
| 25.0ms | -9.235571947182081e-87 | -1.7157766087534746e-95 |
| 56.0ms | -6.552475320183716e+67 | -1.532749344930522e+65 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
| Outputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 c i) |
(*.f64 a b) |
10 calls:
| 47.0ms | i |
| 42.0ms | x |
| 32.0ms | c |
| 30.0ms | y |
| 28.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 36.6b | 12 | x |
| 38.1b | 8 | y |
| 35.3b | 6 | z |
| 35.0b | 7 | t |
| 35.2b | 7 | a |
| 36.3b | 5 | b |
| 34.8b | 9 | c |
| 33.6b | 14 | i |
| 30.9b | 6 | (*.f64 a b) |
| 31.7b | 6 | (*.f64 c i) |
Compiled 111 to 93 computations (16.2% saved)
| 5× | binary-search |
| Time | Left | Right |
|---|---|---|
| 24.0ms | 7.016688697307986e+45 | 1.7878074252823242e+56 |
| 25.0ms | 1.1477818983799606e-96 | 2.643830831904012e-95 |
| 25.0ms | 1.2963300845675692e-159 | 1.0139835745103014e-158 |
| 25.0ms | 2.9352658655117442e-276 | 5.854255003085112e-275 |
| 25.0ms | -2.70639484167812e+55 | -2.997917932771284e+51 |
Compiled 34 to 25 computations (26.5% saved)
Total -27.4b remaining (-78.1%)
Threshold costs -27.4b (-78.1%)
| Inputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
| Outputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 c i) |
9 calls:
| 27.0ms | x |
| 18.0ms | a |
| 17.0ms | i |
| 17.0ms | b |
| 15.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 39.4b | 9 | x |
| 41.8b | 4 | y |
| 38.4b | 3 | z |
| 37.9b | 3 | t |
| 41.2b | 5 | a |
| 41.4b | 6 | b |
| 38.7b | 3 | c |
| 39.3b | 5 | i |
| 35.1b | 3 | (*.f64 c i) |
Compiled 97 to 83 computations (14.4% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 24.0ms | 9.794129869804682e+65 | 1.1815602745478598e+73 |
| 24.0ms | -6.552475320183716e+67 | -1.532749344930522e+65 |
Compiled 34 to 25 computations (26.5% saved)
| 1× | egg-herbie |
| 11× | +-commutative_binary64 |
| 4× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 140 | 1019 |
| 1 | 156 | 1019 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 979412986980468208451803040704921623786331806041656520540600401920) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) (+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i)))) |
(if (<=.f64 (*.f64 c i) -4377926309005257/8796093022208) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 2855395496097921976532978994912758424637618533088391856741016539748022353920) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)))) |
(if (<=.f64 x -1250000000000000066457524578324561294504236821905637621669621623380486440286520699324375536418663113628215210226564011745368805642256706734146152038627550484587396299666777939181218835470354153904432972941143508401404616321294892269568) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 x -1050000000000000030131459653060188486988617419488398240790457754433405379463770814849001461762435502035765279035793830812191604381016282831435857920) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) (if (<=.f64 x -72000000000000002334281323895992332718642884809653562848914824864646125683993472529149945880818999534095597599913347457502968545280) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 x 6564146541686995/744282853678701455922507579277316643178128753343813693728245963960974631028119473486019635930893891134220822124816566203939432067701407744) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) (+.f64 (*.f64 c i) (*.f64 y x)))))) |
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 c i) -5171330927426473/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -79780140547211600/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 2527545431280535/14134776518227074636666380005943348126619871175004951664972849610340958208) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 39493485300271000/1461501637330902918203684832716283019655932542976) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 295511564861286205037286070829306617341376818565915607040) (+.f64 (*.f64 a b) (*.f64 t z)) (+.f64 (*.f64 c i) (*.f64 y x)))))))) |
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 1879667612850941/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 7029134168981075/32) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 7016688697307986080253136876024829686233169920) (+.f64 (*.f64 c i) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z)))))))) |
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 1879667612850941/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 249953430089123779664093269740815019179566818334488857989297329475301108287008619014538115327769270288384) (*.f64 t z) (+.f64 (*.f64 c i) (*.f64 a b)))))))) |
(if (<=.f64 (*.f64 a b) -8964551718449584275456) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 a b) -7694980985264857/2392032866531905486790942578809394338145620987608332988883503686824375178865503049616412016019962016447144819201720664620106359620960485637227891297994520232330261783830994590149049944504587400511488) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 t z) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 t z) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 y x)) (+.f64 (*.f64 c i) (*.f64 a b)))))))) |
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (*.f64 a b) (if (<=.f64 (*.f64 a b) -7694980985264857/2392032866531905486790942578809394338145620987608332988883503686824375178865503049616412016019962016447144819201720664620106359620960485637227891297994520232330261783830994590149049944504587400511488) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 t z) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 t z) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 y x)) (*.f64 a b))))))) |
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (*.f64 c i) (if (<=.f64 (*.f64 c i) -5171330927426473/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (*.f64 t z) (if (<=.f64 (*.f64 c i) -8032662956839745/197658450495420525734858737030192682665582665785295037457911482448662440984370455949180062208434691889831130726871886632216610095103313942252942773379627451095231859645084337269987214591887906583241960623508540106017585433031926463494241558251132379239072320812850360890950600210186037629088210457662115491511433340911616) (*.f64 a b) (if (<=.f64 (*.f64 c i) 2658228882498359/2163894399531684849059183759018052020301198647443953754636127064173256304872345024407213080115843841616586321892381199068702095603722999960578207655784200507016751857659924824755124296402642702553187257992033027703390323887110396882282073697349781407701150027357134841184256) (*.f64 t z) (if (<=.f64 (*.f64 c i) 14077616736953452544/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 y x) (if (<=.f64 (*.f64 c i) 295511564861286205037286070829306617341376818565915607040) (*.f64 a b) (*.f64 c i))))))) |
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (*.f64 a b) (if (<=.f64 (*.f64 a b) 7322902416987071/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (*.f64 t z) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (*.f64 c i) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 t z) (if (<=.f64 (*.f64 a b) 7016688697307986080253136876024829686233169920) (*.f64 c i) (*.f64 a b)))))) |
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (*.f64 c i) (if (<=.f64 (*.f64 c i) 979412986980468208451803040704921623786331806041656520540600401920) (*.f64 t z) (*.f64 c i))) |
(*.f64 c i) |
| Outputs |
|---|
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t)))) |
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 979412986980468208451803040704921623786331806041656520540600401920) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) (+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i)))) |
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 x y))) (if (<=.f64 (*.f64 c i) 979412986980468208451803040704921623786331806041656520540600401920) (+.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 x y))))) |
(if (<=.f64 (*.f64 c i) -4377926309005257/8796093022208) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 2855395496097921976532978994912758424637618533088391856741016539748022353920) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)))) |
(if (<=.f64 (*.f64 c i) -4377926309005257/8796093022208) (+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 z t))) (if (<=.f64 (*.f64 c i) 2855395496097921976532978994912758424637618533088391856741016539748022353920) (+.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 z t))))) |
(if (<=.f64 x -1250000000000000066457524578324561294504236821905637621669621623380486440286520699324375536418663113628215210226564011745368805642256706734146152038627550484587396299666777939181218835470354153904432972941143508401404616321294892269568) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 x -1050000000000000030131459653060188486988617419488398240790457754433405379463770814849001461762435502035765279035793830812191604381016282831435857920) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) (if (<=.f64 x -72000000000000002334281323895992332718642884809653562848914824864646125683993472529149945880818999534095597599913347457502968545280) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 x 6564146541686995/744282853678701455922507579277316643178128753343813693728245963960974631028119473486019635930893891134220822124816566203939432067701407744) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) (+.f64 (*.f64 c i) (*.f64 y x)))))) |
(if (<=.f64 x -1250000000000000066457524578324561294504236821905637621669621623380486440286520699324375536418663113628215210226564011745368805642256706734146152038627550484587396299666777939181218835470354153904432972941143508401404616321294892269568) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 x -1050000000000000030131459653060188486988617419488398240790457754433405379463770814849001461762435502035765279035793830812191604381016282831435857920) (+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 z t))) (if (<=.f64 x -72000000000000002334281323895992332718642884809653562848914824864646125683993472529149945880818999534095597599913347457502968545280) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 x 6564146541686995/744282853678701455922507579277316643178128753343813693728245963960974631028119473486019635930893891134220822124816566203939432067701407744) (+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 z t))) (+.f64 (*.f64 c i) (*.f64 x y)))))) |
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 c i) -5171330927426473/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -79780140547211600/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 2527545431280535/14134776518227074636666380005943348126619871175004951664972849610340958208) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 39493485300271000/1461501637330902918203684832716283019655932542976) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 295511564861286205037286070829306617341376818565915607040) (+.f64 (*.f64 a b) (*.f64 t z)) (+.f64 (*.f64 c i) (*.f64 y x)))))))) |
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 c i) -5171330927426473/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) -4986258784200725/416750902054990892129990736920078612321547395144744260024766113235252327363602004470089512554472143171433119412089577527868050103382460317522709753270676877880947348719625909903942392869488376545560313508492912623855671752342278830697742336) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) 2527545431280535/14134776518227074636666380005943348126619871175004951664972849610340958208) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) 4936685662533875/182687704666362864775460604089535377456991567872) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) 295511564861286205037286070829306617341376818565915607040) (+.f64 (*.f64 a b) (*.f64 z t)) (+.f64 (*.f64 c i) (*.f64 x y)))))))) |
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 1879667612850941/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 7029134168981075/32) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 7016688697307986080253136876024829686233169920) (+.f64 (*.f64 c i) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z)))))))) |
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 a b) -253/25300281663413827294061918339864663381194581220517764794612669753428792445999418361495047962679640561898384733039601488923726092173224184608376674992592313740189678034570795170558363467761652042654970959809093133570250935428086587327262919456144944542601257064044846194041676826903812816523290938580750782913463467636686848) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 1879667612850941/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 7029134168981075/32) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 7016688697307986080253136876024829686233169920) (+.f64 (*.f64 c i) (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 z t)))))))) |
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 1879667612850941/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 249953430089123779664093269740815019179566818334488857989297329475301108287008619014538115327769270288384) (*.f64 t z) (+.f64 (*.f64 c i) (*.f64 a b)))))))) |
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 a b) -253/25300281663413827294061918339864663381194581220517764794612669753428792445999418361495047962679640561898384733039601488923726092173224184608376674992592313740189678034570795170558363467761652042654970959809093133570250935428086587327262919456144944542601257064044846194041676826903812816523290938580750782913463467636686848) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 1879667612850941/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 249953430089123779664093269740815019179566818334488857989297329475301108287008619014538115327769270288384) (*.f64 z t) (+.f64 (*.f64 a b) (*.f64 c i)))))))) |
(if (<=.f64 (*.f64 a b) -8964551718449584275456) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 a b) -7694980985264857/2392032866531905486790942578809394338145620987608332988883503686824375178865503049616412016019962016447144819201720664620106359620960485637227891297994520232330261783830994590149049944504587400511488) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 t z) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 t z) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 y x)) (+.f64 (*.f64 c i) (*.f64 a b)))))))) |
(if (<=.f64 (*.f64 a b) -8964551718449584275456) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 a b) -7694980985264857/2392032866531905486790942578809394338145620987608332988883503686824375178865503049616412016019962016447144819201720664620106359620960485637227891297994520232330261783830994590149049944504587400511488) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) -253/25300281663413827294061918339864663381194581220517764794612669753428792445999418361495047962679640561898384733039601488923726092173224184608376674992592313740189678034570795170558363467761652042654970959809093133570250935428086587327262919456144944542601257064044846194041676826903812816523290938580750782913463467636686848) (*.f64 z t) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 z t) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 x y)) (+.f64 (*.f64 a b) (*.f64 c i)))))))) |
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (*.f64 a b) (if (<=.f64 (*.f64 a b) -7694980985264857/2392032866531905486790942578809394338145620987608332988883503686824375178865503049616412016019962016447144819201720664620106359620960485637227891297994520232330261783830994590149049944504587400511488) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 t z) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 t z) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 y x)) (*.f64 a b))))))) |
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (*.f64 a b) (if (<=.f64 (*.f64 a b) -7694980985264857/2392032866531905486790942578809394338145620987608332988883503686824375178865503049616412016019962016447144819201720664620106359620960485637227891297994520232330261783830994590149049944504587400511488) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) -253/25300281663413827294061918339864663381194581220517764794612669753428792445999418361495047962679640561898384733039601488923726092173224184608376674992592313740189678034570795170558363467761652042654970959809093133570250935428086587327262919456144944542601257064044846194041676826903812816523290938580750782913463467636686848) (*.f64 z t) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 z t) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 x y)) (*.f64 a b))))))) |
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (*.f64 c i) (if (<=.f64 (*.f64 c i) -5171330927426473/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (*.f64 t z) (if (<=.f64 (*.f64 c i) -8032662956839745/197658450495420525734858737030192682665582665785295037457911482448662440984370455949180062208434691889831130726871886632216610095103313942252942773379627451095231859645084337269987214591887906583241960623508540106017585433031926463494241558251132379239072320812850360890950600210186037629088210457662115491511433340911616) (*.f64 a b) (if (<=.f64 (*.f64 c i) 2658228882498359/2163894399531684849059183759018052020301198647443953754636127064173256304872345024407213080115843841616586321892381199068702095603722999960578207655784200507016751857659924824755124296402642702553187257992033027703390323887110396882282073697349781407701150027357134841184256) (*.f64 t z) (if (<=.f64 (*.f64 c i) 14077616736953452544/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 y x) (if (<=.f64 (*.f64 c i) 295511564861286205037286070829306617341376818565915607040) (*.f64 a b) (*.f64 c i))))))) |
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (*.f64 c i) (if (<=.f64 (*.f64 c i) -5171330927426473/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (*.f64 z t) (if (<=.f64 (*.f64 c i) -8032662956839745/197658450495420525734858737030192682665582665785295037457911482448662440984370455949180062208434691889831130726871886632216610095103313942252942773379627451095231859645084337269987214591887906583241960623508540106017585433031926463494241558251132379239072320812850360890950600210186037629088210457662115491511433340911616) (*.f64 a b) (if (<=.f64 (*.f64 c i) 2658228882498359/2163894399531684849059183759018052020301198647443953754636127064173256304872345024407213080115843841616586321892381199068702095603722999960578207655784200507016751857659924824755124296402642702553187257992033027703390323887110396882282073697349781407701150027357134841184256) (*.f64 z t) (if (<=.f64 (*.f64 c i) 6873836297340553/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (*.f64 x y) (if (<=.f64 (*.f64 c i) 295511564861286205037286070829306617341376818565915607040) (*.f64 a b) (*.f64 c i))))))) |
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (*.f64 a b) (if (<=.f64 (*.f64 a b) 7322902416987071/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (*.f64 t z) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (*.f64 c i) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 t z) (if (<=.f64 (*.f64 a b) 7016688697307986080253136876024829686233169920) (*.f64 c i) (*.f64 a b)))))) |
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (*.f64 a b) (if (<=.f64 (*.f64 a b) 7322902416987071/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (*.f64 z t) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (*.f64 c i) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 z t) (if (<=.f64 (*.f64 a b) 7016688697307986080253136876024829686233169920) (*.f64 c i) (*.f64 a b)))))) |
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (*.f64 c i) (if (<=.f64 (*.f64 c i) 979412986980468208451803040704921623786331806041656520540600401920) (*.f64 t z) (*.f64 c i))) |
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (*.f64 c i) (if (<=.f64 (*.f64 c i) 979412986980468208451803040704921623786331806041656520540600401920) (*.f64 z t) (*.f64 c i))) |
(*.f64 c i) |
Compiled 814 to 344 computations (57.7% saved)
| 1× | egg-herbie |
| 58× | fma-def_binary64 |
| 24× | associate-+l+_binary64 |
| 21× | associate-+r+_binary64 |
| 17× | +-commutative_binary64 |
| 4× | *-commutative_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 20 |
| 1 | 28 | 16 |
| 2 | 63 | 16 |
| 3 | 124 | 16 |
| 4 | 150 | 16 |
| 5 | 152 | 16 |
| 1× | saturated |
Compiled 153 to 97 computations (36.6% saved)
(sort c i)
(sort a b)
(sort z t)
(sort x y)
Compiled 870 to 274 computations (68.5% saved)
Loading profile data...