Time bar (total: 12.4s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.6% | 0.4% | 0 |
| 0% | 99.6% | 0.4% | 1 |
| 0% | 99.6% | 0.4% | 2 |
| 0% | 99.6% | 0.4% | 3 |
| 0% | 99.6% | 0.4% | 4 |
| 0% | 99.6% | 0.4% | 5 |
| 0% | 99.6% | 0.4% | 6 |
| 0% | 99.6% | 0.4% | 7 |
| 0% | 99.6% | 0.4% | 8 |
| 0% | 99.6% | 0.4% | 9 |
| 0% | 99.6% | 0.4% | 10 |
| 0% | 99.6% | 0.4% | 11 |
| 0% | 99.6% | 0.4% | 12 |
Compiled 24 to 16 computations (33.3% saved)
| 1.7s | 8256× | body | 256 | valid |
| 1.2s | 5801× | body | 256 | invalid |
| 2× | egg-herbie |
| 771× | fma-def_binary64 |
| 329× | associate-+l+_binary64 |
| 267× | associate-+r+_binary64 |
| 212× | +-commutative_binary64 |
| 28× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 133 | 580 |
| 1 | 363 | 464 |
| 2 | 1010 | 464 |
| 3 | 1727 | 464 |
| 4 | 1866 | 464 |
| 5 | 1872 | 464 |
| 0 | 8 | 8 |
| 1 | 8 | 8 |
| 1× | unsound |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
| Outputs |
|---|
0 |
1 |
0 |
2 |
3 |
2 |
4 |
5 |
4 |
6 |
7 |
6 |
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 c y) (*.f64 z t)) (*.f64 a b)) (*.f64 x i)) |
(+.f64 (+.f64 (+.f64 (*.f64 i y) (*.f64 z t)) (*.f64 a b)) (*.f64 c x)) |
(+.f64 (+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x c) (*.f64 z t)) (*.f64 a b)) (*.f64 y i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x i) (*.f64 z t)) (*.f64 a b)) (*.f64 c y)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 c t)) (*.f64 a b)) (*.f64 z i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 i t)) (*.f64 a b)) (*.f64 c z)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z c)) (*.f64 a b)) (*.f64 t i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z i)) (*.f64 a b)) (*.f64 c t)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 c b)) (*.f64 a i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 i b)) (*.f64 c a)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a c)) (*.f64 b i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a i)) (*.f64 c b)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 i c)) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) |
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y)))) |
(+.f64 (+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) |
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y)))) |
(+.f64 (+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (fma.f64 x t (*.f64 y z)))) |
(fma.f64 c i (fma.f64 x t (fma.f64 y z (*.f64 a b)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 x t (*.f64 y z)))) |
(fma.f64 x t (fma.f64 c i (fma.f64 y z (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (fma.f64 t y (*.f64 x z)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 x z (fma.f64 y t (*.f64 a b)))) |
(fma.f64 y t (fma.f64 x z (fma.f64 a b (*.f64 c i)))) |
(fma.f64 x z (fma.f64 a b (fma.f64 c i (*.f64 y t)))) |
(+.f64 (+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y a) (fma.f64 x b (*.f64 z t)))) |
(fma.f64 c i (fma.f64 x b (fma.f64 y a (*.f64 z t)))) |
(fma.f64 x b (fma.f64 z t (fma.f64 y a (*.f64 c i)))) |
(fma.f64 x b (fma.f64 y a (fma.f64 z t (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (fma.f64 b y (*.f64 z t)) (*.f64 x a))) |
(fma.f64 c i (fma.f64 x a (fma.f64 y b (*.f64 z t)))) |
(fma.f64 z t (fma.f64 y b (fma.f64 x a (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 c y) (*.f64 z t)) (*.f64 a b)) (*.f64 x i)) |
(+.f64 (fma.f64 c y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 x i))) |
(fma.f64 x i (fma.f64 y c (fma.f64 z t (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 i y) (*.f64 z t)) (*.f64 a b)) (*.f64 c x)) |
(+.f64 (fma.f64 i y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 x c))) |
(fma.f64 x c (fma.f64 y i (fma.f64 z t (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (fma.f64 t y (*.f64 x z)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 x z (fma.f64 y t (*.f64 a b)))) |
(fma.f64 y t (fma.f64 x z (fma.f64 a b (*.f64 c i)))) |
(fma.f64 x z (fma.f64 a b (fma.f64 c i (*.f64 y t)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (fma.f64 x t (*.f64 y z)))) |
(fma.f64 c i (fma.f64 x t (fma.f64 y z (*.f64 a b)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 x t (*.f64 y z)))) |
(fma.f64 x t (fma.f64 c i (fma.f64 y z (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (fma.f64 b y (*.f64 z t)) (*.f64 x a))) |
(fma.f64 c i (fma.f64 x a (fma.f64 y b (*.f64 z t)))) |
(fma.f64 z t (fma.f64 y b (fma.f64 x a (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y a) (fma.f64 x b (*.f64 z t)))) |
(fma.f64 c i (fma.f64 x b (fma.f64 y a (*.f64 z t)))) |
(fma.f64 x b (fma.f64 z t (fma.f64 y a (*.f64 c i)))) |
(fma.f64 x b (fma.f64 y a (fma.f64 z t (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x c) (*.f64 z t)) (*.f64 a b)) (*.f64 y i)) |
(+.f64 (fma.f64 i y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 x c))) |
(fma.f64 x c (fma.f64 y i (fma.f64 z t (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x i) (*.f64 z t)) (*.f64 a b)) (*.f64 c y)) |
(+.f64 (fma.f64 c y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 x i))) |
(fma.f64 x i (fma.f64 y c (fma.f64 z t (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) |
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (fma.f64 x y (*.f64 t a)) (*.f64 z b))) |
(fma.f64 c i (fma.f64 x y (fma.f64 z b (*.f64 t a)))) |
(fma.f64 x y (fma.f64 z b (fma.f64 t a (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (fma.f64 x y (*.f64 t b)) (*.f64 z a))) |
(fma.f64 c i (fma.f64 t b (fma.f64 x y (*.f64 z a)))) |
(fma.f64 z a (fma.f64 c i (fma.f64 x y (*.f64 t b)))) |
(fma.f64 z a (fma.f64 t b (fma.f64 x y (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 c t)) (*.f64 a b)) (*.f64 z i)) |
(+.f64 (fma.f64 x y (*.f64 t c)) (+.f64 (*.f64 a b) (*.f64 z i))) |
(fma.f64 z i (fma.f64 x y (fma.f64 a b (*.f64 t c)))) |
(fma.f64 x y (fma.f64 z i (fma.f64 a b (*.f64 t c)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 i t)) (*.f64 a b)) (*.f64 c z)) |
(+.f64 (fma.f64 x y (*.f64 t i)) (+.f64 (*.f64 a b) (*.f64 z c))) |
(fma.f64 z c (fma.f64 x y (fma.f64 t i (*.f64 a b)))) |
(fma.f64 x y (fma.f64 t i (fma.f64 z c (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (fma.f64 x y (*.f64 t b)) (*.f64 z a))) |
(fma.f64 c i (fma.f64 t b (fma.f64 x y (*.f64 z a)))) |
(fma.f64 z a (fma.f64 c i (fma.f64 x y (*.f64 t b)))) |
(fma.f64 z a (fma.f64 t b (fma.f64 x y (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (fma.f64 x y (*.f64 t a)) (*.f64 z b))) |
(fma.f64 c i (fma.f64 x y (fma.f64 z b (*.f64 t a)))) |
(fma.f64 x y (fma.f64 z b (fma.f64 t a (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z c)) (*.f64 a b)) (*.f64 t i)) |
(+.f64 (fma.f64 x y (*.f64 t i)) (+.f64 (*.f64 a b) (*.f64 z c))) |
(fma.f64 z c (fma.f64 x y (fma.f64 t i (*.f64 a b)))) |
(fma.f64 x y (fma.f64 t i (fma.f64 z c (*.f64 a b)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z i)) (*.f64 a b)) (*.f64 c t)) |
(+.f64 (fma.f64 x y (*.f64 t c)) (+.f64 (*.f64 a b) (*.f64 z i))) |
(fma.f64 z i (fma.f64 x y (fma.f64 a b (*.f64 t c)))) |
(fma.f64 x y (fma.f64 z i (fma.f64 a b (*.f64 t c)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a)) (*.f64 c i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) |
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 c b)) (*.f64 a i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 b c) (*.f64 a i))) |
(fma.f64 a i (fma.f64 b c (fma.f64 x y (*.f64 z t)))) |
(fma.f64 a i (fma.f64 x y (fma.f64 b c (*.f64 z t)))) |
(fma.f64 x y (fma.f64 a i (fma.f64 b c (*.f64 z t)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 i b)) (*.f64 c a)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 b i) (*.f64 a c))) |
(fma.f64 a c (fma.f64 b i (fma.f64 x y (*.f64 z t)))) |
(fma.f64 a c (fma.f64 z t (fma.f64 x y (*.f64 b i)))) |
(fma.f64 x y (fma.f64 b i (fma.f64 a c (*.f64 z t)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a c)) (*.f64 b i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 b i) (*.f64 a c))) |
(fma.f64 a c (fma.f64 b i (fma.f64 x y (*.f64 z t)))) |
(fma.f64 a c (fma.f64 z t (fma.f64 x y (*.f64 b i)))) |
(fma.f64 x y (fma.f64 b i (fma.f64 a c (*.f64 z t)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a i)) (*.f64 c b)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 b c) (*.f64 a i))) |
(fma.f64 a i (fma.f64 b c (fma.f64 x y (*.f64 z t)))) |
(fma.f64 a i (fma.f64 x y (fma.f64 b c (*.f64 z t)))) |
(fma.f64 x y (fma.f64 a i (fma.f64 b c (*.f64 z t)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 i c)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) |
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y)))) |
(sort x y)
(sort z t)
(sort a b)
(sort c i)
Compiled 31 to 23 computations (25.8% saved)
| 1× | egg-herbie |
| 58× | fma-def_binary64 |
| 24× | associate-+l+_binary64 |
| 21× | associate-+r+_binary64 |
| 17× | +-commutative_binary64 |
| 4× | *-commutative_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 20 |
| 1 | 28 | 16 |
| 2 | 63 | 16 |
| 3 | 124 | 16 |
| 4 | 150 | 16 |
| 5 | 152 | 16 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))) |
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) |
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
Compiled 35 to 18 computations (48.6% saved)
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (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 2 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 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
Compiled 61 to 15 computations (75.4% saved)
42 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 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 | y | @ | -inf | (+.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 | x | @ | 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 | 34 |
| 1 | 348 | 28 |
| 2 | 5058 | 28 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.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 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 | 2056 |
| 1 | 53 | 2056 |
| 2 | 104 | 2056 |
| 3 | 138 | 2056 |
| 4 | 142 | 2056 |
| 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 (*.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 (*.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 | 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 | x | @ | inf | (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 | x | @ | -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 4148 to 845 computations (79.6% saved)
13 alts after pruning (13 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 204 | 13 | 217 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 206 | 13 | 219 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
| 0.0b | (fma.f64 i c (fma.f64 a b (fma.f64 x y (*.f64 z t)))) | |
| ▶ | 15.8b | (fma.f64 x y (+.f64 (*.f64 c i) (*.f64 t z))) |
| ▶ | 49.3b | (*.f64 y x) |
| 29.7b | (+.f64 (*.f64 a b) (*.f64 c i)) | |
| 29.3b | (+.f64 (*.f64 t z) (*.f64 c i)) | |
| ▶ | 31.7b | (+.f64 (*.f64 y x) (*.f64 c i)) |
| ▶ | 47.5b | (*.f64 a b) |
| 15.8b | (fma.f64 t z (fma.f64 y x (*.f64 c i))) | |
| 13.5b | (+.f64 (fma.f64 a b (*.f64 t z)) (*.f64 c i)) | |
| 44.9b | (*.f64 c i) | |
| 18.3b | (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) | |
| 47.1b | (*.f64 t z) |
Compiled 404 to 284 computations (29.7% 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 | z | @ | 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 | i | @ | inf | (+.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)) |
| 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 | |
|---|---|---|---|---|
| 4.0ms | i | @ | 0 | (+.f64 (*.f64 y x) (*.f64 c i)) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y x) (*.f64 c i)) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 y x) (*.f64 c i)) |
| 0.0ms | i | @ | 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 t z)) |
| ✓ | 0.0b | (fma.f64 x y (+.f64 (*.f64 c i) (*.f64 t z))) |
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 t z))) |
| 0.0ms | i | @ | inf | (fma.f64 x y (+.f64 (*.f64 c i) (*.f64 t z))) |
| 0.0ms | x | @ | inf | (fma.f64 x y (+.f64 (*.f64 c i) (*.f64 t z))) |
| 0.0ms | t | @ | -inf | (fma.f64 x y (+.f64 (*.f64 c i) (*.f64 t z))) |
| 0.0ms | c | @ | inf | (fma.f64 x y (+.f64 (*.f64 c i) (*.f64 t z))) |
| 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 t z))) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 c i (*.f64 t z)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x y (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) 1) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (*.f64 c i)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (*.f64 t z)) (*.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 t z))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) 2) (cbrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) (sqrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (fma.f64 c i (*.f64 t z)) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (fma.f64 c i (*.f64 t z)) 2) (*.f64 (*.f64 x y) (fma.f64 c i (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (fma.f64 c i (*.f64 t z)) 2)) (-.f64 (*.f64 x y) (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 c i (*.f64 t z))) (exp.f64 (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 c i (*.f64 t z)))) (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 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))))) 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 t z))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) 1) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 c i (*.f64 t z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (*.f64 c i) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (*.f64 c i) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 c i (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z))) (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z))) 2) (cbrt.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 c i (*.f64 t z))) (sqrt.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3)) (/.f64 1 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.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 t z) 2)) (/.f64 1 (-.f64 (*.f64 c i) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 c i)) (pow.f64 (*.f64 c i) 2)) (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 c i) (*.f64 t z)) (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 t z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3)) (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.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 t z) 3)) (+.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 c i) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 t z) 2)) (-.f64 (*.f64 c i) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3))) (neg.f64 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.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 t z) 2))) (neg.f64 (-.f64 (*.f64 c i) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (*.f64 t z) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c i (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c i (*.f64 t z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c i (*.f64 t z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c i (*.f64 t z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 c i)) (pow.f64 (*.f64 c i) 2)) (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 c i) (*.f64 t z)) (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 t z) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 c i (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (pow.f64 (exp.f64 z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 i) c) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (+.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 i) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.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 t z))) (+.f64 1 (expm1.f64 (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 c i (*.f64 t z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 c i (*.f64 t z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 c i (*.f64 t z)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 c i (*.f64 t z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 c i (*.f64 t z))) 1) 1))))) (#(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 (*.f64 c i) 1 (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1 (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 i) 2) (*.f64 (cbrt.f64 i) c) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t z)) (cbrt.f64 (pow.f64 (*.f64 t z) 2)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 t z) 2)) (cbrt.f64 (*.f64 t z)) (*.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 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.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 t) 2) (*.f64 (cbrt.f64 t) z) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (*.f64 (cbrt.f64 c) i) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 i) (*.f64 (sqrt.f64 i) c) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (*.f64 (sqrt.f64 c) i) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (pow.f64 (cbrt.f64 i) 2)) (cbrt.f64 i) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (sqrt.f64 i)) (sqrt.f64 i) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (sqrt.f64 c)) (sqrt.f64 c) (*.f64 t z)))))) |
| 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 (*.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 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))) |
(+.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 t z) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 t z) |
| Outputs |
|---|
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(+.f64 (*.f64 c i) (*.f64 t z)) |
(fma.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(fma.f64 y x (*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(+.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(+.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(*.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))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.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))) |
(*.f64 t z) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 t z) |
Compiled 4612 to 1116 computations (75.8% saved)
14 alts after pruning (11 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 270 | 9 | 279 |
| Fresh | 6 | 2 | 8 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 3 | 4 |
| Total | 278 | 14 | 292 |
| Status | Error | Program |
|---|---|---|
| ▶ | 33.6b | (+.f64 (*.f64 y x) (*.f64 t z)) |
| ▶ | 29.7b | (+.f64 (*.f64 a b) (*.f64 c i)) |
| 47.1b | (*.f64 t z) | |
| 18.3b | (+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) | |
| ✓ | 49.3b | (*.f64 y x) |
| ▶ | 44.9b | (*.f64 c i) |
| ▶ | 31.7b | (fma.f64 i c (*.f64 y x)) |
| ▶ | 0.0b | (+.f64 (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) (*.f64 x y)) |
| 18.3b | (fma.f64 y x (fma.f64 t z (*.f64 a b))) | |
| 31.7b | (fma.f64 y x (*.f64 c i)) | |
| 18.3b | (+.f64 (fma.f64 a b (*.f64 t z)) (*.f64 x y)) | |
| 29.3b | (+.f64 (*.f64 t z) (*.f64 c i)) | |
| ✓ | 31.7b | (+.f64 (*.f64 y x) (*.f64 c i)) |
| ✓ | 47.5b | (*.f64 a b) |
Compiled 379 to 271 computations (28.5% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) (*.f64 x y)) |
| ✓ | 0.0b | (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) |
Compiled 55 to 14 computations (74.5% saved)
42 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | z | @ | 0 | (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) |
| 1.0ms | z | @ | -inf | (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) |
| 1.0ms | z | @ | inf | (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) |
| 1.0ms | t | @ | -inf | (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) |
| 1.0ms | c | @ | 0 | (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) |
| 1× | batch-egg-rewrite |
| 818× | log-prod_binary64 |
| 713× | fma-def_binary64 |
| 327× | fma-neg_binary64 |
| 300× | expm1-udef_binary64 |
| 300× | log1p-udef_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 34 |
| 1 | 316 | 28 |
| 2 | 4351 | 28 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) |
(+.f64 (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) (*.f64 x y)) |
| Outputs |
|---|
((#(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 (/.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 2) (-.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b))) (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b))))))) (#(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)))) (cbrt.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.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)))))))) (#(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 (fma.f64 z t (*.f64 c i)) 3) (pow.f64 (*.f64 a b) 3)) (/.f64 1 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 z t (*.f64 c i))) (pow.f64 (fma.f64 z t (*.f64 c i)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 2) (pow.f64 (*.f64 a b) 2)) (/.f64 1 (-.f64 (fma.f64 z t (*.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) (fma.f64 z t (*.f64 c i))) (pow.f64 (fma.f64 z t (*.f64 c i)) 2)) (+.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 3) (pow.f64 (*.f64 a b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) (-.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 2) (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 3) (pow.f64 (*.f64 a b) 3)) (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 z t (*.f64 c i))) (pow.f64 (fma.f64 z t (*.f64 c i)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 3) (pow.f64 (*.f64 a b) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 2) (*.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 2) (pow.f64 (*.f64 a b) 2)) (-.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 3) (pow.f64 (*.f64 a b) 3))) (neg.f64 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 z t (*.f64 c i))) (pow.f64 (fma.f64 z t (*.f64 c i)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 2) (pow.f64 (*.f64 a b) 2))) (neg.f64 (-.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (fma.f64 z t (*.f64 c i)) 2)) (-.f64 (*.f64 a b) (fma.f64 z t (*.f64 c i))))))) (#(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 (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 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 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 (+.f64 1 (expm1.f64 (fma.f64 z t (*.f64 c i)))) (pow.f64 (exp.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z t (*.f64 c i))) (+.f64 1 (expm1.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 z t (*.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))) (exp.f64 (fma.f64 z t (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a) b) (+.f64 1 (expm1.f64 (fma.f64 z t (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a b))) (+.f64 1 (expm1.f64 (fma.f64 z t (*.f64 c i))))))))) (#(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))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z t (*.f64 c i)) 1 (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) 1 (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z t (*.f64 c i)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z t) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) a) (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a a)) (*.f64 (cbrt.f64 a) b) (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) t) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a b)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (fma.f64 z t (*.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 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) (pow.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) 2) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) 2) (cbrt.f64 (fma.f64 z t (*.f64 c i))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) a) (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b) (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z t (*.f64 c i))) (sqrt.f64 (fma.f64 z t (*.f64 c i))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 z t)) (cbrt.f64 (*.f64 z t))) (cbrt.f64 (*.f64 z t)) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z t)) (sqrt.f64 (*.f64 z t)) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 t)) (*.f64 (sqrt.f64 z) (sqrt.f64 t)) (fma.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) (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b) (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (cbrt.f64 (*.f64 a a))) (cbrt.f64 a) (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 a)) (sqrt.f64 a) (fma.f64 z t (*.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 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (fma.f64 c i (*.f64 a b))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.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 z t (fma.f64 c i (fma.f64 x y (*.f64 a b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b))))) (pow.f64 (cbrt.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b))))) 2) (cbrt.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b))))) (sqrt.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.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 (fma.f64 z t (*.f64 c i)) 3) (pow.f64 (fma.f64 x y (*.f64 a b)) 3)) (+.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 2) (-.f64 (*.f64 (fma.f64 x y (*.f64 a b)) (fma.f64 x y (*.f64 a b))) (*.f64 (fma.f64 z t (*.f64 c i)) (fma.f64 x y (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 2) (*.f64 (fma.f64 x y (*.f64 a b)) (fma.f64 x y (*.f64 a b)))) (-.f64 (fma.f64 z t (*.f64 c i)) (fma.f64 x y (*.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 z t (fma.f64 c i (fma.f64 x y (*.f64 a b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.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 (fma.f64 x y (*.f64 a b))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 z t (*.f64 c i)))) (exp.f64 (fma.f64 x y (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z t (*.f64 c i))) (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 x) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 z t (*.f64 c i)))) (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.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))))) (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 log.f64 (*.f64 (exp.f64 (fma.f64 x y (*.f64 a b))) (exp.f64 (fma.f64 z t (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 x) y)) (exp.f64 (fma.f64 z t (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x y (*.f64 a b))) (+.f64 1 (expm1.f64 (fma.f64 z t (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 x) y)) (+.f64 1 (expm1.f64 (fma.f64 z t (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (fma.f64 c i (fma.f64 x y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (fma.f64 c i (fma.f64 x y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z t (*.f64 c i)) 1 (fma.f64 x y (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z t (*.f64 c i)) 1 (*.f64 (fma.f64 x y (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) 1 (+.f64 (fma.f64 z t (*.f64 c i)) (*.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 (*.f64 c i)) (fma.f64 x y (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z t (*.f64 c i)) (*.f64 (fma.f64 x y (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(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) (fma.f64 c i (fma.f64 x y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x y (*.f64 a b)) (fma.f64 z t (*.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 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) a) (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(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 (cbrt.f64 (*.f64 a a)) (*.f64 (cbrt.f64 a) b) (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) t) (fma.f64 c i (fma.f64 x y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a b)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) (pow.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) 2) (fma.f64 x y (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) (pow.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) 2) (*.f64 (fma.f64 x y (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) 2) (cbrt.f64 (fma.f64 z t (*.f64 c i))) (fma.f64 x y (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) 2) (cbrt.f64 (fma.f64 z t (*.f64 c i))) (*.f64 (fma.f64 x y (*.f64 a b)) 1))))) (#(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 b) (*.f64 (sqrt.f64 b) a) (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(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 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b) (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (fma.f64 c i (fma.f64 x y (*.f64 a b))))))) (#(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 a b)) (sqrt.f64 (*.f64 a b)) (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z t (*.f64 c i))) (sqrt.f64 (fma.f64 z t (*.f64 c i))) (fma.f64 x y (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z t (*.f64 c i))) (sqrt.f64 (fma.f64 z t (*.f64 c i))) (*.f64 (fma.f64 x y (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 3) (pow.f64 (*.f64 a b) 3)) (/.f64 1 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 z t (*.f64 c i))) (pow.f64 (fma.f64 z t (*.f64 c i)) 2))) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 2) (pow.f64 (*.f64 a b) 2)) (/.f64 1 (-.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b))) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 z t)) (cbrt.f64 (*.f64 z t))) (cbrt.f64 (*.f64 z t)) (fma.f64 c i (fma.f64 x y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 a b))) (cbrt.f64 (fma.f64 x y (*.f64 a b)))) (cbrt.f64 (fma.f64 x y (*.f64 a b))) (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z t)) (sqrt.f64 (*.f64 z t)) (fma.f64 c i (fma.f64 x y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x y (*.f64 a b))) (sqrt.f64 (fma.f64 x y (*.f64 a b))) (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 t)) (*.f64 (sqrt.f64 z) (sqrt.f64 t)) (fma.f64 c i (fma.f64 x y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 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))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b) (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (cbrt.f64 (*.f64 a a))) (cbrt.f64 a) (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 a)) (sqrt.f64 a) (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (fma.f64 c i (fma.f64 x y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (fma.f64 c i (fma.f64 x y (*.f64 a b)))))))) |
| 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 a b) (*.f64 c i)) |
(+.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 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 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 (*.f64 a b) (*.f64 c i)) |
(+.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 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 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 (*.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))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.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 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 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 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x))) |
(+.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 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 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 (*.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 a b) (+.f64 (*.f64 c i) (*.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 y x) |
(+.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 y x) |
(+.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 c i) (*.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 y x) |
(+.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 y x) |
(+.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)))) |
| Outputs |
|---|
(+.f64 (*.f64 a b) (*.f64 c i)) |
(fma.f64 a b (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.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 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(*.f64 t z) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.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 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.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 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(*.f64 c i) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.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 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.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 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(*.f64 a b) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.f64 c i))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.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 c i (fma.f64 y x (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 c i)))) |
(*.f64 t z) |
(+.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 c i)))) |
(*.f64 t z) |
(+.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 c i (fma.f64 y x (*.f64 a b))) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 c i)))) |
(*.f64 t z) |
(+.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 c i)))) |
(*.f64 t z) |
(+.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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))) |
(+.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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))) |
(+.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 c i)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 c i)))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 c i)))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 c i)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z))) |
(fma.f64 a b (fma.f64 c i (*.f64 t z))) |
(fma.f64 a b (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 c i)))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 c i)))) |
(*.f64 y x) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))) |
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z)))) |
(fma.f64 a b (fma.f64 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 c i)))) |
Compiled 13 to 9 computations (30.8% saved)
Compiled 25 to 11 computations (56% saved)
Compiled 25 to 11 computations (56% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 i c (*.f64 y x)) |
Compiled 21 to 10 computations (52.4% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | i | @ | 0 | (fma.f64 i c (*.f64 y x)) |
| 0.0ms | c | @ | inf | (fma.f64 i c (*.f64 y x)) |
| 0.0ms | c | @ | -inf | (fma.f64 i c (*.f64 y x)) |
| 0.0ms | i | @ | -inf | (fma.f64 i c (*.f64 y x)) |
| 0.0ms | x | @ | 0 | (fma.f64 i c (*.f64 y x)) |
| 1× | batch-egg-rewrite |
| 661× | pow1_binary64 |
| 602× | add-log-exp_binary64 |
| 602× | log1p-expm1-u_binary64 |
| 602× | expm1-log1p-u_binary64 |
| 587× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 8 |
| 1 | 137 | 8 |
| 2 | 1626 | 8 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 i c (*.f64 y x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 i c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 i c) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 i c) 1) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 i c (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 i c (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 i c (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 i c (*.f64 y x))) (pow.f64 (cbrt.f64 (fma.f64 i c (*.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 i c (*.f64 y x))) 2) (cbrt.f64 (fma.f64 i c (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 i c (*.f64 y x))) (sqrt.f64 (fma.f64 i c (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 i c) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 (*.f64 i c) (*.f64 i c)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 i c) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 i c) (*.f64 i c)) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 i c) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 i c (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 i c (*.f64 y x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 i c (*.f64 y x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 i c (*.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 i c (*.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 i c (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 i c (*.f64 y x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 i c (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 i c (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 i c (*.f64 y x)))))))) |
| 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 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)) |
(*.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)) |
| Outputs |
|---|
(*.f64 y x) |
(+.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 y x)) |
(fma.f64 c i (*.f64 y x)) |
(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 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 y x)) |
(fma.f64 c i (*.f64 y x)) |
(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 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 y x)) |
(fma.f64 c i (*.f64 y x)) |
(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 y x) |
(+.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 y x)) |
(fma.f64 c i (*.f64 y x)) |
(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 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 y x)) |
(fma.f64 c i (*.f64 y x)) |
(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 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 y x)) |
(fma.f64 c i (*.f64 y x)) |
(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 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 y x)) |
(fma.f64 c i (*.f64 y x)) |
(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 y x) |
(+.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 y x)) |
(fma.f64 c i (*.f64 y x)) |
(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 y x) |
(+.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 y x)) |
(fma.f64 c i (*.f64 y x)) |
(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 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 y x)) |
(fma.f64 c i (*.f64 y x)) |
(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 y x) |
(+.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 y x)) |
(fma.f64 c i (*.f64 y x)) |
(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 y x) |
(+.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 y x)) |
(fma.f64 c i (*.f64 y x)) |
(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)) |
Compiled 4070 to 820 computations (79.9% saved)
15 alts after pruning (8 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 213 | 3 | 216 |
| Fresh | 1 | 5 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 6 | 7 |
| Total | 215 | 15 | 230 |
| Status | Error | Program |
|---|---|---|
| ✓ | 33.6b | (+.f64 (*.f64 y x) (*.f64 t z)) |
| ✓ | 29.7b | (+.f64 (*.f64 a b) (*.f64 c i)) |
| ▶ | 47.1b | (*.f64 t z) |
| 18.3b | (+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) | |
| ✓ | 49.3b | (*.f64 y x) |
| ▶ | 31.7b | (fma.f64 y x (*.f64 c i)) |
| ✓ | 44.9b | (*.f64 c i) |
| ✓ | 31.7b | (fma.f64 i c (*.f64 y x)) |
| ▶ | 15.8b | (+.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)) |
| 18.3b | (+.f64 (fma.f64 a b (*.f64 t z)) (*.f64 x y)) | |
| ▶ | 29.3b | (+.f64 (*.f64 t z) (*.f64 c i)) |
| ✓ | 31.7b | (+.f64 (*.f64 y x) (*.f64 c i)) |
| ✓ | 47.5b | (*.f64 a b) |
| 34.5b | (+.f64 (*.f64 a b) (*.f64 x y)) | |
| ▶ | 18.3b | (fma.f64 y x (fma.f64 t z (*.f64 a b))) |
Compiled 346 to 248 computations (28.3% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)) |
Compiled 36 to 12 computations (66.7% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | inf | (+.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)) |
| 0.0ms | z | @ | -inf | (+.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)) |
| 0.0ms | t | @ | 0 | (+.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)) |
| 0.0ms | t | @ | inf | (+.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)) |
| 0.0ms | z | @ | inf | (+.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)) |
| 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 t z (*.f64 c i)) (*.f64 x y)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 2) (-.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y))) (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 t z (fma.f64 c i (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))) (pow.f64 (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))) 2) (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))) (sqrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 3) (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (fma.f64 t z (*.f64 c i))) (pow.f64 (fma.f64 t z (*.f64 c i)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 2) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (-.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (fma.f64 t z (*.f64 c i))) (pow.f64 (fma.f64 t z (*.f64 c i)) 2)) (+.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 3) (pow.f64 (*.f64 x y) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)) (-.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 2) (pow.f64 (*.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (fma.f64 t z (*.f64 c i))) (pow.f64 (fma.f64 t z (*.f64 c i)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 2) (*.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 2) (pow.f64 (*.f64 x y) 2)) (-.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 3) (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (fma.f64 t z (*.f64 c i))) (pow.f64 (fma.f64 t z (*.f64 c i)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 2) (pow.f64 (*.f64 x y) 2))) (neg.f64 (-.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (fma.f64 t z (*.f64 c i)) 2)) (-.f64 (*.f64 x y) (fma.f64 t z (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 x y) (-.f64 (*.f64 x y) (fma.f64 t z (*.f64 c i))) (pow.f64 (fma.f64 t z (*.f64 c i)) 2)) (+.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 3) (pow.f64 (*.f64 x y) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)) (-.f64 (pow.f64 (fma.f64 t z (*.f64 c i)) 2) (pow.f64 (*.f64 x y) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 c i)))) (pow.f64 (exp.f64 x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 t z (*.f64 c i))) (+.f64 1 (expm1.f64 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 c i)))) (+.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 t z (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 t z (fma.f64 c i (*.f64 x y)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (fma.f64 c i (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (fma.f64 c i (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 t z (*.f64 c i)) 1 (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x y) 1 (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 t z (*.f64 c i)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x y) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (fma.f64 c i (*.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 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (fma.f64 c i (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 t z (*.f64 c i))) (pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 c i))) 2) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 c i))) 2) (cbrt.f64 (fma.f64 t z (*.f64 c i))) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (fma.f64 c i (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 t z (*.f64 c i))) (sqrt.f64 (fma.f64 t z (*.f64 c i))) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (fma.f64 c i (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (fma.f64 c i (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 c i (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 c i (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 t z (*.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 | 744 |
| 1 | 26 | 744 |
| 2 | 39 | 744 |
| 3 | 43 | 744 |
| 1× | saturated |
| Inputs |
|---|
(+.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))) |
(+.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))) |
| Outputs |
|---|
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 y x))) |
(+.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))) |
(+.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))) |
(*.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))) |
(+.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))) |
(+.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))) |
(*.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))) |
(+.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))) |
(+.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))) |
(+.f64 (*.f64 c i) (*.f64 y x)) |
(fma.f64 c i (*.f64 y x)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) |
(fma.f64 c i (fma.f64 y x (*.f64 t z))) |
(fma.f64 c i (fma.f64 t z (*.f64 y x))) |
(+.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))) |
(+.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))) |
(*.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))) |
(+.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))) |
(+.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))) |
(*.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(*.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))) |
(+.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))) |
(+.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))) |
(*.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(*.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))) |
(+.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))) |
(+.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))) |
(*.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(*.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))) |
(+.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))) |
(+.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))) |
(*.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(*.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))) |
(+.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))) |
(+.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))) |
(*.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))) |
(+.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))) |
(+.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))) |
Compiled 13 to 9 computations (30.8% saved)
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 | c | @ | inf | (+.f64 (*.f64 t z) (*.f64 c i)) |
| 0.0ms | z | @ | inf | (+.f64 (*.f64 t z) (*.f64 c i)) |
| 0.0ms | i | @ | 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 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 y x (*.f64 c i)) |
Compiled 21 to 10 computations (52.4% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | 0 | (fma.f64 y x (*.f64 c i)) |
| 0.0ms | x | @ | -inf | (fma.f64 y x (*.f64 c i)) |
| 0.0ms | x | @ | inf | (fma.f64 y x (*.f64 c i)) |
| 0.0ms | y | @ | -inf | (fma.f64 y x (*.f64 c i)) |
| 0.0ms | y | @ | inf | (fma.f64 y x (*.f64 c i)) |
| 1× | batch-egg-rewrite |
| 661× | pow1_binary64 |
| 602× | add-log-exp_binary64 |
| 602× | log1p-expm1-u_binary64 |
| 602× | expm1-log1p-u_binary64 |
| 587× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 8 |
| 1 | 137 | 8 |
| 2 | 1626 | 8 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 y x (*.f64 c i)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 c i) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y x) 1) (*.f64 c i))))) (#(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 (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 (*.f64 (*.f64 y x) (*.f64 y x)) (-.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 y x) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (pow.f64 (*.f64 c i) 2)) (-.f64 (*.f64 y x) (*.f64 c i)))))) (#(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)))))))) |
| 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 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 t z (*.f64 a b)) |
Compiled 32 to 11 computations (65.6% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | t | @ | 0 | (fma.f64 t z (*.f64 a b)) |
| 0.0ms | b | @ | inf | (fma.f64 t z (*.f64 a b)) |
| 0.0ms | t | @ | -inf | (fma.f64 t z (*.f64 a b)) |
| 0.0ms | z | @ | -inf | (fma.f64 t z (*.f64 a b)) |
| 0.0ms | a | @ | inf | (fma.f64 t z (*.f64 a b)) |
| 1× | batch-egg-rewrite |
| 661× | pow1_binary64 |
| 602× | add-log-exp_binary64 |
| 602× | log1p-expm1-u_binary64 |
| 602× | expm1-log1p-u_binary64 |
| 587× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 8 |
| 1 | 137 | 8 |
| 2 | 1626 | 8 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 t z (*.f64 a b)) |
| Outputs |
|---|
((#(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 |
| 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 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 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 2429 to 630 computations (74.1% saved)
15 alts after pruning (4 fresh and 11 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 169 | 1 | 170 |
| Fresh | 0 | 3 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 10 | 11 |
| Total | 170 | 15 | 185 |
| Status | Error | Program |
|---|---|---|
| ✓ | 33.6b | (+.f64 (*.f64 y x) (*.f64 t z)) |
| ✓ | 29.7b | (+.f64 (*.f64 a b) (*.f64 c i)) |
| ✓ | 47.1b | (*.f64 t z) |
| 18.3b | (+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) | |
| ✓ | 49.3b | (*.f64 y x) |
| ✓ | 31.7b | (+.f64 (*.f64 y x) (*.f64 c i)) |
| 29.2b | (fma.f64 z t (*.f64 c i)) | |
| ✓ | 31.7b | (fma.f64 y x (*.f64 c i)) |
| ✓ | 44.9b | (*.f64 c i) |
| ✓ | 31.7b | (fma.f64 i c (*.f64 y x)) |
| 18.3b | (+.f64 (fma.f64 a b (*.f64 t z)) (*.f64 x y)) | |
| ✓ | 29.3b | (+.f64 (*.f64 t z) (*.f64 c i)) |
| ✓ | 47.5b | (*.f64 a b) |
| 34.5b | (+.f64 (*.f64 a b) (*.f64 x y)) | |
| ✓ | 18.3b | (fma.f64 y x (fma.f64 t z (*.f64 a b))) |
Compiled 215 to 157 computations (27% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.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 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 z t (*.f64 c i)) |
(fma.f64 y x (*.f64 c i)) |
(fma.f64 i c (*.f64 y x)) |
(fma.f64 y x (*.f64 c i)) |
(+.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)) |
(+.f64 (fma.f64 a b (*.f64 t z)) (*.f64 x y)) |
(fma.f64 x y (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (fma.f64 a b (*.f64 t z)) (*.f64 c i)) |
(+.f64 (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) (*.f64 x y)) |
(fma.f64 y x (fma.f64 t z (*.f64 a b))) |
(fma.f64 t z (fma.f64 y x (*.f64 c i))) |
(+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
(fma.f64 i c (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)))) |
| Outputs |
|---|
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) |
20 calls:
| 32.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 31.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 31.0ms | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 30.0ms | c |
| 29.0ms | i |
| 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 471 to 237 computations (49.7% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.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 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 z t (*.f64 c i)) |
(fma.f64 y x (*.f64 c i)) |
(fma.f64 i c (*.f64 y x)) |
(fma.f64 y x (*.f64 c i)) |
(+.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)) |
(+.f64 (fma.f64 a b (*.f64 t z)) (*.f64 x y)) |
(fma.f64 x y (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (fma.f64 a b (*.f64 t z)) (*.f64 c i)) |
(+.f64 (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) (*.f64 x y)) |
(fma.f64 y x (fma.f64 t z (*.f64 a b))) |
(fma.f64 t z (fma.f64 y x (*.f64 c i))) |
(+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
(fma.f64 i c (fma.f64 a b (fma.f64 x y (*.f64 z t)))) |
| Outputs |
|---|
(+.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y)) |
19 calls:
| 19.0ms | a |
| 15.0ms | i |
| 15.0ms | c |
| 15.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 15.0ms | 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 448 to 227 computations (49.3% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.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 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 z t (*.f64 c i)) |
(fma.f64 y x (*.f64 c i)) |
(fma.f64 i c (*.f64 y x)) |
(fma.f64 y x (*.f64 c i)) |
(+.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)) |
(+.f64 (fma.f64 a b (*.f64 t z)) (*.f64 x y)) |
(fma.f64 x y (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (fma.f64 a b (*.f64 t z)) (*.f64 c i)) |
(+.f64 (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) (*.f64 x y)) |
(fma.f64 y x (fma.f64 t z (*.f64 a b))) |
(fma.f64 t z (fma.f64 y x (*.f64 c i))) |
| Outputs |
|---|
(+.f64 (+.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) (*.f64 x y)) |
18 calls:
| 16.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 15.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 15.0ms | c |
| 14.0ms | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 14.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) |
Compiled 412 to 212 computations (48.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.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 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 z t (*.f64 c i)) |
(fma.f64 y x (*.f64 c i)) |
(fma.f64 i c (*.f64 y x)) |
(fma.f64 y x (*.f64 c i)) |
(+.f64 (fma.f64 t z (*.f64 c i)) (*.f64 x y)) |
(+.f64 (fma.f64 a b (*.f64 t z)) (*.f64 x y)) |
(fma.f64 x y (+.f64 (*.f64 c i) (*.f64 t z))) |
(+.f64 (fma.f64 a b (*.f64 t z)) (*.f64 c i)) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
15 calls:
| 14.0ms | c |
| 13.0ms | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 13.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 13.0ms | t |
| 13.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a 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 335 to 174 computations (48.1% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.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 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
| Outputs |
|---|
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
11 calls:
| 81.0ms | b |
| 71.0ms | y |
| 61.0ms | z |
| 58.0ms | x |
| 55.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 12.4b | 7 | x |
| 10.8b | 9 | y |
| 11.0b | 8 | z |
| 11.2b | 8 | t |
| 13.5b | 7 | a |
| 10.8b | 12 | b |
| 12.9b | 3 | c |
| 10.2b | 5 | i |
| 11.4b | 5 | (*.f64 x y) |
| 11.3b | 7 | (*.f64 a b) |
| 7.7b | 3 | (*.f64 c i) |
Compiled 188 to 112 computations (40.4% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 25.0ms | 7.703326665501798e+62 | 4.0431708113752695e+71 |
| 0.0ms | -3.742297516876225e+55 | -3.5950535174928095e+55 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 y x) (*.f64 c i)) |
| Outputs |
|---|
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 t z) (*.f64 c i)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
12 calls:
| 98.0ms | t |
| 78.0ms | z |
| 62.0ms | y |
| 60.0ms | c |
| 59.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 17.1b | 8 | x |
| 16.1b | 8 | y |
| 13.3b | 11 | z |
| 13.3b | 16 | t |
| 16.9b | 7 | a |
| 18.2b | 7 | b |
| 18.9b | 8 | c |
| 19.0b | 6 | i |
| 12.8b | 9 | (*.f64 x y) |
| 12.8b | 9 | (*.f64 x y) |
| 13.9b | 7 | (*.f64 a b) |
| 17.1b | 8 | (*.f64 c i) |
Compiled 177 to 118 computations (33.3% saved)
| 8× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 6.240615394610098e+108 | 2.6578832441215288e+110 |
| 0.0ms | 0.00783327137267043 | 8492608872841.793 |
| 0.0ms | 2.283584708124278e-25 | 2.3593237820987344e-25 |
| 0.0ms | 1.216249712102338e-166 | 5.362750873609075e-151 |
| 0.0ms | 1.3852843328680824e-204 | 4.252399944461895e-204 |
| 0.0ms | -5.5804881556430315e-176 | -1.290642645439034e-179 |
| 0.0ms | -1.5445140289322994e+42 | -4.237677442325192e+34 |
| 0.0ms | -9.44226154486548e+93 | -1.5038782417542726e+88 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
| Outputs |
|---|
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 c i)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
12 calls:
| 63.0ms | t |
| 50.0ms | c |
| 48.0ms | x |
| 48.0ms | (*.f64 c i) |
| 43.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 17.8b | 9 | x |
| 18.9b | 5 | y |
| 17.1b | 7 | z |
| 16.8b | 11 | t |
| 21.9b | 5 | a |
| 20.6b | 7 | b |
| 20.8b | 7 | c |
| 21.6b | 4 | i |
| 15.1b | 7 | (*.f64 x y) |
| 15.1b | 7 | (*.f64 x y) |
| 17.1b | 6 | (*.f64 a b) |
| 18.2b | 9 | (*.f64 c i) |
Compiled 163 to 116 computations (28.8% saved)
| 6× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 6.240615394610098e+108 | 2.6578832441215288e+110 |
| 0.0ms | 5.227984355144226e-176 | 7.997486810498894e-172 |
| 0.0ms | 1.3852843328680824e-204 | 4.252399944461895e-204 |
| 0.0ms | -7.621989449789556e-62 | -5.050417583235469e-62 |
| 0.0ms | -1.5445140289322994e+42 | -4.237677442325192e+34 |
| 0.0ms | -9.44226154486548e+93 | -1.5038782417542726e+88 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
| Outputs |
|---|
(+.f64 (*.f64 a b) (*.f64 x y)) |
(*.f64 c i) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 c i) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 c i) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
12 calls:
| 57.0ms | c |
| 51.0ms | y |
| 41.0ms | (*.f64 x y) |
| 41.0ms | (*.f64 x y) |
| 40.0ms | (*.f64 a b) |
| Error | Segments | Branch |
|---|---|---|
| 26.7b | 7 | x |
| 22.6b | 10 | y |
| 22.2b | 6 | z |
| 24.6b | 5 | t |
| 25.2b | 3 | a |
| 24.3b | 7 | b |
| 23.3b | 11 | c |
| 24.6b | 6 | i |
| 23.7b | 8 | (*.f64 x y) |
| 23.7b | 8 | (*.f64 x y) |
| 18.4b | 8 | (*.f64 a b) |
| 20.6b | 7 | (*.f64 c i) |
Compiled 156 to 115 computations (26.3% saved)
| 7× | binary-search |
| Time | Left | Right |
|---|---|---|
| 25.0ms | 3.7143353556154977e-17 | 2.975944917595033e-14 |
| 25.0ms | 3.76775614528453e-83 | 2.7521550020713176e-79 |
| 25.0ms | 2.946772324054719e-149 | 2.1762976487588843e-144 |
| 25.0ms | -7.781851573985181e-202 | -3.376774293851523e-202 |
| 29.0ms | -5.357299628203318e-24 | -7.869967573948081e-33 |
| 25.0ms | -4.284678858099299e-12 | -1.548443582720691e-12 |
| 25.0ms | -6.602995088872467e+95 | -9.826200164919301e+78 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
| Outputs |
|---|
(*.f64 c i) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 x y)) |
(*.f64 c i) |
11 calls:
| 56.0ms | b |
| 46.0ms | y |
| 41.0ms | (*.f64 x y) |
| 37.0ms | x |
| 32.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 28.5b | 7 | x |
| 26.2b | 9 | y |
| 26.0b | 6 | z |
| 26.4b | 7 | t |
| 30.6b | 5 | a |
| 26.0b | 12 | b |
| 29.0b | 3 | c |
| 27.8b | 3 | i |
| 24.2b | 10 | (*.f64 x y) |
| 26.7b | 6 | (*.f64 a b) |
| 22.3b | 5 | (*.f64 c i) |
Compiled 138 to 105 computations (23.9% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 48.0ms | 7.703326665501798e+62 | 4.0431708113752695e+71 |
| 70.0ms | -7.230569029682756e-156 | -5.202966361405067e-162 |
| 26.0ms | -1.2837655069738792e-84 | -1.2253465891740646e-86 |
| 0.0ms | -3.742297516876225e+55 | -3.5950535174928095e+55 |
Compiled 34 to 25 computations (26.5% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 c i) |
(*.f64 t z) |
| Outputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 a b) |
(*.f64 c i) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 c i) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 t z) |
10 calls:
| 132.0ms | y |
| 79.0ms | b |
| 66.0ms | c |
| 61.0ms | z |
| 60.0ms | (*.f64 a b) |
| Error | Segments | Branch |
|---|---|---|
| 33.3b | 9 | x |
| 32.1b | 9 | y |
| 29.3b | 11 | z |
| 31.4b | 13 | t |
| 34.6b | 7 | a |
| 32.9b | 10 | b |
| 34.3b | 8 | c |
| 35.5b | 4 | i |
| 31.7b | 5 | (*.f64 a b) |
| 31.5b | 7 | (*.f64 c i) |
Compiled 120 to 94 computations (21.7% saved)
| 10× | binary-search |
| Time | Left | Right |
|---|---|---|
| 119.0ms | 1.8456618392961016e-131 | 8.676574545565619e-130 |
| 43.0ms | 4.8175726525463826e-210 | 9.826715948933193e-204 |
| 26.0ms | 1.0695877401982802e-263 | 1.472767599513134e-257 |
| 28.0ms | 1.587811603621264e-308 | 1.8113460241838386e-303 |
| 28.0ms | -4.0798840007093424e-227 | -3.419026375579721e-227 |
| 28.0ms | -6.265415425150223e-156 | -1.1999420499474422e-164 |
| 28.0ms | -5.0510511457650253e-144 | -3.346000024114288e-148 |
| 42.0ms | -3.653461646652633e-50 | -4.7033103280047795e-55 |
| 50.0ms | -2.1442213362759935e+64 | -1.5304861004958247e+64 |
| 120.0ms | -1.7799527946651298e+128 | -5.605222465915596e+126 |
Compiled 202 to 165 computations (18.3% saved)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 y x) |
| Outputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 c i) |
(*.f64 y x) |
(*.f64 c i) |
(*.f64 t z) |
9 calls:
| 136.0ms | z |
| 64.0ms | t |
| 50.0ms | x |
| 49.0ms | i |
| 47.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 34.8b | 8 | x |
| 36.4b | 6 | y |
| 34.3b | 7 | z |
| 35.1b | 7 | t |
| 40.2b | 7 | a |
| 37.4b | 9 | b |
| 36.4b | 5 | c |
| 35.0b | 8 | i |
| 34.9b | 5 | (*.f64 c i) |
Compiled 100 to 84 computations (16% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 62.0ms | 4.6984800791498024e-126 | 6.757367871460118e-118 |
| 27.0ms | -4.0798840007093424e-227 | -3.419026375579721e-227 |
| 28.0ms | -5.0510511457650253e-144 | -3.346000024114288e-148 |
| 85.0ms | -1.9283599011860352e-12 | -1.1029755908744575e-14 |
| 53.0ms | -2658816.1203759187 | -423976.7431919519 |
| 236.0ms | -1.7799527946651298e+128 | -5.605222465915596e+126 |
Compiled 202 to 165 computations (18.3% saved)
Total -26.7b remaining (-74.8%)
Threshold costs -26.7b (-74.8%)
| Inputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
| Outputs |
|---|
(*.f64 t z) |
(*.f64 c i) |
(*.f64 t z) |
(*.f64 c i) |
(*.f64 t z) |
9 calls:
| 58.0ms | b |
| 56.0ms | y |
| 48.0ms | t |
| 40.0ms | i |
| 38.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 41.8b | 2 | x |
| 40.9b | 4 | y |
| 35.7b | 5 | z |
| 38.1b | 3 | t |
| 42.1b | 5 | a |
| 39.1b | 8 | b |
| 38.1b | 3 | c |
| 37.5b | 5 | i |
| 35.9b | 3 | (*.f64 c i) |
Compiled 97 to 83 computations (14.4% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 26.0ms | 4.6984800791498024e-126 | 6.757367871460118e-118 |
| 27.0ms | -1.9283599011860352e-12 | -1.1029755908744575e-14 |
| 26.0ms | -2658816.1203759187 | -423976.7431919519 |
| 183.0ms | -1.7799527946651298e+128 | -5.605222465915596e+126 |
Compiled 202 to 165 computations (18.3% saved)
| 1× | egg-herbie |
| 11× | +-commutative_binary64 |
| 4× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 145 | 819 |
| 1 | 164 | 819 |
| 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 (fma.f64 z t (*.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) -35999999999999998735107051514203216762497681614681669632) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 770332666550179790687549429404533633848880070799980628897955840) (+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) (+.f64 (*.f64 t z) (*.f64 c i)))) |
(if (<=.f64 (*.f64 x y) -5000000000000000101094395635779734942880481616071788705688884281040020024990821546793489137664) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 (*.f64 x y) -1000000000000000044885712678075916785549312) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) -228122030881109760/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 722947573429303680/361473786714651839609485931802192366508973300717001923159475447150424810286233407987951861887389439612274926783780351561999781998832434041296198795326329101623141899709787663433296905279066051548640942013290819886814068736) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 212455197126706848/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 2504478220538107/10889035741470030830827987437816582766592) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 184467440737095520/18446744073709551616) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 9999999999999999818508707188399807864717650964328171247958398369899072554380053298205803424393137676263358464) (+.f64 (*.f64 a b) (*.f64 c i)) (+.f64 (*.f64 y x) (*.f64 t z)))))))))) |
(if (<=.f64 (*.f64 x y) -5000000000000000101094395635779734942880481616071788705688884281040020024990821546793489137664) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 (*.f64 x y) -1000000000000000044885712678075916785549312) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) -6947525354238972/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 (*.f64 x y) 722947573429303680/361473786714651839609485931802192366508973300717001923159475447150424810286233407987951861887389439612274926783780351561999781998832434041296198795326329101623141899709787663433296905279066051548640942013290819886814068736) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 456244061762219520/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 t z) (if (<=.f64 (*.f64 x y) 9999999999999999818508707188399807864717650964328171247958398369899072554380053298205803424393137676263358464) (+.f64 (*.f64 a b) (*.f64 c i)) (+.f64 (*.f64 y x) (*.f64 t z)))))))) |
(if (<=.f64 (*.f64 a b) -660299508887246652429464060797736154408131795993292531795277279391773394376928194811479478763520) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 a b) -339467232890923840/79228162514264337593543950336) (*.f64 c i) (if (<=.f64 (*.f64 a b) -7291978391158755/1361129467683753853853498429727072845824) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 (*.f64 a b) -8584397449035025/11031304526203974597457456414861827591216226218170224705794538792432397774848431640257320003887617175667569787102671861633294128382337464639166223001902133228245297232354359845986844033174623155170927185464197384241152) (*.f64 c i) (if (<=.f64 (*.f64 a b) 6787724624930759/230344386280611654799899571593522271174128492457058131614758685317726084130380178960334883128519211886075950624436269830308263222041308144077235977260296389382897664) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 2575321049868511/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (*.f64 c i) (if (<=.f64 (*.f64 a b) 6026853687033497/162259276829213363391578010288128) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 x y))))))))) |
(if (<=.f64 (*.f64 c i) -35999999999999998735107051514203216762497681614681669632) (*.f64 c i) (if (<=.f64 (*.f64 c i) -175494814723753/136703170298938245273281389194851335334573089430825777276610662900622062449960995201469573563940864) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) -1788339540990432000/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 t z) (if (<=.f64 (*.f64 c i) 770332666550179790687549429404533633848880070799980628897955840) (+.f64 (*.f64 a b) (*.f64 x y)) (*.f64 c i))))) |
(if (<=.f64 z -174999999999999984296643953265823805501562512914298044967121931927174465666231202628510192083799102918013249979761369250751578112) (*.f64 t z) (if (<=.f64 z -21442213362759935491791607234482442565745759948949355400766947328) (*.f64 c i) (if (<=.f64 z -984971311442353408/26959946667150639794667015087019630673637144422540572481103610249216) (*.f64 a b) (if (<=.f64 z -1109582210772729/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 c i) (if (<=.f64 z -1549627712498186496/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 a b) (if (<=.f64 z -8705512128385759/213376461852155336770555257303080249508632266314109061132680249976449191610164226288685830427889737303773757138989863694268441652931819682571627393674586561475045042544448465870818505149178048791326880516348371263414103937199246761317244076032) (*.f64 y x) (if (<=.f64 z 1606883232002191/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392) (*.f64 c i) (if (<=.f64 z 24269028545766980/2269007733883335972287082669296112915239349672942191252221331572442536403137824056312817862695551072066953619064625508194663368599769448406663254670871573830845597595897613333042429214224697474472410882236254024057110212260250671521235807709272244389361641091086035023229622419456) (*.f64 a b) (if (<=.f64 z 111451278687289/23134322349737717735007099635340311456574291245888123082206428617627187858318938111228919160792924135185595314161942499967986047925275778642956722900885062503881081581426410459731001937860227299113020288850612472756100399104) (*.f64 y x) (if (<=.f64 z 1843741494782769/99895953610111751404211111353381321783955140565279076827493022708011895642232499843849795298031743077114461795885011932654335221737225129801285632) (*.f64 a b) (*.f64 t z))))))))))) |
(if (<=.f64 z -174999999999999984296643953265823805501562512914298044967121931927174465666231202628510192083799102918013249979761369250751578112) (*.f64 t z) (if (<=.f64 z -11419528283092170/4294967296) (*.f64 c i) (if (<=.f64 z -152780411637157920/79228162514264337593543950336) (*.f64 t z) (if (<=.f64 z -1109582210772729/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 c i) (if (<=.f64 z -8705512128385759/213376461852155336770555257303080249508632266314109061132680249976449191610164226288685830427889737303773757138989863694268441652931819682571627393674586561475045042544448465870818505149178048791326880516348371263414103937199246761317244076032) (*.f64 y x) (if (<=.f64 z 14667473375774464000/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (*.f64 c i) (*.f64 t z))))))) |
(if (<=.f64 z -174999999999999984296643953265823805501562512914298044967121931927174465666231202628510192083799102918013249979761369250751578112) (*.f64 t z) (if (<=.f64 z -11419528283092170/4294967296) (*.f64 c i) (if (<=.f64 z -152780411637157920/79228162514264337593543950336) (*.f64 t z) (if (<=.f64 z 14667473375774464000/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (*.f64 c i) (*.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 (fma.f64 z t (*.f64 c i)) (*.f64 a b)) (*.f64 x y)) |
(+.f64 (*.f64 x y) (+.f64 (*.f64 a b) (fma.f64 z t (*.f64 c i)))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t)))) |
(if (<=.f64 (*.f64 c i) -35999999999999998735107051514203216762497681614681669632) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 770332666550179790687549429404533633848880070799980628897955840) (+.f64 (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 x y)) (+.f64 (*.f64 t z) (*.f64 c i)))) |
(if (<=.f64 (*.f64 c i) -35999999999999998735107051514203216762497681614681669632) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 c i) 770332666550179790687549429404533633848880070799980628897955840) (+.f64 (*.f64 x y) (+.f64 (*.f64 a b) (*.f64 z t))) (+.f64 (*.f64 c i) (*.f64 z t)))) |
(if (<=.f64 (*.f64 x y) -5000000000000000101094395635779734942880481616071788705688884281040020024990821546793489137664) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 (*.f64 x y) -1000000000000000044885712678075916785549312) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) -228122030881109760/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 722947573429303680/361473786714651839609485931802192366508973300717001923159475447150424810286233407987951861887389439612274926783780351561999781998832434041296198795326329101623141899709787663433296905279066051548640942013290819886814068736) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 212455197126706848/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 2504478220538107/10889035741470030830827987437816582766592) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 184467440737095520/18446744073709551616) (+.f64 (*.f64 t z) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 9999999999999999818508707188399807864717650964328171247958398369899072554380053298205803424393137676263358464) (+.f64 (*.f64 a b) (*.f64 c i)) (+.f64 (*.f64 y x) (*.f64 t z)))))))))) |
(if (<=.f64 (*.f64 x y) -5000000000000000101094395635779734942880481616071788705688884281040020024990821546793489137664) (+.f64 (*.f64 x y) (*.f64 z t)) (if (<=.f64 (*.f64 x y) -1000000000000000044885712678075916785549312) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) -891101683129335/17822033662586700072817076584766762987864173856439687228824970773044043621908896041038721919208482030385321521771853153557377752817872804680674458280164899172859354196719784961261227313463296) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 x y) 5648027917416435/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734912) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 6639224910209589/33196124551047943668099262909529289208099569857939495199965258637525222491303265171197656391576830354305583092890406313459161208603294202463094998672911709496489454427212076189483008) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 x y) 2504478220538107/10889035741470030830827987437816582766592) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 5764607523034235/576460752303423488) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 x y) 9999999999999999818508707188399807864717650964328171247958398369899072554380053298205803424393137676263358464) (+.f64 (*.f64 a b) (*.f64 c i)) (+.f64 (*.f64 x y) (*.f64 z t)))))))))) |
(if (<=.f64 (*.f64 x y) -5000000000000000101094395635779734942880481616071788705688884281040020024990821546793489137664) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 (*.f64 x y) -1000000000000000044885712678075916785549312) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) -6947525354238972/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 (*.f64 x y) 722947573429303680/361473786714651839609485931802192366508973300717001923159475447150424810286233407987951861887389439612274926783780351561999781998832434041296198795326329101623141899709787663433296905279066051548640942013290819886814068736) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 456244061762219520/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 t z) (if (<=.f64 (*.f64 x y) 9999999999999999818508707188399807864717650964328171247958398369899072554380053298205803424393137676263358464) (+.f64 (*.f64 a b) (*.f64 c i)) (+.f64 (*.f64 y x) (*.f64 t z)))))))) |
(if (<=.f64 (*.f64 x y) -5000000000000000101094395635779734942880481616071788705688884281040020024990821546793489137664) (+.f64 (*.f64 x y) (*.f64 z t)) (if (<=.f64 (*.f64 x y) -1000000000000000044885712678075916785549312) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) -1736881338559743/28948022309329048855892746252171976963317496166410141009864396001978282409984) (+.f64 (*.f64 x y) (*.f64 z t)) (if (<=.f64 (*.f64 x y) 5648027917416435/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734912) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 x y) 891101683129335/8911016831293350036408538292383381493932086928219843614412485386522021810954448020519360959604241015192660760885926576778688876408936402340337229140082449586429677098359892480630613656731648) (*.f64 z t) (if (<=.f64 (*.f64 x y) 9999999999999999818508707188399807864717650964328171247958398369899072554380053298205803424393137676263358464) (+.f64 (*.f64 a b) (*.f64 c i)) (+.f64 (*.f64 x y) (*.f64 z t)))))))) |
(if (<=.f64 (*.f64 a b) -660299508887246652429464060797736154408131795993292531795277279391773394376928194811479478763520) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 a b) -339467232890923840/79228162514264337593543950336) (*.f64 c i) (if (<=.f64 (*.f64 a b) -7291978391158755/1361129467683753853853498429727072845824) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 (*.f64 a b) -8584397449035025/11031304526203974597457456414861827591216226218170224705794538792432397774848431640257320003887617175667569787102671861633294128382337464639166223001902133228245297232354359845986844033174623155170927185464197384241152) (*.f64 c i) (if (<=.f64 (*.f64 a b) 6787724624930759/230344386280611654799899571593522271174128492457058131614758685317726084130380178960334883128519211886075950624436269830308263222041308144077235977260296389382897664) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 2575321049868511/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (*.f64 c i) (if (<=.f64 (*.f64 a b) 6026853687033497/162259276829213363391578010288128) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 x y))))))))) |
(if (<=.f64 (*.f64 a b) -660299508887246652429464060797736154408131795993292531795277279391773394376928194811479478763520) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 a b) -5304175513920685/1237940039285380274899124224) (*.f64 c i) (if (<=.f64 (*.f64 a b) -7291978391158755/1361129467683753853853498429727072845824) (+.f64 (*.f64 x y) (*.f64 z t)) (if (<=.f64 (*.f64 a b) -8584397449035025/11031304526203974597457456414861827591216226218170224705794538792432397774848431640257320003887617175667569787102671861633294128382337464639166223001902133228245297232354359845986844033174623155170927185464197384241152) (*.f64 c i) (if (<=.f64 (*.f64 a b) 6787724624930759/230344386280611654799899571593522271174128492457058131614758685317726084130380178960334883128519211886075950624436269830308263222041308144077235977260296389382897664) (+.f64 (*.f64 x y) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 2575321049868511/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (*.f64 c i) (if (<=.f64 (*.f64 a b) 6026853687033497/162259276829213363391578010288128) (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 x y))))))))) |
(if (<=.f64 (*.f64 c i) -35999999999999998735107051514203216762497681614681669632) (*.f64 c i) (if (<=.f64 (*.f64 c i) -175494814723753/136703170298938245273281389194851335334573089430825777276610662900622062449960995201469573563940864) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) -1788339540990432000/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 t z) (if (<=.f64 (*.f64 c i) 770332666550179790687549429404533633848880070799980628897955840) (+.f64 (*.f64 a b) (*.f64 x y)) (*.f64 c i))))) |
(if (<=.f64 (*.f64 c i) -35999999999999998735107051514203216762497681614681669632) (*.f64 c i) (if (<=.f64 (*.f64 c i) -175494814723753/136703170298938245273281389194851335334573089430825777276610662900622062449960995201469573563940864) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) -6985701331993875/966134380754314586173837972732996836074731832426608749664308812862879785572390106134048441645480644490615904007875544294341269665260746913935727168366770187174245203705856) (*.f64 z t) (if (<=.f64 (*.f64 c i) 770332666550179790687549429404533633848880070799980628897955840) (+.f64 (*.f64 a b) (*.f64 x y)) (*.f64 c i))))) |
(if (<=.f64 z -174999999999999984296643953265823805501562512914298044967121931927174465666231202628510192083799102918013249979761369250751578112) (*.f64 t z) (if (<=.f64 z -21442213362759935491791607234482442565745759948949355400766947328) (*.f64 c i) (if (<=.f64 z -984971311442353408/26959946667150639794667015087019630673637144422540572481103610249216) (*.f64 a b) (if (<=.f64 z -1109582210772729/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 c i) (if (<=.f64 z -1549627712498186496/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 a b) (if (<=.f64 z -8705512128385759/213376461852155336770555257303080249508632266314109061132680249976449191610164226288685830427889737303773757138989863694268441652931819682571627393674586561475045042544448465870818505149178048791326880516348371263414103937199246761317244076032) (*.f64 y x) (if (<=.f64 z 1606883232002191/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392) (*.f64 c i) (if (<=.f64 z 24269028545766980/2269007733883335972287082669296112915239349672942191252221331572442536403137824056312817862695551072066953619064625508194663368599769448406663254670871573830845597595897613333042429214224697474472410882236254024057110212260250671521235807709272244389361641091086035023229622419456) (*.f64 a b) (if (<=.f64 z 111451278687289/23134322349737717735007099635340311456574291245888123082206428617627187858318938111228919160792924135185595314161942499967986047925275778642956722900885062503881081581426410459731001937860227299113020288850612472756100399104) (*.f64 y x) (if (<=.f64 z 1843741494782769/99895953610111751404211111353381321783955140565279076827493022708011895642232499843849795298031743077114461795885011932654335221737225129801285632) (*.f64 a b) (*.f64 t z))))))))))) |
(if (<=.f64 z -174999999999999984296643953265823805501562512914298044967121931927174465666231202628510192083799102918013249979761369250751578112) (*.f64 z t) (if (<=.f64 z -21442213362759935491791607234482442565745759948949355400766947328) (*.f64 c i) (if (<=.f64 z -3847544185321693/105312291668557186697918027683670432318895095400549111254310977536) (*.f64 a b) (if (<=.f64 z -1109582210772729/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 c i) (if (<=.f64 z -6053233251946041/966134380754314586173837972732996836074731832426608749664308812862879785572390106134048441645480644490615904007875544294341269665260746913935727168366770187174245203705856) (*.f64 a b) (if (<=.f64 z -8705512128385759/213376461852155336770555257303080249508632266314109061132680249976449191610164226288685830427889737303773757138989863694268441652931819682571627393674586561475045042544448465870818505149178048791326880516348371263414103937199246761317244076032) (*.f64 x y) (if (<=.f64 z 1606883232002191/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392) (*.f64 c i) (if (<=.f64 z 6067257136441745/567251933470833993071770667324028228809837418235547813055332893110634100784456014078204465673887768016738404766156377048665842149942362101665813667717893457711399398974403333260607303556174368618102720559063506014277553065062667880308951927318061097340410272771508755807405604864) (*.f64 a b) (if (<=.f64 z 111451278687289/23134322349737717735007099635340311456574291245888123082206428617627187858318938111228919160792924135185595314161942499967986047925275778642956722900885062503881081581426410459731001937860227299113020288850612472756100399104) (*.f64 x y) (if (<=.f64 z 1843741494782769/99895953610111751404211111353381321783955140565279076827493022708011895642232499843849795298031743077114461795885011932654335221737225129801285632) (*.f64 a b) (*.f64 z t))))))))))) |
(if (<=.f64 z -174999999999999984296643953265823805501562512914298044967121931927174465666231202628510192083799102918013249979761369250751578112) (*.f64 t z) (if (<=.f64 z -11419528283092170/4294967296) (*.f64 c i) (if (<=.f64 z -152780411637157920/79228162514264337593543950336) (*.f64 t z) (if (<=.f64 z -1109582210772729/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 c i) (if (<=.f64 z -8705512128385759/213376461852155336770555257303080249508632266314109061132680249976449191610164226288685830427889737303773757138989863694268441652931819682571627393674586561475045042544448465870818505149178048791326880516348371263414103937199246761317244076032) (*.f64 y x) (if (<=.f64 z 14667473375774464000/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (*.f64 c i) (*.f64 t z))))))) |
(if (<=.f64 z -174999999999999984296643953265823805501562512914298044967121931927174465666231202628510192083799102918013249979761369250751578112) (*.f64 z t) (if (<=.f64 z -5709764141546085/2147483648) (*.f64 c i) (if (<=.f64 z -4774387863661185/2475880078570760549798248448) (*.f64 z t) (if (<=.f64 z -1109582210772729/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 c i) (if (<=.f64 z -8705512128385759/213376461852155336770555257303080249508632266314109061132680249976449191610164226288685830427889737303773757138989863694268441652931819682571627393674586561475045042544448465870818505149178048791326880516348371263414103937199246761317244076032) (*.f64 x y) (if (<=.f64 z 7161852234264875/1524291284333980581729295522359944485228807686848130444755447734192076044345588681699368214386470689042884243711624327585667956874652483059712) (*.f64 c i) (*.f64 z t))))))) |
(if (<=.f64 z -174999999999999984296643953265823805501562512914298044967121931927174465666231202628510192083799102918013249979761369250751578112) (*.f64 t z) (if (<=.f64 z -11419528283092170/4294967296) (*.f64 c i) (if (<=.f64 z -152780411637157920/79228162514264337593543950336) (*.f64 t z) (if (<=.f64 z 14667473375774464000/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (*.f64 c i) (*.f64 t z))))) |
(if (<=.f64 z -174999999999999984296643953265823805501562512914298044967121931927174465666231202628510192083799102918013249979761369250751578112) (*.f64 z t) (if (<=.f64 z -5709764141546085/2147483648) (*.f64 c i) (if (<=.f64 z -4774387863661185/2475880078570760549798248448) (*.f64 z t) (if (<=.f64 z 7161852234264875/1524291284333980581729295522359944485228807686848130444755447734192076044345588681699368214386470689042884243711624327585667956874652483059712) (*.f64 c i) (*.f64 z t))))) |
(*.f64 t z) |
(*.f64 z t) |
Compiled 672 to 308 computations (54.2% 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 736 to 264 computations (64.1% saved)
Loading profile data...