Time bar (total: 17.6s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 6 |
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 7 |
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 8 |
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 9 |
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 10 |
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 11 |
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 12 |
Compiled 24 to 16 computations (33.3% saved)
| 1.7s | 8256× | body | 256 | valid |
| 1.4s | 6058× | body | 256 | infinite |
| 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 | (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
| ▶ | 0.0b | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
Compiled 43 to 27 computations (37.2% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 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)) |
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
Compiled 61 to 15 computations (75.4% saved)
54 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | inf | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 1.0ms | a | @ | inf | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 1.0ms | x | @ | 0 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 1.0ms | c | @ | 0 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 1.0ms | y | @ | -inf | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 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 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| Outputs |
|---|
((#(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))))))) |
((#(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))))))) |
| 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 | 104 | 2392 |
| 3 | 138 | 2392 |
| 4 | 142 | 2392 |
| 1× | saturated |
| Inputs |
|---|
(+.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))) |
(*.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)))) |
| Outputs |
|---|
(+.f64 (*.f64 a b) (*.f64 t z)) |
(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))) |
(+.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)) |
(+.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))) |
(*.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 a b (fma.f64 c i (*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 c i (fma.f64 a b (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.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 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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.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 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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(+.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
(*.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 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x)))) |
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i)))) |
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 | |
|---|---|---|---|---|
| 2.0ms | a | @ | 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 | i | @ | inf | (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 5138 to 1124 computations (78.1% saved)
13 alts after pruning (13 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 249 | 13 | 262 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 251 | 13 | 264 |
| Status | Error | Program |
|---|---|---|
| 30.2b | (+.f64 (*.f64 a b) (*.f64 c i)) | |
| 46.1b | (*.f64 t z) | |
| ▶ | 0.0b | (+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
| 16.5b | (fma.f64 a b (fma.f64 y x (*.f64 c i))) | |
| 16.7b | (+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) | |
| 16.7b | (fma.f64 x y (fma.f64 c i (*.f64 t z))) | |
| 29.4b | (+.f64 (*.f64 t z) (*.f64 c i)) | |
| ▶ | 49.9b | (*.f64 y x) |
| ▶ | 16.5b | (fma.f64 x y (+.f64 (*.f64 c i) (*.f64 a b))) |
| ▶ | 47.4b | (*.f64 a b) |
| 45.7b | (*.f64 c i) | |
| 17.5b | (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) | |
| ▶ | 33.2b | (+.f64 (*.f64 y x) (*.f64 c i)) |
Compiled 400 to 284 computations (29% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (fma.f64 z t (fma.f64 c i (*.f64 a b))) | |
| ✓ | 0.0b | (+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
Compiled 50 to 13 computations (74% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | 0 | (+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
| 0.0ms | x | @ | inf | (+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
| 0.0ms | z | @ | -inf | (+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
| 0.0ms | c | @ | 0 | (+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
| 0.0ms | c | @ | inf | (+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
| 1× | batch-egg-rewrite |
| 718× | log-prod_binary64 |
| 394× | pow2_binary64 |
| 351× | fma-def_binary64 |
| 274× | pow1/3_binary64 |
| 270× | expm1-udef_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 18 |
| 1 | 285 | 16 |
| 2 | 3668 | 16 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
| Outputs |
|---|
((#(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 (/.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2) (-.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y))) (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y))))))) (#(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 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 3) (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (fma.f64 z t (fma.f64 c i (*.f64 a b)))) (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (-.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (fma.f64 z t (fma.f64 c i (*.f64 a b)))) (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2)) (+.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 3) (pow.f64 (*.f64 x y) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) (-.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2) (pow.f64 (*.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (fma.f64 z t (fma.f64 c i (*.f64 a b)))) (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2) (*.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2) (pow.f64 (*.f64 x y) 2)) (-.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 3) (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (fma.f64 z t (fma.f64 c i (*.f64 a b)))) (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2) (pow.f64 (*.f64 x y) 2))) (neg.f64 (-.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y))))))) (#(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 pow.f64 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (fma.f64 z t (fma.f64 c i (*.f64 a b)))) (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2)) (+.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 3) (pow.f64 (*.f64 x y) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) (-.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2) (pow.f64 (*.f64 x y) 2))) -1)))) (#(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 (+.f64 1 (expm1.f64 (fma.f64 z t (fma.f64 c i (*.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 (fma.f64 c i (*.f64 a b)))) (+.f64 1 (expm1.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))))) (+.f64 1 (expm1.f64 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.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 log.f64 (*.f64 (+.f64 1 (expm1.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 fma.f64 z t (+.f64 (fma.f64 c i (*.f64 a b)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (+.f64 (fma.f64 c i (*.f64 a b)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 1 (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x y) 1 (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x y) (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z t) (+.f64 (fma.f64 c i (*.f64 a b)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (fma.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)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x y)) (cbrt.f64 (pow.f64 (*.f64 x y) 2)) (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x y) 2)) (cbrt.f64 (*.f64 x y)) (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) (cbrt.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.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)))) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (fma.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)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (fma.f64 z t (fma.f64 c i (*.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 (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.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)))) (*.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 (fma.f64 c i (*.f64 a b)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z t)) (sqrt.f64 (*.f64 z t)) (+.f64 (fma.f64 c i (*.f64 a b)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 t)) (*.f64 (sqrt.f64 z) (sqrt.f64 t)) (+.f64 (fma.f64 c i (*.f64 a b)) (*.f64 x y)))))) (#(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)) (*.f64 x y)))))) (#(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)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 z t (fma.f64 c i (*.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 | 1312 |
| 1 | 53 | 1312 |
| 2 | 102 | 1312 |
| 3 | 136 | 1312 |
| 4 | 140 | 1312 |
| 1× | saturated |
| Inputs |
|---|
(+.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 (*.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)))) |
| Outputs |
|---|
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 c i (fma.f64 a b (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.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))) |
(+.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.f64 t z))) |
(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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.f64 t z))) |
(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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 (*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
(*.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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (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 y x (*.f64 t z)))) |
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b)))) |
Compiled 13 to 9 computations (30.8% saved)
Compiled 13 to 9 computations (30.8% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 y x) (*.f64 c i)) |
Compiled 25 to 11 computations (56% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y x) (*.f64 c i)) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 y x) (*.f64 c i)) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 y x) (*.f64 c i)) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 y x) (*.f64 c i)) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 y x) (*.f64 c i)) |
| 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 y x) (*.f64 c i)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 y x (*.f64 c i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 y x) (*.f64 c i))) (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (*.f64 y x) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (*.f64 c i))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 c i))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 c i))) 2) (cbrt.f64 (fma.f64 y x (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (*.f64 c i))) (sqrt.f64 (fma.f64 y x (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 c i) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 c i) (-.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 1 (-.f64 (*.f64 y x) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 y x)))) (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 c i) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y x) (*.f64 c i)) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 c i) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 y x) (*.f64 c i)))))))) (#(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 /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 c i) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 c i) 2))) (neg.f64 (-.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 (*.f64 c i) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 c i)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 c i))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 c i))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (*.f64 c i)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (*.f64 c i)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (*.f64 c i))))))) (#(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 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 1 (*.f64 y x) (*.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 (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 (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 (sqrt.f64 (*.f64 c i)) (sqrt.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)))))) |
| 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 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
| Outputs |
|---|
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 c i) (*.f64 a b)) |
| ✓ | 0.0b | (fma.f64 x y (+.f64 (*.f64 c i) (*.f64 a b))) |
Compiled 37 to 12 computations (67.6% saved)
30 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (fma.f64 x y (+.f64 (*.f64 c i) (*.f64 a b))) |
| 0.0ms | x | @ | inf | (fma.f64 x y (+.f64 (*.f64 c i) (*.f64 a b))) |
| 0.0ms | b | @ | -inf | (fma.f64 x y (+.f64 (*.f64 c i) (*.f64 a b))) |
| 0.0ms | c | @ | 0 | (fma.f64 x y (+.f64 (*.f64 c i) (*.f64 a b))) |
| 0.0ms | c | @ | -inf | (fma.f64 x y (+.f64 (*.f64 c i) (*.f64 a b))) |
| 1× | batch-egg-rewrite |
| 581× | log-prod_binary64 |
| 406× | pow-prod-down_binary64 |
| 371× | fma-def_binary64 |
| 312× | pow2_binary64 |
| 215× | pow1/3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 20 |
| 1 | 227 | 20 |
| 2 | 2978 | 20 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 x y (+.f64 (*.f64 c i) (*.f64 a b))) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 c i (*.f64 a b)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x y (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) 1) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (*.f64 c i)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (*.f64 a b)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x y (fma.f64 c i (*.f64 a b))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x y (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 c i (*.f64 a b)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x y (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 c i (*.f64 a b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (fma.f64 c i (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 a b)))) (pow.f64 (cbrt.f64 (fma.f64 x y (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 c i (*.f64 a b)))) 2) (cbrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 a b)))) (sqrt.f64 (fma.f64 x y (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 c i (*.f64 a b)) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (fma.f64 c i (*.f64 a b)) 2) (*.f64 (*.f64 x y) (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 c i (*.f64 a b)) 2)) (-.f64 (*.f64 x y) (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (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 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 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 c i (*.f64 a b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (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 c i (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (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 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 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (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 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (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 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (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 c i (*.f64 a b)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x y (fma.f64 c i (*.f64 a b))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 a b))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 a b))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x y (fma.f64 c i (*.f64 a b)))) 1) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (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 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 c i)) (pow.f64 (*.f64 c i) 2))))))) (#(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 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 c i)) (pow.f64 (*.f64 c i) 2)) (+.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)) (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 c i)) (pow.f64 (*.f64 c i) 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 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 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 c i)) (pow.f64 (*.f64 c i) 2))))))) (#(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)) 2) 1/2)))) (#(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 pow.f64 (/.f64 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 c i)) (pow.f64 (*.f64 c i) 2)) (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 a b) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 c i) (*.f64 a b)) (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 a b) 2))) -1)))) (#(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 log.f64 (+.f64 1 (expm1.f64 (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (pow.f64 (exp.f64 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 i) c) (+.f64 1 (expm1.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (+.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 i) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 b) a) (+.f64 1 (expm1.f64 (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a b))) (+.f64 1 (expm1.f64 (*.f64 c i)))))))) (#(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 exp.f64 (*.f64 (log.f64 (fma.f64 c i (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 c i (*.f64 a b)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 c i (*.f64 a b)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 c i (*.f64 a b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 c i (*.f64 a b))) 1) 1))))) (#(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 (*.f64 c i) 1 (*.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 (*.f64 a b) 1 (*.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 b) 2) (*.f64 (cbrt.f64 b) a) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 i) 2) (*.f64 (cbrt.f64 i) c) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a b)) (cbrt.f64 (pow.f64 (*.f64 a b) 2)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) (cbrt.f64 (*.f64 a b)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 c i)) (cbrt.f64 (pow.f64 (*.f64 c i) 2)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 c i) 2)) (cbrt.f64 (*.f64 c i)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) b) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (*.f64 (cbrt.f64 c) i) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) a) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 i) (*.f64 (sqrt.f64 i) c) (*.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))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (*.f64 (sqrt.f64 c) i) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 a)) (sqrt.f64 a) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (pow.f64 (cbrt.f64 i) 2)) (cbrt.f64 i) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (sqrt.f64 i)) (sqrt.f64 i) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (sqrt.f64 c)) (sqrt.f64 c) (*.f64 a b)))))) |
| 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 | 936 |
| 1 | 30 | 936 |
| 2 | 42 | 936 |
| 3 | 44 | 936 |
| 1× | saturated |
| Inputs |
|---|
(+.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))) |
(+.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 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 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 (*.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 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.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 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.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 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.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 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(fma.f64 y x (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(fma.f64 y x (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.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 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) |
Compiled 4623 to 1123 computations (75.7% saved)
14 alts after pruning (11 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 272 | 8 | 280 |
| Fresh | 5 | 3 | 8 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 3 | 4 |
| Total | 279 | 14 | 293 |
| Status | Error | Program |
|---|---|---|
| 33.7b | (fma.f64 y x (*.f64 a b)) | |
| ✓ | 47.4b | (*.f64 a b) |
| 17.5b | (+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) | |
| 17.5b | (fma.f64 y x (fma.f64 t z (*.f64 a b))) | |
| ▶ | 29.4b | (+.f64 (*.f64 t z) (*.f64 c i)) |
| ✓ | 49.9b | (*.f64 y x) |
| 33.7b | (+.f64 (*.f64 a b) (*.f64 y x)) | |
| ▶ | 45.7b | (*.f64 c i) |
| 46.1b | (*.f64 t z) | |
| 16.7b | (+.f64 (fma.f64 c i (*.f64 t z)) (*.f64 x y)) | |
| ▶ | 30.2b | (+.f64 (*.f64 a b) (*.f64 c i)) |
| ▶ | 16.5b | (fma.f64 c i (fma.f64 a b (*.f64 y x))) |
| ▶ | 16.7b | (+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
| ✓ | 33.2b | (+.f64 (*.f64 y x) (*.f64 c i)) |
Compiled 379 to 271 computations (28.5% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 c i (fma.f64 a b (*.f64 y x))) |
| ✓ | 0.0b | (fma.f64 a b (*.f64 y x)) |
Compiled 32 to 11 computations (65.6% saved)
30 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | 0 | (fma.f64 c i (fma.f64 a b (*.f64 y x))) |
| 0.0ms | b | @ | -inf | (fma.f64 a b (*.f64 y x)) |
| 0.0ms | a | @ | -inf | (fma.f64 a b (*.f64 y x)) |
| 0.0ms | a | @ | inf | (fma.f64 a b (*.f64 y x)) |
| 0.0ms | b | @ | inf | (fma.f64 a b (*.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 | 20 |
| 1 | 196 | 20 |
| 2 | 2332 | 20 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 a b (*.f64 y x)) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a b) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a b) 1) (*.f64 y x))))) (#(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 (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 (*.f64 (*.f64 a b) (*.f64 a b)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 a b) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 a b) (*.f64 y x)))))) (#(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 +.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 c i) (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 c i) 1) (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 c i) (*.f64 a b)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 c i (fma.f64 a b (*.f64 y x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 c i (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x)))) (pow.f64 (cbrt.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x)))) 2) (cbrt.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x)))) (sqrt.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (fma.f64 a b (*.f64 y x)) 3)) (+.f64 (*.f64 (*.f64 c i) (*.f64 c i)) (-.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 2) (*.f64 (*.f64 c i) (fma.f64 a b (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 c i) (*.f64 c i)) (pow.f64 (fma.f64 a b (*.f64 y x)) 2)) (-.f64 (*.f64 c i) (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 c i (fma.f64 a b (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 c i (fma.f64 a b (*.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 | 1080 |
| 1 | 30 | 1080 |
| 2 | 42 | 1080 |
| 3 | 44 | 1080 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.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 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 c i) (*.f64 a b)) |
(+.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 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 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 (*.f64 c i) (*.f64 a b)) |
(+.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 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 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))) |
| Outputs |
|---|
(*.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 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(*.f64 a b) |
(+.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 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(*.f64 a b) |
(+.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 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(*.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 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(*.f64 a b) |
(+.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 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(*.f64 a b) |
(+.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 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(*.f64 a b) |
(+.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 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(*.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 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(*.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 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(*.f64 a b) |
(+.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 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(*.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 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(*.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 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 a b)) |
(+.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 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 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.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 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(fma.f64 y x (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(fma.f64 y x (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.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 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.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 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(fma.f64 a b (fma.f64 c i (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 y x (fma.f64 c i (*.f64 a b))) |
Compiled 13 to 9 computations (30.8% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 a b) (*.f64 c i)) |
Compiled 25 to 11 computations (56% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a | @ | 0 | (+.f64 (*.f64 a b) (*.f64 c i)) |
| 1.0ms | i | @ | inf | (+.f64 (*.f64 a b) (*.f64 c i)) |
| 0.0ms | i | @ | -inf | (+.f64 (*.f64 a b) (*.f64 c i)) |
| 0.0ms | a | @ | -inf | (+.f64 (*.f64 a b) (*.f64 c i)) |
| 0.0ms | b | @ | 0 | (+.f64 (*.f64 a b) (*.f64 c i)) |
| 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 c i)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a b (*.f64 c i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 a b) (*.f64 c i))) (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (*.f64 a b) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a b (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a b (*.f64 c i))) (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 c i))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 c i))) 2) (cbrt.f64 (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a b (*.f64 c i))) (sqrt.f64 (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 c i) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 c i) (-.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 1 (-.f64 (*.f64 a b) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 a b)))) (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 c i) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 a b) (*.f64 c i)) (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 c i) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 a b) (*.f64 c i)))))))) (#(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 /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 c i) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 c i) 2))) (neg.f64 (-.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 (*.f64 c i) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a b (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b (*.f64 c i)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 c i))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a b (*.f64 c i))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a b (*.f64 c i)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a b (*.f64 c i)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a b (*.f64 c i))))))) (#(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 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 1 (*.f64 a b) (*.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 (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 (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 (sqrt.f64 (*.f64 c i)) (sqrt.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)))))) |
| 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 c i) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(*.f64 c i) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(*.f64 c i) |
(*.f64 c i) |
| Outputs |
|---|
(*.f64 c i) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(*.f64 c i) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(+.f64 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(*.f64 c i) |
(*.f64 c i) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 t z) (*.f64 c i)) |
Compiled 25 to 11 computations (56% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | t | @ | 0 | (+.f64 (*.f64 t z) (*.f64 c i)) |
| 0.0ms | t | @ | inf | (+.f64 (*.f64 t z) (*.f64 c i)) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 t z) (*.f64 c i)) |
| 0.0ms | t | @ | -inf | (+.f64 (*.f64 t z) (*.f64 c i)) |
| 0.0ms | z | @ | inf | (+.f64 (*.f64 t z) (*.f64 c i)) |
| 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 t z) (*.f64 c i)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 t z (*.f64 c i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (*.f64 t z) (*.f64 c i))) (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (*.f64 t z) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 t z (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 t z (*.f64 c i))) (pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 c i))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 c i))) 2) (cbrt.f64 (fma.f64 t z (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 t z (*.f64 c i))) (sqrt.f64 (fma.f64 t z (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 c i) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 t z) 2) (*.f64 (*.f64 c i) (-.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 1 (-.f64 (*.f64 t z) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 t z) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 t z)))) (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 c i) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 t z) (*.f64 c i)) (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 c i) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 t z) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (pow.f64 (*.f64 t z) 2) (*.f64 (*.f64 t z) (*.f64 c i)))))))) (#(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 /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 c i) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 t z) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 c i) 2))) (neg.f64 (-.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 (*.f64 c i) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 t z (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 c i))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 t z (*.f64 c i))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 t z (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 t z (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 t z (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 t z (*.f64 c i))))))) (#(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 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 1 (*.f64 t z) (*.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 (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 (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 (sqrt.f64 (*.f64 c i)) (sqrt.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)))))) |
| 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)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
| ✓ | 0.0b | (+.f64 (*.f64 y x) (*.f64 t z)) |
Compiled 41 to 13 computations (68.3% saved)
30 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 0.0ms | t | @ | 0 | (+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
| 0.0ms | y | @ | inf | (+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
| 0.0ms | t | @ | -inf | (+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
| 0.0ms | y | @ | 0 | (+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.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 y x) (*.f64 t z)) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
| 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 (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 c i (*.f64 t z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i))) (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z)))) (pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z)))) 2) (cbrt.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z)))) (sqrt.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 3) (pow.f64 (*.f64 c i) 3)) (/.f64 1 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 y x (*.f64 t z))) (pow.f64 (fma.f64 y x (*.f64 t z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (pow.f64 (*.f64 c i) 2)) (/.f64 1 (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 y x (*.f64 t z))) (pow.f64 (fma.f64 y x (*.f64 t z)) 2)) (+.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 3) (pow.f64 (*.f64 c i) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i)) (-.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (pow.f64 (*.f64 c i) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 3) (pow.f64 (*.f64 c i) 3)) (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 y x (*.f64 t z))) (pow.f64 (fma.f64 y x (*.f64 t z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (*.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 3) (pow.f64 (*.f64 c i) 3))) (neg.f64 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 y x (*.f64 t z))) (pow.f64 (fma.f64 y x (*.f64 t z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (pow.f64 (*.f64 c i) 2))) (neg.f64 (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (fma.f64 c i (*.f64 t z)) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (pow.f64 (fma.f64 c i (*.f64 t z)) 2) (*.f64 (*.f64 y x) (fma.f64 c i (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (fma.f64 c i (*.f64 t z)) 2)) (-.f64 (*.f64 y x) (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2)) (-.f64 (*.f64 c i) (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 y x (*.f64 t z))) (pow.f64 (fma.f64 y x (*.f64 t z)) 2)) (+.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 3) (pow.f64 (*.f64 c i) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i)) (-.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (pow.f64 (*.f64 c i) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (exp.f64 (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (*.f64 (pow.f64 (exp.f64 t) z) (pow.f64 (exp.f64 c) i))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (*.f64 (pow.f64 (exp.f64 t) z) (pow.f64 (exp.f64 c) i))))))) (#(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 c) i)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x (*.f64 t z))) (+.f64 1 (expm1.f64 (*.f64 c i)))))))) (#(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 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (exp.f64 (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 c) i) (+.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 c i))) (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 c i (*.f64 t z))) (pow.f64 (exp.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 t) z) (pow.f64 (exp.f64 c) i)) (pow.f64 (exp.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 c i (*.f64 t z))) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 t) z) (pow.f64 (exp.f64 c) i)) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x (fma.f64 c i (*.f64 t z)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (fma.f64 y x (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (fma.f64 y x (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1 (fma.f64 y x (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 t z)) 1 (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c i (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i c (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c i) 1 (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (fma.f64 y x (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 t z)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 c i (*.f64 t z)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 c i)) (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (cbrt.f64 (*.f64 c i)) (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 c i))))) (#(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 c i))))) (#(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 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (*.f64 (cbrt.f64 c) i) (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 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 i) 2) (*.f64 (cbrt.f64 i) c) (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 c i)))))) (#(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 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (fma.f64 c i (*.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 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (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 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (fma.f64 y x (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (*.f64 (sqrt.f64 c) i) (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 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 i) (*.f64 (sqrt.f64 i) c) (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 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(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 c i))))) (#(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 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z))) 2) (cbrt.f64 (fma.f64 c i (*.f64 t z))) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 c i (*.f64 t z))) (sqrt.f64 (fma.f64 c i (*.f64 t z))) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (fma.f64 c i (*.f64 t z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (pow.f64 (cbrt.f64 i) 2)) (cbrt.f64 i) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (sqrt.f64 i)) (sqrt.f64 i) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (sqrt.f64 c)) (sqrt.f64 c) (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 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 y x (*.f64 c i)))))) (#(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 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (fma.f64 y x (*.f64 c i))))))) |
| 1× | egg-herbie |
| 18× | fma-def_binary64 |
| 4× | +-commutative_binary64 |
| 3× | *-commutative_binary64 |
| 2× | associate-+r+_binary64 |
| 2× | associate-+l+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 792 |
| 1 | 26 | 792 |
| 2 | 39 | 792 |
| 3 | 43 | 792 |
| 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 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 c i) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.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 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(fma.f64 t z (*.f64 c i)) |
(+.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 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 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 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 y x (*.f64 c i))) |
(+.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 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 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 y x (*.f64 c i))) |
(+.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 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 c i) (*.f64 t z)) |
(fma.f64 c i (*.f64 t z)) |
(fma.f64 t z (*.f64 c i)) |
(+.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 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 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 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 y x (*.f64 c i))) |
(+.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 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 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 y x (*.f64 c i))) |
(+.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 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 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(fma.f64 y x (*.f64 c i)) |
(+.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 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 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 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 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 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 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 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 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 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(fma.f64 y x (*.f64 c i)) |
(+.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 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 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 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 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 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 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 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 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 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 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 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 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 c i) |
(+.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 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 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 c i) |
(+.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 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 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 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 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 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 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 c i) |
(+.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 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 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 c i) |
(+.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 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 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))) |
Compiled 4993 to 1289 computations (74.2% saved)
15 alts after pruning (8 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 322 | 4 | 326 |
| Fresh | 2 | 4 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 6 | 7 |
| Total | 325 | 15 | 340 |
| Status | Error | Program |
|---|---|---|
| 33.7b | (fma.f64 y x (*.f64 a b)) | |
| ▶ | 29.4b | (fma.f64 i c (*.f64 t z)) |
| ✓ | 47.4b | (*.f64 a b) |
| 33.7b | (+.f64 (*.f64 a b) (*.f64 y x)) | |
| ▶ | 33.7b | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 17.5b | (+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) | |
| ▶ | 17.5b | (fma.f64 y x (fma.f64 t z (*.f64 a b))) |
| ✓ | 29.4b | (+.f64 (*.f64 t z) (*.f64 c i)) |
| ✓ | 49.9b | (*.f64 y x) |
| ▶ | 46.1b | (*.f64 t z) |
| ▶ | 16.5b | (+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) |
| ✓ | 45.7b | (*.f64 c i) |
| ✓ | 30.2b | (+.f64 (*.f64 a b) (*.f64 c i)) |
| ✓ | 16.7b | (+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
| ✓ | 33.2b | (+.f64 (*.f64 y x) (*.f64 c i)) |
Compiled 343 to 247 computations (28% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) |
| 0.0b | (fma.f64 a b (*.f64 y x)) |
Compiled 36 to 12 computations (66.7% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a | @ | -inf | (+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) |
| 0.0ms | a | @ | 0 | (+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) |
| 0.0ms | c | @ | -inf | (+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) |
| 0.0ms | x | @ | 0 | (+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) |
| 0.0ms | i | @ | inf | (+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) |
| 1× | batch-egg-rewrite |
| 577× | log-prod_binary64 |
| 400× | pow-prod-down_binary64 |
| 319× | fma-def_binary64 |
| 312× | pow2_binary64 |
| 217× | pow1/3_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 14 |
| 1 | 226 | 12 |
| 2 | 2962 | 12 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 2) (-.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i))) (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a b (fma.f64 y x (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))) (pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))) 2) (cbrt.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))) (sqrt.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 3) (pow.f64 (*.f64 c i) 3)) (/.f64 1 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 a b (*.f64 y x))) (pow.f64 (fma.f64 a b (*.f64 y x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 2) (pow.f64 (*.f64 c i) 2)) (/.f64 1 (-.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 a b (*.f64 y x))) (pow.f64 (fma.f64 a b (*.f64 y x)) 2)) (+.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 3) (pow.f64 (*.f64 c i) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) (-.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 2) (pow.f64 (*.f64 c i) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 3) (pow.f64 (*.f64 c i) 3)) (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 a b (*.f64 y x))) (pow.f64 (fma.f64 a b (*.f64 y x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 2) (*.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 3) (pow.f64 (*.f64 c i) 3))) (neg.f64 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 a b (*.f64 y x))) (pow.f64 (fma.f64 a b (*.f64 y x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 2) (pow.f64 (*.f64 c i) 2))) (neg.f64 (-.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (fma.f64 a b (*.f64 y x)) 2)) (-.f64 (*.f64 c i) (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 a b (*.f64 y x))) (pow.f64 (fma.f64 a b (*.f64 y x)) 2)) (+.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 3) (pow.f64 (*.f64 c i) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) (-.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 2) (pow.f64 (*.f64 c i) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a b (*.f64 y x)))) (pow.f64 (exp.f64 c) i)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 a b (*.f64 y x))) (+.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 (*.f64 y x)))) (+.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 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 c) i) (+.f64 1 (expm1.f64 (fma.f64 a b (*.f64 y x))))))))) (#(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 (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 a b (fma.f64 y x (*.f64 c i)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (fma.f64 y x (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (fma.f64 y x (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a b (*.f64 y x)) 1 (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c i (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i c (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c i) 1 (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 a b (*.f64 y x)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (fma.f64 y x (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (*.f64 (cbrt.f64 c) i) (fma.f64 a b (*.f64 y x)))))) (#(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 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 i i)) (*.f64 (cbrt.f64 i) c) (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 c i)) (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (fma.f64 a b (*.f64 y x)))))) (#(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 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 a b (*.f64 y x))) (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 y x))) 2) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 y x))) 2) (cbrt.f64 (fma.f64 a b (*.f64 y x))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (*.f64 (sqrt.f64 c) i) (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b) (fma.f64 y x (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 i) (*.f64 (sqrt.f64 i) c) (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 a b (*.f64 y x))) (sqrt.f64 (fma.f64 a b (*.f64 y x))) (*.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 y x (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (fma.f64 y x (*.f64 c i)))))) (#(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 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b) (fma.f64 y x (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (cbrt.f64 (*.f64 i i))) (cbrt.f64 i) (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (sqrt.f64 i)) (sqrt.f64 i) (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (sqrt.f64 c)) (sqrt.f64 c) (fma.f64 a b (*.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 c i) (*.f64 a b)) |
(+.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 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 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 (*.f64 c i) (*.f64 a b)) |
(+.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 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 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 (*.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))) |
| 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 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(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 (*.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 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 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 (*.f64 c i) (*.f64 a b)) |
(fma.f64 c i (*.f64 a b)) |
(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 (*.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 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 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 (*.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))) |
Compiled 13 to 9 computations (30.8% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (+.f64 (*.f64 y x) (*.f64 t z)) |
Compiled 25 to 11 computations (56% saved)
Compiled 21 to 10 computations (52.4% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 t z (*.f64 a b)) |
| ✓ | 0.0b | (fma.f64 y x (fma.f64 t z (*.f64 a b))) |
Compiled 32 to 11 computations (65.6% saved)
30 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | -inf | (fma.f64 y x (fma.f64 t z (*.f64 a b))) |
| 0.0ms | t | @ | 0 | (fma.f64 y x (fma.f64 t z (*.f64 a b))) |
| 0.0ms | t | @ | -inf | (fma.f64 y x (fma.f64 t z (*.f64 a b))) |
| 0.0ms | x | @ | inf | (fma.f64 y x (fma.f64 t z (*.f64 a b))) |
| 0.0ms | y | @ | 0 | (fma.f64 y x (fma.f64 t z (*.f64 a b))) |
| 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 | 20 |
| 1 | 196 | 20 |
| 2 | 2332 | 20 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 y x (fma.f64 t z (*.f64 a b))) |
(fma.f64 t z (*.f64 a b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 t z (*.f64 a b)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y x) 1) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) 1)))) (#(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 y x) 3) (pow.f64 (fma.f64 t z (*.f64 a b)) 3)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (-.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (*.f64 (*.f64 y x) (fma.f64 t z (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (pow.f64 (fma.f64 t z (*.f64 a b)) 2)) (-.f64 (*.f64 y x) (fma.f64 t z (*.f64 a b))))))) (#(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))) 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 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 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 +.f64 (*.f64 a b) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t z) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 t z) 1) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 t z (*.f64 a b))) 1)))) (#(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 (*.f64 (*.f64 t z) (*.f64 t z)) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 t z) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (pow.f64 (*.f64 a b) 2)) (-.f64 (*.f64 t z) (*.f64 a b)))))) (#(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 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) 1/3)))) (#(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 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 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)))))))) |
| 1× | egg-herbie |
| 18× | fma-def_binary64 |
| 4× | +-commutative_binary64 |
| 3× | *-commutative_binary64 |
| 2× | associate-+r+_binary64 |
| 2× | associate-+l+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 1080 |
| 1 | 26 | 1080 |
| 2 | 39 | 1080 |
| 3 | 43 | 1080 |
| 1× | saturated |
| Inputs |
|---|
(+.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))) |
(*.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 a b) (*.f64 t z)) |
(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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(*.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(*.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(*.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(*.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(+.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(*.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(*.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(+.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(*.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(*.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(*.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(*.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(*.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(*.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 a b (fma.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))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
Compiled 3253 to 843 computations (74.1% saved)
15 alts after pruning (4 fresh and 11 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 225 | 3 | 228 |
| Fresh | 2 | 1 | 3 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 11 | 11 |
| Total | 228 | 15 | 243 |
| Status | Error | Program |
|---|---|---|
| 33.7b | (fma.f64 y x (*.f64 a b)) | |
| ✓ | 29.4b | (fma.f64 i c (*.f64 t z)) |
| ✓ | 47.4b | (*.f64 a b) |
| 33.7b | (+.f64 (*.f64 a b) (*.f64 y x)) | |
| ✓ | 45.7b | (*.f64 c i) |
| ✓ | 29.4b | (+.f64 (*.f64 t z) (*.f64 c i)) |
| ✓ | 49.9b | (*.f64 y x) |
| ✓ | 33.2b | (+.f64 (*.f64 y x) (*.f64 c i)) |
| 31.2b | (+.f64 (*.f64 a b) (*.f64 t z)) | |
| ✓ | 46.1b | (*.f64 t z) |
| ✓ | 16.5b | (+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) |
| ✓ | 33.7b | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 17.5b | (+.f64 (fma.f64 t z (*.f64 a b)) (*.f64 y x)) | |
| ✓ | 30.2b | (+.f64 (*.f64 a b) (*.f64 c i)) |
| ✓ | 16.7b | (+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
Compiled 217 to 159 computations (26.7% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 y x) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(fma.f64 i c (*.f64 t z)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (fma.f64 t z (*.f64 a b)) (*.f64 y x)) |
(+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) |
(+.f64 (fma.f64 c i (*.f64 t z)) (*.f64 x y)) |
(fma.f64 x y (+.f64 (*.f64 c i) (*.f64 a b))) |
(fma.f64 y x (fma.f64 t z (*.f64 a b))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 x y (fma.f64 c i (*.f64 t z))) |
(+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
(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:
| 19.0ms | a |
| 18.0ms | i |
| 18.0ms | c |
| 17.0ms | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 16.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 (*.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 483 to 235 computations (51.3% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 y x) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(fma.f64 i c (*.f64 t z)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (fma.f64 t z (*.f64 a b)) (*.f64 y x)) |
(+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) |
(+.f64 (fma.f64 c i (*.f64 t z)) (*.f64 x y)) |
(fma.f64 x y (+.f64 (*.f64 c i) (*.f64 a b))) |
(fma.f64 y x (fma.f64 t z (*.f64 a b))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 x y (fma.f64 c i (*.f64 t z))) |
(+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
| Outputs |
|---|
(+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
19 calls:
| 19.0ms | (*.f64 z t) |
| 18.0ms | y |
| 17.0ms | x |
| 16.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 16.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | t |
| 0.0b | 1 | 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 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 460 to 225 computations (51.1% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 y x) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(fma.f64 i c (*.f64 t z)) |
(fma.f64 y x (*.f64 a b)) |
(+.f64 (fma.f64 t z (*.f64 a b)) (*.f64 y x)) |
(+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i)) |
(+.f64 (fma.f64 c i (*.f64 t z)) (*.f64 x y)) |
(fma.f64 x y (+.f64 (*.f64 c i) (*.f64 a b))) |
(fma.f64 y x (fma.f64 t z (*.f64 a b))) |
(fma.f64 c i (fma.f64 a b (*.f64 y x))) |
(fma.f64 a b (fma.f64 y x (*.f64 c i))) |
(fma.f64 x y (fma.f64 c i (*.f64 t z))) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
15 calls:
| 49.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 42.0ms | t |
| 16.0ms | z |
| 16.0ms | y |
| 15.0ms | b |
| 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 391 to 180 computations (54% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 y x) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) |
12 calls:
| 104.0ms | t |
| 92.0ms | (*.f64 x y) |
| 91.0ms | y |
| 71.0ms | x |
| 65.0ms | (*.f64 x y) |
| Error | Segments | Branch |
|---|---|---|
| 11.0b | 6 | x |
| 8.7b | 8 | y |
| 11.1b | 7 | z |
| 8.7b | 11 | t |
| 7.1b | 6 | a |
| 8.5b | 3 | b |
| 8.7b | 3 | c |
| 6.9b | 3 | i |
| 10.2b | 9 | (*.f64 x y) |
| 10.2b | 9 | (*.f64 x y) |
| 5.2b | 3 | (*.f64 a b) |
| 4.3b | 3 | (*.f64 c i) |
Compiled 231 to 122 computations (47.2% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 8.563812012560354e-11 | 3.6444506979209956e-10 |
| 26.0ms | -6.725002976982434e+28 | -1.832449235392613e+23 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 y x) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) |
| Outputs |
|---|
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
12 calls:
| 74.0ms | y |
| 70.0ms | z |
| 70.0ms | (*.f64 a b) |
| 65.0ms | t |
| 60.0ms | (*.f64 x y) |
| Error | Segments | Branch |
|---|---|---|
| 13.2b | 8 | x |
| 10.1b | 9 | y |
| 12.2b | 9 | z |
| 11.6b | 9 | t |
| 13.4b | 6 | a |
| 12.5b | 8 | b |
| 8.2b | 7 | c |
| 10.4b | 5 | i |
| 11.5b | 9 | (*.f64 x y) |
| 11.5b | 9 | (*.f64 x y) |
| 11.4b | 10 | (*.f64 a b) |
| 6.2b | 3 | (*.f64 c i) |
Compiled 209 to 120 computations (42.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 25.0ms | 2.4752696748309327e+125 | 5.516790265318322e+146 |
| 26.0ms | -6.725002976982434e+28 | -1.832449235392613e+23 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 y x) (*.f64 c i)) |
| Outputs |
|---|
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 y x) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
10 calls:
| 172.0ms | t |
| 147.0ms | x |
| 122.0ms | z |
| 100.0ms | b |
| 90.0ms | c |
| Error | Segments | Branch |
|---|---|---|
| 18.7b | 8 | x |
| 18.8b | 5 | y |
| 18.7b | 7 | z |
| 14.5b | 12 | t |
| 16.7b | 8 | a |
| 14.6b | 12 | b |
| 15.8b | 9 | c |
| 15.9b | 9 | i |
| 16.7b | 4 | (*.f64 a b) |
| 14.5b | 7 | (*.f64 c i) |
Compiled 176 to 100 computations (43.2% saved)
| 11× | binary-search |
| Time | Left | Right |
|---|---|---|
| 57.0ms | 3.7256772297573738e+199 | 1.1116939569184749e+207 |
| 63.0ms | 9.219757644043305e+164 | 6.425267764834941e+171 |
| 12.0ms | 1.4685659575982697e+102 | 2.228621326801353e+104 |
| 16.0ms | 3.8060038960785174e+83 | 2.1209456499680408e+86 |
| 27.0ms | 3.0422334852816393e+41 | 8.348800494096262e+43 |
| 27.0ms | 14.225072778404131 | 410.09669470592917 |
| 31.0ms | 4.954048685970513e-69 | 7.136605444617545e-68 |
| 28.0ms | 2.463730693800578e-104 | 4.0858251247931343e-104 |
| 40.0ms | 3.583183976748807e-222 | 7.944665304081334e-221 |
| 54.0ms | 1.810090742487807e-278 | 3.5917450219588956e-276 |
| 56.0ms | -3.602923674511332e-119 | -1.0438670122431904e-119 |
Compiled 674 to 505 computations (25.1% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
| Outputs |
|---|
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.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 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
10 calls:
| 168.0ms | t |
| 113.0ms | z |
| 95.0ms | y |
| 70.0ms | a |
| 68.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 18.0b | 9 | x |
| 18.1b | 8 | y |
| 19.1b | 7 | z |
| 14.6b | 12 | t |
| 16.7b | 8 | a |
| 16.8b | 8 | b |
| 15.8b | 9 | c |
| 18.4b | 4 | i |
| 17.7b | 3 | (*.f64 a b) |
| 14.5b | 8 | (*.f64 c i) |
Compiled 169 to 99 computations (41.4% saved)
| 7× | binary-search |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 2.2657300911518845e+103 | 5.1968078350081935e+113 |
| 25.0ms | 8.563812012560354e-11 | 3.6444506979209956e-10 |
| 25.0ms | 7.354243352626241e-120 | 2.940515315819087e-118 |
| 28.0ms | 3.407894878446139e-233 | 1.8713758529987945e-232 |
| 25.0ms | -1.7928102115681634e-189 | -3.3899150024593244e-199 |
| 26.0ms | -3.6536423374613737e-153 | -2.9716163376883653e-163 |
| 26.0ms | -6.725002976982434e+28 | -1.832449235392613e+23 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
| Outputs |
|---|
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.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 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
10 calls:
| 134.0ms | c |
| 85.0ms | b |
| 62.0ms | x |
| 60.0ms | t |
| 59.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 18.7b | 9 | x |
| 18.5b | 8 | y |
| 19.8b | 8 | z |
| 16.6b | 9 | t |
| 19.8b | 7 | a |
| 18.7b | 7 | b |
| 17.9b | 9 | c |
| 19.3b | 8 | i |
| 18.5b | 6 | (*.f64 a b) |
| 14.5b | 8 | (*.f64 c i) |
Compiled 162 to 98 computations (39.5% saved)
| 7× | binary-search |
| Time | Left | Right |
|---|---|---|
| 42.0ms | 2.245671752058582e+120 | 1.0871464197970205e+122 |
| 42.0ms | 8.563812012560354e-11 | 3.6444506979209956e-10 |
| 43.0ms | 7.354243352626241e-120 | 2.940515315819087e-118 |
| 42.0ms | 3.407894878446139e-233 | 1.8713758529987945e-232 |
| 46.0ms | -1.7928102115681634e-189 | -3.3899150024593244e-199 |
| 45.0ms | -3.6536423374613737e-153 | -2.9716163376883653e-163 |
| 26.0ms | -6.725002976982434e+28 | -1.832449235392613e+23 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
| Outputs |
|---|
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 c i) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.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 y x) (*.f64 t z)) |
(*.f64 c i) |
10 calls:
| 139.0ms | c |
| 115.0ms | i |
| 96.0ms | (*.f64 c i) |
| 70.0ms | b |
| 70.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 22.7b | 7 | x |
| 20.7b | 9 | y |
| 24.6b | 5 | z |
| 24.2b | 3 | t |
| 23.5b | 5 | a |
| 20.4b | 6 | b |
| 21.2b | 11 | c |
| 21.6b | 10 | i |
| 22.1b | 3 | (*.f64 a b) |
| 14.9b | 11 | (*.f64 c i) |
Compiled 148 to 97 computations (34.5% saved)
| 10× | binary-search |
| Time | Left | Right |
|---|---|---|
| 25.0ms | 2.245671752058582e+120 | 1.0871464197970205e+122 |
| 25.0ms | 8.563812012560354e-11 | 3.6444506979209956e-10 |
| 26.0ms | 7.354243352626241e-120 | 2.940515315819087e-118 |
| 26.0ms | 3.407894878446139e-233 | 1.8713758529987945e-232 |
| 26.0ms | -1.7928102115681634e-189 | -3.3899150024593244e-199 |
| 25.0ms | -3.6536423374613737e-153 | -2.9716163376883653e-163 |
| 26.0ms | -4.746280094471139 | -2.60329005008175 |
| 26.0ms | -6.725002976982434e+28 | -1.832449235392613e+23 |
| 25.0ms | -1.9783636499985824e+72 | -2.0723824984549582e+70 |
| 25.0ms | -1.5861817794182834e+111 | -3.443492527526038e+102 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
| Outputs |
|---|
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 c i) |
(+.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 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 c i) |
10 calls:
| 114.0ms | a |
| 78.0ms | y |
| 52.0ms | z |
| 49.0ms | c |
| 49.0ms | (*.f64 c i) |
| Error | Segments | Branch |
|---|---|---|
| 24.0b | 5 | x |
| 21.4b | 9 | y |
| 25.5b | 6 | z |
| 24.7b | 3 | t |
| 26.4b | 6 | a |
| 25.6b | 6 | b |
| 22.2b | 9 | c |
| 22.9b | 8 | i |
| 25.3b | 9 | (*.f64 a b) |
| 15.8b | 11 | (*.f64 c i) |
Compiled 134 to 96 computations (28.4% saved)
| 10× | binary-search |
| Time | Left | Right |
|---|---|---|
| 32.0ms | 2.4752696748309327e+125 | 5.516790265318322e+146 |
| 25.0ms | 3.6444506979209956e-10 | 7.654478641261363e-10 |
| 26.0ms | 7.354243352626241e-120 | 2.940515315819087e-118 |
| 26.0ms | 3.407894878446139e-233 | 1.8713758529987945e-232 |
| 28.0ms | -1.7928102115681634e-189 | -3.3899150024593244e-199 |
| 26.0ms | -3.6536423374613737e-153 | -2.9716163376883653e-163 |
| 34.0ms | -2.60329005008175 | -0.0740536588424423 |
| 26.0ms | -6.725002976982434e+28 | -1.832449235392613e+23 |
| 35.0ms | -1.9783636499985824e+72 | -2.0723824984549582e+70 |
| 25.0ms | -1.5861817794182834e+111 | -3.443492527526038e+102 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
| Outputs |
|---|
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 c i) |
10 calls:
| 132.0ms | c |
| 131.0ms | t |
| 117.0ms | y |
| 83.0ms | b |
| 68.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 28.5b | 7 | x |
| 27.7b | 9 | y |
| 28.7b | 3 | z |
| 25.8b | 7 | t |
| 27.1b | 8 | a |
| 27.9b | 10 | b |
| 23.1b | 12 | c |
| 26.1b | 7 | i |
| 28.1b | 7 | (*.f64 a b) |
| 21.4b | 5 | (*.f64 c i) |
Compiled 127 to 95 computations (25.2% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 28.0ms | 2.4752696748309327e+125 | 5.516790265318322e+146 |
| 48.0ms | -1.9288925597302295e-276 | -6.083457478934806e-277 |
| 26.0ms | -1.7928102115681634e-189 | -3.3899150024593244e-199 |
| 28.0ms | -6.725002976982434e+28 | -1.832449235392613e+23 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
| Outputs |
|---|
(*.f64 c i) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 c i) |
10 calls:
| 188.0ms | a |
| 177.0ms | x |
| 100.0ms | (*.f64 c i) |
| 96.0ms | c |
| 71.0ms | i |
| Error | Segments | Branch |
|---|---|---|
| 30.9b | 13 | x |
| 34.3b | 9 | y |
| 34.7b | 9 | z |
| 32.2b | 9 | t |
| 32.9b | 11 | a |
| 35.9b | 4 | b |
| 31.9b | 10 | c |
| 33.3b | 6 | i |
| 30.8b | 7 | (*.f64 a b) |
| 29.0b | 7 | (*.f64 c i) |
Compiled 120 to 94 computations (21.7% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 59.0ms | 5.1968078350081935e+113 | 4.732401563591382e+117 |
| 27.0ms | 8.563812012560354e-11 | 3.6444506979209956e-10 |
| 30.0ms | 6.156641087175686e-168 | 5.9128409795632e-150 |
| 26.0ms | 0.0 | 2.5321143447133826e-302 |
| 77.0ms | -1.9288925597302295e-276 | -6.083457478934806e-277 |
| 26.0ms | -6.725002976982434e+28 | -1.832449235392613e+23 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 a b) |
| Outputs |
|---|
(*.f64 y x) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 y x) |
9 calls:
| 220.0ms | x |
| 149.0ms | t |
| 89.0ms | c |
| 85.0ms | a |
| 62.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 34.9b | 11 | x |
| 37.9b | 6 | y |
| 37.8b | 6 | z |
| 35.8b | 5 | t |
| 36.7b | 7 | a |
| 37.0b | 4 | b |
| 38.4b | 10 | c |
| 39.8b | 6 | i |
| 35.2b | 3 | (*.f64 a b) |
Compiled 106 to 84 computations (20.8% saved)
| 10× | binary-search |
| Time | Left | Right |
|---|---|---|
| 26.0ms | 3.1766728897651825e-14 | 263599348.6029419 |
| 70.0ms | 7.798060715415573e-67 | 7.3186594981935855e-59 |
| 40.0ms | 7.675720693101379e-227 | 1.214199153969832e-217 |
| 31.0ms | 8.275097694765717e-264 | 2.592490129302274e-261 |
| 44.0ms | -1.6903547289927321e-236 | -4.8978779071883915e-241 |
| 165.0ms | -1.722751382591565e-65 | -1.4057113389367855e-66 |
| 84.0ms | -7.823293815619849e+21 | -899324838939992400.0 |
| 27.0ms | -6.4891678964657214e+38 | -6.217131262239003e+37 |
| 124.0ms | -4.097849209398743e+92 | -4.229798208922746e+90 |
| 91.0ms | -2.8827357621055358e+138 | -6.560732257368845e+136 |
Compiled 370 to 305 computations (17.6% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
| Outputs |
|---|
(*.f64 t z) |
(*.f64 y x) |
(*.f64 t z) |
8 calls:
| 58.0ms | b |
| 22.0ms | c |
| 18.0ms | z |
| 18.0ms | t |
| 16.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 41.0b | 3 | x |
| 41.2b | 3 | y |
| 41.3b | 5 | z |
| 40.3b | 3 | t |
| 43.6b | 4 | a |
| 42.9b | 4 | b |
| 43.6b | 5 | c |
| 44.7b | 3 | i |
Compiled 92 to 74 computations (19.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 28.0ms | 4.954048685970513e-69 | 7.136605444617545e-68 |
| 55.0ms | -3.936370583441513e-158 | -1.5326101071913409e-161 |
Compiled 34 to 25 computations (26.5% saved)
Total -0.0b remaining (-0%)
Threshold costs -0.0b (-0%)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 t z) |
(*.f64 t z) |
| Outputs |
|---|
(*.f64 t z) |
8 calls:
| 6.0ms | c |
| 5.0ms | x |
| 4.0ms | t |
| 4.0ms | z |
| 4.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 46.1b | 1 | x |
| 46.1b | 1 | y |
| 46.1b | 1 | z |
| 46.1b | 1 | t |
| 46.1b | 1 | a |
| 46.1b | 1 | b |
| 46.1b | 1 | c |
| 46.1b | 1 | i |
Compiled 89 to 73 computations (18% saved)
| 1× | egg-herbie |
| 11× | +-commutative_binary64 |
| 4× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 181 | 1294 |
| 1 | 198 | 1294 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
(+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) (+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 247526967483093273378045841984383196465835102876455918247907496541191858505527354061983578844057037444899314591021683028525056) (+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) (+.f64 (*.f64 t z) (*.f64 c i)))) |
(if (<=.f64 t -3273430559145321/90854840536950861318665475986000566794205170085914757535186274897579911014174740415773881339220445695095315200783272241691825203576832) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 t 5780243308436473/319334449525555169865019634085894170570792201669673206640407558789953902699034250525593274478821712174294791495070799239035590078142974985718267487725573027251200907672173708242806035431098077949224537079127027838932929672819339262222216842951687065201139345100120966662777359236855041588461568) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 t 5833184197418183/1627933211152308172382776316094057079381044512284157265721742629825204403764070329961287158415906809263410622703474912218234570716337735615323084973713581554222450580936038710562274972146438970881094974642550439936936217782587026682413056) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 t 7952460354631897/322781234760863573706989896500376484291213224103652939103832419567580952752105149328705669160017228929487896496593436672) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 t 4812038136403333/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 t 8008004058017379/562949953421312) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 t 304223348528163932500240112833577166569472) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 t 10000000000000000146306952306748730309700429878646550592786107871697963642511482159104) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 t 100000000000000000191567508573466873621595512726519201115280351459937932420398875596123614510818032353280) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 t 949999999999999976120818326969914087410310097857244854059148529104786609215790745588399988181680852923282925547973065497313952890737417163300838476169719521229144064) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 t 1100000000000000042782935306197227274438109742247222146677326202084604237183233864393879621686654715260591063431353346204884876725503813178194202039433958343898780448888786378990231013884215408412544647299072) (+.f64 (*.f64 a b) (*.f64 y x)) (+.f64 (*.f64 a b) (*.f64 t z))))))))))))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 c i) -6894354447658185/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 7624872967818897/223741436863085634409521749481834675708763587282583222886261325799305187541819563744885033326754909183041871165773435313081225474664635755472226765949723278285256830531087594548959384855304521689414375064310509745905707450052637371994990524269330432) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 167042151768197/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 22657300911518845285605048506764990558855817784401617482400153668345564823136821786639759789950930780160) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 t z) (*.f64 c i))))))))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 c i) -6894354447658185/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 7624872967818897/223741436863085634409521749481834675708763587282583222886261325799305187541819563744885033326754909183041871165773435313081225474664635755472226765949723278285256830531087594548959384855304521689414375064310509745905707450052637371994990524269330432) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 167042151768197/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 2245671752058581891149817867712493890826920572803332449799906846568393494577398236755924803649831963137916316164795924480) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 c i))))))))) |
(if (<=.f64 (*.f64 c i) -1586181779418283422784755718921467831079731007333912956486293661235917100892963192855790806838766916126908612608) (*.f64 c i) (if (<=.f64 (*.f64 c i) -1978363649998582445106973353549475545881361324768674784204737398880337920) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (*.f64 c i) (if (<=.f64 (*.f64 c i) -667979539526757/140737488355328) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -6894354447658185/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 7624872967818897/223741436863085634409521749481834675708763587282583222886261325799305187541819563744885033326754909183041871165773435313081225474664635755472226765949723278285256830531087594548959384855304521689414375064310509745905707450052637371994990524269330432) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 167042151768197/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 2245671752058581891149817867712493890826920572803332449799906846568393494577398236755924803649831963137916316164795924480) (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i))))))))))) |
(if (<=.f64 (*.f64 c i) -1586181779418283422784755718921467831079731007333912956486293661235917100892963192855790806838766916126908612608) (*.f64 c i) (if (<=.f64 (*.f64 c i) -1978363649998582445106973353549475545881361324768674784204737398880337920) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (*.f64 c i) (if (<=.f64 (*.f64 c i) -5862088049742745/2251799813685248) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) -6894354447658185/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 7624872967818897/223741436863085634409521749481834675708763587282583222886261325799305187541819563744885033326754909183041871165773435313081225474664635755472226765949723278285256830531087594548959384855304521689414375064310509745905707450052637371994990524269330432) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 167042151768197/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 7049392875246795/19342813113834066795298816) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 247526967483093273378045841984383196465835102876455918247907496541191858505527354061983578844057037444899314591021683028525056) (+.f64 (*.f64 a b) (*.f64 y x)) (*.f64 c i))))))))))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (*.f64 c i) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) -4812201904338999/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (*.f64 t z) (if (<=.f64 (*.f64 c i) 247526967483093273378045841984383196465835102876455918247907496541191858505527354061983578844057037444899314591021683028525056) (+.f64 (*.f64 a b) (*.f64 y x)) (*.f64 c i))))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (*.f64 c i) (if (<=.f64 (*.f64 c i) -4812201904338999/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (*.f64 t z) (if (<=.f64 (*.f64 c i) 0) (*.f64 a b) (if (<=.f64 (*.f64 c i) 6540051979071465/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (*.f64 t z) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (*.f64 a b) (if (<=.f64 (*.f64 c i) 519680783500819345831630227249128345090508272536733474930039424319979706628554023726424358396751558526466411986944) (*.f64 y x) (*.f64 c i))))))) |
(if (<=.f64 x -2849999999999999928334460896671889587134158805932133375108922523767124148499346968698955940461186669851953478706497729501345192051663175680) (*.f64 y x) (if (<=.f64 x -4399999999999999807298811089714521381898402788509838207926980468144545596011349861929582592) (*.f64 t z) (if (<=.f64 x -648916789646572140204776942113812119552) (*.f64 a b) (if (<=.f64 x -7823293815619849289728) (*.f64 t z) (if (<=.f64 x -255335656738243/14821387422376473014217086081112052205218558037201992197050570753012880593911808) (*.f64 a b) (if (<=.f64 x -3872792533741011/229111231347799689635350271469398707925773913377365220235531597618488512042823233274762274126597027003434876073751997760595174886056587013603560208332516636964102994463833696818134410091831830209960320065853961979807444428853900668922870296851794362368) (*.f64 t z) (if (<=.f64 x 2347032583507947/283625966735416996535885333662014114404918709117773906527666446555317050392228007039102232836943884008369202383078188524332921074971181050832906833858946728855699699487201666630303651778087184309051360279531753007138776532531333940154475963659030548670205136385754377903702802432) (*.f64 a b) (if (<=.f64 x 8189090618296729/106688230926077668385277628651540124754316133157054530566340124988224595805082113144342915213944868651886878569494931847134220826465909841285813696837293280737522521272224232935409252574589024395663440258174185631707051968599623380658622038016) (*.f64 t z) (if (<=.f64 x 5917597645127089/7588550360256754183279148073529370729071901715047420004889892225542594864082845696) (*.f64 a b) (if (<=.f64 x 314602444956217/9903520314283042199192993792) (*.f64 t z) (*.f64 y x))))))))))) |
(if (<=.f64 t -4867920583747541/123665200736552267030251260509823595017565674550605919957031528046448612553265933585158200530621522494798835713008069669675682517153375604983773077550946583958303386074349568) (*.f64 t z) (if (<=.f64 t 4812038136403333/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
| Outputs |
|---|
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
(+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 c i)) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) (+.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i)))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (+.f64 (*.f64 c i) (+.f64 (*.f64 x y) (*.f64 z t))) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (+.f64 (*.f64 x y) (+.f64 (*.f64 a b) (*.f64 z t))) (+.f64 (*.f64 c i) (+.f64 (*.f64 x y) (*.f64 z t))))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 247526967483093273378045841984383196465835102876455918247907496541191858505527354061983578844057037444899314591021683028525056) (+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) (+.f64 (*.f64 t z) (*.f64 c i)))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 247526967483093273378045841984383196465835102876455918247907496541191858505527354061983578844057037444899314591021683028525056) (+.f64 (*.f64 x y) (+.f64 (*.f64 a b) (*.f64 z t))) (+.f64 (*.f64 c i) (*.f64 z t)))) |
(if (<=.f64 t -3273430559145321/90854840536950861318665475986000566794205170085914757535186274897579911014174740415773881339220445695095315200783272241691825203576832) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 t 5780243308436473/319334449525555169865019634085894170570792201669673206640407558789953902699034250525593274478821712174294791495070799239035590078142974985718267487725573027251200907672173708242806035431098077949224537079127027838932929672819339262222216842951687065201139345100120966662777359236855041588461568) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 t 5833184197418183/1627933211152308172382776316094057079381044512284157265721742629825204403764070329961287158415906809263410622703474912218234570716337735615323084973713581554222450580936038710562274972146438970881094974642550439936936217782587026682413056) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 t 7952460354631897/322781234760863573706989896500376484291213224103652939103832419567580952752105149328705669160017228929487896496593436672) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 t 4812038136403333/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 t 8008004058017379/562949953421312) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 t 304223348528163932500240112833577166569472) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 t 10000000000000000146306952306748730309700429878646550592786107871697963642511482159104) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 t 100000000000000000191567508573466873621595512726519201115280351459937932420398875596123614510818032353280) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 t 949999999999999976120818326969914087410310097857244854059148529104786609215790745588399988181680852923282925547973065497313952890737417163300838476169719521229144064) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 t 1100000000000000042782935306197227274438109742247222146677326202084604237183233864393879621686654715260591063431353346204884876725503813178194202039433958343898780448888786378990231013884215408412544647299072) (+.f64 (*.f64 a b) (*.f64 y x)) (+.f64 (*.f64 a b) (*.f64 t z))))))))))))) |
(if (<=.f64 t -3273430559145321/90854840536950861318665475986000566794205170085914757535186274897579911014174740415773881339220445695095315200783272241691825203576832) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 t 5780243308436473/319334449525555169865019634085894170570792201669673206640407558789953902699034250525593274478821712174294791495070799239035590078142974985718267487725573027251200907672173708242806035431098077949224537079127027838932929672819339262222216842951687065201139345100120966662777359236855041588461568) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 t 5833184197418183/1627933211152308172382776316094057079381044512284157265721742629825204403764070329961287158415906809263410622703474912218234570716337735615323084973713581554222450580936038710562274972146438970881094974642550439936936217782587026682413056) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 t 7952460354631897/322781234760863573706989896500376484291213224103652939103832419567580952752105149328705669160017228929487896496593436672) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 t 4812038136403333/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 t 8008004058017379/562949953421312) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 t 304223348528163932500240112833577166569472) (+.f64 (*.f64 x y) (*.f64 z t)) (if (<=.f64 t 10000000000000000146306952306748730309700429878646550592786107871697963642511482159104) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 t 100000000000000000191567508573466873621595512726519201115280351459937932420398875596123614510818032353280) (+.f64 (*.f64 x y) (*.f64 z t)) (if (<=.f64 t 949999999999999976120818326969914087410310097857244854059148529104786609215790745588399988181680852923282925547973065497313952890737417163300838476169719521229144064) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 t 1100000000000000042782935306197227274438109742247222146677326202084604237183233864393879621686654715260591063431353346204884876725503813178194202039433958343898780448888786378990231013884215408412544647299072) (+.f64 (*.f64 a b) (*.f64 x y)) (+.f64 (*.f64 a b) (*.f64 z t))))))))))))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 c i) -6894354447658185/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 7624872967818897/223741436863085634409521749481834675708763587282583222886261325799305187541819563744885033326754909183041871165773435313081225474664635755472226765949723278285256830531087594548959384855304521689414375064310509745905707450052637371994990524269330432) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 167042151768197/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 22657300911518845285605048506764990558855817784401617482400153668345564823136821786639759789950930780160) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 t z) (*.f64 c i))))))))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 c i) -6894354447658185/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) 7624872967818897/223741436863085634409521749481834675708763587282583222886261325799305187541819563744885033326754909183041871165773435313081225474664635755472226765949723278285256830531087594548959384855304521689414375064310509745905707450052637371994990524269330432) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) 167042151768197/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) 22657300911518845285605048506764990558855817784401617482400153668345564823136821786639759789950930780160) (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 c i) (*.f64 z t))))))))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 c i) -6894354447658185/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 7624872967818897/223741436863085634409521749481834675708763587282583222886261325799305187541819563744885033326754909183041871165773435313081225474664635755472226765949723278285256830531087594548959384855304521689414375064310509745905707450052637371994990524269330432) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 167042151768197/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 2245671752058581891149817867712493890826920572803332449799906846568393494577398236755924803649831963137916316164795924480) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 c i))))))))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 c i) -6894354447658185/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) 7624872967818897/223741436863085634409521749481834675708763587282583222886261325799305187541819563744885033326754909183041871165773435313081225474664635755472226765949723278285256830531087594548959384855304521689414375064310509745905707450052637371994990524269330432) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) 167042151768197/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) 2245671752058581891149817867712493890826920572803332449799906846568393494577398236755924803649831963137916316164795924480) (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))))))))) |
(if (<=.f64 (*.f64 c i) -1586181779418283422784755718921467831079731007333912956486293661235917100892963192855790806838766916126908612608) (*.f64 c i) (if (<=.f64 (*.f64 c i) -1978363649998582445106973353549475545881361324768674784204737398880337920) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (*.f64 c i) (if (<=.f64 (*.f64 c i) -667979539526757/140737488355328) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -6894354447658185/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 7624872967818897/223741436863085634409521749481834675708763587282583222886261325799305187541819563744885033326754909183041871165773435313081225474664635755472226765949723278285256830531087594548959384855304521689414375064310509745905707450052637371994990524269330432) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 167042151768197/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 2245671752058581891149817867712493890826920572803332449799906846568393494577398236755924803649831963137916316164795924480) (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c i))))))))))) |
(if (<=.f64 (*.f64 c i) -1586181779418283422784755718921467831079731007333912956486293661235917100892963192855790806838766916126908612608) (*.f64 c i) (if (<=.f64 (*.f64 c i) -1978363649998582445106973353549475545881361324768674784204737398880337920) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (*.f64 c i) (if (<=.f64 (*.f64 c i) -667979539526757/140737488355328) (+.f64 (*.f64 x y) (*.f64 z t)) (if (<=.f64 (*.f64 c i) -6894354447658185/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) 7624872967818897/223741436863085634409521749481834675708763587282583222886261325799305187541819563744885033326754909183041871165773435313081225474664635755472226765949723278285256830531087594548959384855304521689414375064310509745905707450052637371994990524269330432) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) 167042151768197/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) 2245671752058581891149817867712493890826920572803332449799906846568393494577398236755924803649831963137916316164795924480) (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 c i))))))))))) |
(if (<=.f64 (*.f64 c i) -1586181779418283422784755718921467831079731007333912956486293661235917100892963192855790806838766916126908612608) (*.f64 c i) (if (<=.f64 (*.f64 c i) -1978363649998582445106973353549475545881361324768674784204737398880337920) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (*.f64 c i) (if (<=.f64 (*.f64 c i) -5862088049742745/2251799813685248) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) -6894354447658185/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 7624872967818897/223741436863085634409521749481834675708763587282583222886261325799305187541819563744885033326754909183041871165773435313081225474664635755472226765949723278285256830531087594548959384855304521689414375064310509745905707450052637371994990524269330432) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 167042151768197/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 7049392875246795/19342813113834066795298816) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 247526967483093273378045841984383196465835102876455918247907496541191858505527354061983578844057037444899314591021683028525056) (+.f64 (*.f64 a b) (*.f64 y x)) (*.f64 c i))))))))))) |
(if (<=.f64 (*.f64 c i) -1586181779418283422784755718921467831079731007333912956486293661235917100892963192855790806838766916126908612608) (*.f64 c i) (if (<=.f64 (*.f64 c i) -1978363649998582445106973353549475545881361324768674784204737398880337920) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (*.f64 c i) (if (<=.f64 (*.f64 c i) -5862088049742745/2251799813685248) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) -6894354447658185/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) 7624872967818897/223741436863085634409521749481834675708763587282583222886261325799305187541819563744885033326754909183041871165773435313081225474664635755472226765949723278285256830531087594548959384855304521689414375064310509745905707450052637371994990524269330432) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) 167042151768197/22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894208) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) 7049392875246795/19342813113834066795298816) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) 247526967483093273378045841984383196465835102876455918247907496541191858505527354061983578844057037444899314591021683028525056) (+.f64 (*.f64 a b) (*.f64 x y)) (*.f64 c i))))))))))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (*.f64 c i) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) -4812201904338999/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (*.f64 t z) (if (<=.f64 (*.f64 c i) 247526967483093273378045841984383196465835102876455918247907496541191858505527354061983578844057037444899314591021683028525056) (+.f64 (*.f64 a b) (*.f64 y x)) (*.f64 c i))))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (*.f64 c i) (if (<=.f64 (*.f64 c i) -8993554457218391/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) -4812201904338999/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (*.f64 z t) (if (<=.f64 (*.f64 c i) 247526967483093273378045841984383196465835102876455918247907496541191858505527354061983578844057037444899314591021683028525056) (+.f64 (*.f64 a b) (*.f64 x y)) (*.f64 c i))))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (*.f64 c i) (if (<=.f64 (*.f64 c i) -4812201904338999/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (*.f64 t z) (if (<=.f64 (*.f64 c i) 0) (*.f64 a b) (if (<=.f64 (*.f64 c i) 6540051979071465/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (*.f64 t z) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (*.f64 a b) (if (<=.f64 (*.f64 c i) 519680783500819345831630227249128345090508272536733474930039424319979706628554023726424358396751558526466411986944) (*.f64 y x) (*.f64 c i))))))) |
(if (<=.f64 (*.f64 c i) -67250029769824342264392974336) (*.f64 c i) (if (<=.f64 (*.f64 c i) -4812201904338999/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (*.f64 z t) (if (<=.f64 (*.f64 c i) 0) (*.f64 a b) (if (<=.f64 (*.f64 c i) 6540051979071465/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (*.f64 z t) (if (<=.f64 (*.f64 c i) 6625928612038485/77371252455336267181195264) (*.f64 a b) (if (<=.f64 (*.f64 c i) 519680783500819345831630227249128345090508272536733474930039424319979706628554023726424358396751558526466411986944) (*.f64 x y) (*.f64 c i))))))) |
(if (<=.f64 x -2849999999999999928334460896671889587134158805932133375108922523767124148499346968698955940461186669851953478706497729501345192051663175680) (*.f64 y x) (if (<=.f64 x -4399999999999999807298811089714521381898402788509838207926980468144545596011349861929582592) (*.f64 t z) (if (<=.f64 x -648916789646572140204776942113812119552) (*.f64 a b) (if (<=.f64 x -7823293815619849289728) (*.f64 t z) (if (<=.f64 x -255335656738243/14821387422376473014217086081112052205218558037201992197050570753012880593911808) (*.f64 a b) (if (<=.f64 x -3872792533741011/229111231347799689635350271469398707925773913377365220235531597618488512042823233274762274126597027003434876073751997760595174886056587013603560208332516636964102994463833696818134410091831830209960320065853961979807444428853900668922870296851794362368) (*.f64 t z) (if (<=.f64 x 2347032583507947/283625966735416996535885333662014114404918709117773906527666446555317050392228007039102232836943884008369202383078188524332921074971181050832906833858946728855699699487201666630303651778087184309051360279531753007138776532531333940154475963659030548670205136385754377903702802432) (*.f64 a b) (if (<=.f64 x 8189090618296729/106688230926077668385277628651540124754316133157054530566340124988224595805082113144342915213944868651886878569494931847134220826465909841285813696837293280737522521272224232935409252574589024395663440258174185631707051968599623380658622038016) (*.f64 t z) (if (<=.f64 x 5917597645127089/7588550360256754183279148073529370729071901715047420004889892225542594864082845696) (*.f64 a b) (if (<=.f64 x 314602444956217/9903520314283042199192993792) (*.f64 t z) (*.f64 y x))))))))))) |
(if (<=.f64 x -2849999999999999928334460896671889587134158805932133375108922523767124148499346968698955940461186669851953478706497729501345192051663175680) (*.f64 x y) (if (<=.f64 x -4399999999999999807298811089714521381898402788509838207926980468144545596011349861929582592) (*.f64 z t) (if (<=.f64 x -648916789646572140204776942113812119552) (*.f64 a b) (if (<=.f64 x -7823293815619849289728) (*.f64 z t) (if (<=.f64 x -255335656738243/14821387422376473014217086081112052205218558037201992197050570753012880593911808) (*.f64 a b) (if (<=.f64 x -3872792533741011/229111231347799689635350271469398707925773913377365220235531597618488512042823233274762274126597027003434876073751997760595174886056587013603560208332516636964102994463833696818134410091831830209960320065853961979807444428853900668922870296851794362368) (*.f64 z t) (if (<=.f64 x 2347032583507947/283625966735416996535885333662014114404918709117773906527666446555317050392228007039102232836943884008369202383078188524332921074971181050832906833858946728855699699487201666630303651778087184309051360279531753007138776532531333940154475963659030548670205136385754377903702802432) (*.f64 a b) (if (<=.f64 x 8189090618296729/106688230926077668385277628651540124754316133157054530566340124988224595805082113144342915213944868651886878569494931847134220826465909841285813696837293280737522521272224232935409252574589024395663440258174185631707051968599623380658622038016) (*.f64 z t) (if (<=.f64 x 5917597645127089/7588550360256754183279148073529370729071901715047420004889892225542594864082845696) (*.f64 a b) (if (<=.f64 x 314602444956217/9903520314283042199192993792) (*.f64 z t) (*.f64 x y))))))))))) |
(if (<=.f64 t -4867920583747541/123665200736552267030251260509823595017565674550605919957031528046448612553265933585158200530621522494798835713008069669675682517153375604983773077550946583958303386074349568) (*.f64 t z) (if (<=.f64 t 4812038136403333/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (*.f64 y x) (*.f64 t z))) |
(if (<=.f64 t -4867920583747541/123665200736552267030251260509823595017565674550605919957031528046448612553265933585158200530621522494798835713008069669675682517153375604983773077550946583958303386074349568) (*.f64 z t) (if (<=.f64 t 4812038136403333/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (*.f64 x y) (*.f64 z t))) |
(*.f64 t z) |
(*.f64 z t) |
Compiled 1013 to 420 computations (58.5% 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 1061 to 335 computations (68.4% saved)
Loading profile data...