Time bar (total: 10.4s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.7% | 0.3% | 0 |
| 0% | 99.7% | 0.3% | 1 |
| 0% | 99.7% | 0.3% | 2 |
| 0% | 99.7% | 0.3% | 3 |
| 0% | 99.7% | 0.3% | 4 |
| 0% | 99.7% | 0.3% | 5 |
| 0% | 99.7% | 0.3% | 6 |
| 0% | 99.7% | 0.3% | 7 |
| 0% | 99.7% | 0.3% | 8 |
| 0% | 99.7% | 0.3% | 9 |
| 0% | 99.7% | 0.3% | 10 |
| 0% | 99.7% | 0.3% | 11 |
| 0% | 99.7% | 0.3% | 12 |
Compiled 25 to 18 computations (28% saved)
| 1.9s | 8256× | body | 256 | valid |
| 914.0ms | 3852× | body | 256 | invalid |
| 2× | egg-herbie |
| 436× | fma-neg_binary64 |
| 431× | +-commutative_binary64 |
| 427× | cancel-sign-sub_binary64 |
| 396× | associate-+l+_binary64 |
| 365× | cancel-sign-sub-inv_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 127 | 506 |
| 1 | 355 | 506 |
| 2 | 947 | 484 |
| 3 | 2470 | 462 |
| 4 | 5306 | 462 |
| 0 | 7 | 7 |
| 1 | 7 | 7 |
| 1× | unsound |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
| Outputs |
|---|
0 |
1 |
0 |
2 |
3 |
2 |
4 |
5 |
4 |
6 |
| Inputs |
|---|
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 y x) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 z y) (/.f64 (*.f64 x t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 t y) (/.f64 (*.f64 z x) 16)) (/.f64 (*.f64 a b) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 a y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 x b) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 b y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a x) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 c y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) x) |
(+.f64 (-.f64 (+.f64 (*.f64 x z) (/.f64 (*.f64 y t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 x t) (/.f64 (*.f64 z y) 16)) (/.f64 (*.f64 a b) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 x a) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 y b) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 x b) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a y) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 x c) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) y) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 t z) 16)) (/.f64 (*.f64 a b) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 a t) 16)) (/.f64 (*.f64 z b) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 b t) 16)) (/.f64 (*.f64 a z) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 c t) 16)) (/.f64 (*.f64 a b) 4)) z) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z a) 16)) (/.f64 (*.f64 t b) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z b) 16)) (/.f64 (*.f64 a t) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z c) 16)) (/.f64 (*.f64 a b) 4)) t) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 b a) 4)) c) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 c b) 4)) a) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a c) 4)) b) |
| Outputs |
|---|
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(+.f64 (-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (/.f64 a (/.f64 4 b))) c) |
(+.f64 (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 b))) c) |
(fma.f64 x y (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c))) |
(fma.f64 x y (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 a (/.f64 b 4))))) |
(+.f64 (fma.f64 x y (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 b)))) c) |
(+.f64 (-.f64 (+.f64 (*.f64 y x) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(+.f64 (-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (/.f64 a (/.f64 4 b))) c) |
(+.f64 (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 b))) c) |
(fma.f64 x y (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c))) |
(fma.f64 x y (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 a (/.f64 b 4))))) |
(+.f64 (fma.f64 x y (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 b)))) c) |
(+.f64 (-.f64 (+.f64 (*.f64 z y) (/.f64 (*.f64 x t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(-.f64 (fma.f64 z y (/.f64 x (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 b)) c)) |
(+.f64 c (-.f64 (fma.f64 y z (*.f64 (/.f64 x 16) t)) (/.f64 a (/.f64 4 b)))) |
(fma.f64 y z (fma.f64 (/.f64 x 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c))) |
(fma.f64 y z (fma.f64 t (/.f64 x 16) (-.f64 c (*.f64 a (/.f64 b 4))))) |
(fma.f64 y z (+.f64 c (fma.f64 t (/.f64 x 16) (*.f64 a (*.f64 -1/4 b))))) |
(+.f64 (-.f64 (+.f64 (*.f64 t y) (/.f64 (*.f64 z x) 16)) (/.f64 (*.f64 a b) 4)) c) |
(-.f64 (fma.f64 t y (/.f64 z (/.f64 16 x))) (-.f64 (/.f64 a (/.f64 4 b)) c)) |
(+.f64 c (-.f64 (fma.f64 y t (/.f64 z (/.f64 16 x))) (/.f64 a (/.f64 4 b)))) |
(fma.f64 y t (fma.f64 (/.f64 z 16) x (fma.f64 -1 (*.f64 a (/.f64 b 4)) c))) |
(fma.f64 y t (fma.f64 x (/.f64 z 16) (-.f64 c (*.f64 a (/.f64 b 4))))) |
(+.f64 c (fma.f64 y t (fma.f64 x (/.f64 z 16) (*.f64 a (*.f64 -1/4 b))))) |
(+.f64 (-.f64 (+.f64 (*.f64 a y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 x b) 4)) c) |
(-.f64 (fma.f64 a y (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 x (/.f64 4 b)) c)) |
(+.f64 c (fma.f64 y a (-.f64 (*.f64 (/.f64 z 16) t) (*.f64 (/.f64 x 4) b)))) |
(fma.f64 y a (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 (/.f64 b 4) x) c))) |
(fma.f64 y a (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 x (/.f64 b 4))))) |
(+.f64 (-.f64 (+.f64 (*.f64 b y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a x) 4)) c) |
(-.f64 (fma.f64 b y (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 (*.f64 x a) 4) c)) |
(+.f64 c (fma.f64 y b (-.f64 (*.f64 (/.f64 z 16) t) (*.f64 (/.f64 a 4) x)))) |
(fma.f64 y b (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 x (/.f64 a 4)) c))) |
(fma.f64 (/.f64 z 16) t (fma.f64 y b (-.f64 c (*.f64 x (/.f64 a 4))))) |
(+.f64 c (fma.f64 z (/.f64 t 16) (fma.f64 y b (*.f64 x (*.f64 -1/4 a))))) |
(+.f64 (-.f64 (+.f64 (*.f64 c y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) x) |
(-.f64 (fma.f64 c y (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 b)) x)) |
(+.f64 x (-.f64 (fma.f64 y c (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 b)))) |
(fma.f64 y c (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) x))) |
(fma.f64 y c (fma.f64 z (/.f64 t 16) (-.f64 x (*.f64 a (/.f64 b 4))))) |
(+.f64 x (fma.f64 y c (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 b))))) |
(+.f64 (-.f64 (+.f64 (*.f64 x z) (/.f64 (*.f64 y t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(-.f64 (fma.f64 x z (/.f64 y (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 b)) c)) |
(+.f64 c (-.f64 (fma.f64 x z (/.f64 y (/.f64 16 t))) (/.f64 a (/.f64 4 b)))) |
(fma.f64 x z (fma.f64 (/.f64 y 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c))) |
(fma.f64 x z (fma.f64 t (/.f64 y 16) (-.f64 c (*.f64 a (/.f64 b 4))))) |
(+.f64 c (fma.f64 x z (fma.f64 t (/.f64 y 16) (*.f64 a (*.f64 -1/4 b))))) |
(+.f64 (-.f64 (+.f64 (*.f64 x t) (/.f64 (*.f64 z y) 16)) (/.f64 (*.f64 a b) 4)) c) |
(+.f64 c (-.f64 (fma.f64 x t (/.f64 z (/.f64 16 y))) (/.f64 a (/.f64 4 b)))) |
(+.f64 c (-.f64 (fma.f64 x t (*.f64 (/.f64 z 16) y)) (/.f64 a (/.f64 4 b)))) |
(fma.f64 (/.f64 z 16) y (fma.f64 x t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c))) |
(fma.f64 (/.f64 z 16) y (fma.f64 x t (-.f64 c (*.f64 a (/.f64 b 4))))) |
(+.f64 c (fma.f64 x t (fma.f64 y (/.f64 z 16) (*.f64 a (*.f64 -1/4 b))))) |
(+.f64 (-.f64 (+.f64 (*.f64 x a) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 y b) 4)) c) |
(-.f64 (fma.f64 x a (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 y (/.f64 4 b)) c)) |
(+.f64 c (fma.f64 x a (-.f64 (*.f64 (/.f64 z 16) t) (*.f64 (/.f64 y 4) b)))) |
(fma.f64 x a (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 b (/.f64 y 4)) c))) |
(fma.f64 x a (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 y (/.f64 b 4))))) |
(+.f64 c (fma.f64 x a (fma.f64 z (/.f64 t 16) (*.f64 -1/4 (*.f64 y b))))) |
(+.f64 (-.f64 (+.f64 (*.f64 x b) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a y) 4)) c) |
(+.f64 c (-.f64 (fma.f64 x b (/.f64 z (/.f64 16 t))) (/.f64 a (/.f64 4 y)))) |
(+.f64 c (fma.f64 x b (-.f64 (*.f64 (/.f64 z 16) t) (*.f64 (/.f64 a 4) y)))) |
(fma.f64 x b (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 y (/.f64 a 4)) c))) |
(fma.f64 x b (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 y (/.f64 a 4))))) |
(fma.f64 x b (fma.f64 z (/.f64 t 16) (+.f64 c (*.f64 y (*.f64 -1/4 a))))) |
(+.f64 (-.f64 (+.f64 (*.f64 x c) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) y) |
(-.f64 (fma.f64 x c (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 b)) y)) |
(+.f64 y (-.f64 (fma.f64 x c (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 b)))) |
(fma.f64 (/.f64 z 16) t (fma.f64 x c (fma.f64 -1 (*.f64 a (/.f64 b 4)) y))) |
(fma.f64 x c (fma.f64 z (/.f64 t 16) (-.f64 y (*.f64 a (/.f64 b 4))))) |
(+.f64 y (fma.f64 x c (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 b))))) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 t z) 16)) (/.f64 (*.f64 a b) 4)) c) |
(+.f64 (-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (/.f64 a (/.f64 4 b))) c) |
(+.f64 (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 b))) c) |
(fma.f64 x y (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c))) |
(fma.f64 x y (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 a (/.f64 b 4))))) |
(+.f64 (fma.f64 x y (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 b)))) c) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 a t) 16)) (/.f64 (*.f64 z b) 4)) c) |
(-.f64 (fma.f64 x y (/.f64 a (/.f64 16 t))) (-.f64 (/.f64 z (/.f64 4 b)) c)) |
(-.f64 (fma.f64 x y (*.f64 (/.f64 a 16) t)) (-.f64 (/.f64 z (/.f64 4 b)) c)) |
(fma.f64 x y (fma.f64 (/.f64 a 16) t (fma.f64 -1 (*.f64 b (/.f64 z 4)) c))) |
(fma.f64 x y (fma.f64 t (/.f64 a 16) (-.f64 c (*.f64 b (/.f64 z 4))))) |
(+.f64 c (fma.f64 t (/.f64 a 16) (fma.f64 x y (*.f64 z (*.f64 -1/4 b))))) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 b t) 16)) (/.f64 (*.f64 a z) 4)) c) |
(-.f64 (fma.f64 x y (/.f64 b (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 z)) c)) |
(-.f64 (fma.f64 x y (*.f64 (/.f64 b 16) t)) (-.f64 (*.f64 (/.f64 a 4) z) c)) |
(fma.f64 x y (fma.f64 (/.f64 b 16) t (fma.f64 -1 (*.f64 z (/.f64 a 4)) c))) |
(fma.f64 x y (fma.f64 t (/.f64 b 16) (-.f64 c (*.f64 z (/.f64 a 4))))) |
(+.f64 c (fma.f64 x y (fma.f64 t (/.f64 b 16) (*.f64 z (*.f64 -1/4 a))))) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 c t) 16)) (/.f64 (*.f64 a b) 4)) z) |
(-.f64 (fma.f64 x y (/.f64 c (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 b)) z)) |
(+.f64 z (-.f64 (fma.f64 x y (*.f64 (/.f64 c 16) t)) (/.f64 a (/.f64 4 b)))) |
(fma.f64 x y (fma.f64 (/.f64 c 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) z))) |
(fma.f64 x y (fma.f64 t (/.f64 c 16) (-.f64 z (*.f64 a (/.f64 b 4))))) |
(+.f64 z (fma.f64 x y (fma.f64 t (/.f64 c 16) (*.f64 a (*.f64 -1/4 b))))) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z a) 16)) (/.f64 (*.f64 t b) 4)) c) |
(-.f64 (fma.f64 x y (/.f64 (*.f64 z a) 16)) (-.f64 (/.f64 t (/.f64 4 b)) c)) |
(-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) a)) (-.f64 (*.f64 (/.f64 t 4) b) c)) |
(fma.f64 x y (fma.f64 (/.f64 z 16) a (fma.f64 -1 (*.f64 (/.f64 b 4) t) c))) |
(fma.f64 x y (fma.f64 a (/.f64 z 16) (-.f64 c (*.f64 t (/.f64 b 4))))) |
(+.f64 c (fma.f64 x y (fma.f64 a (/.f64 z 16) (*.f64 t (*.f64 -1/4 b))))) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z b) 16)) (/.f64 (*.f64 a t) 4)) c) |
(+.f64 c (-.f64 (fma.f64 x y (/.f64 z (/.f64 16 b))) (/.f64 a (/.f64 4 t)))) |
(+.f64 c (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) b)) (*.f64 (/.f64 a 4) t))) |
(fma.f64 x y (fma.f64 (/.f64 z 16) b (fma.f64 -1 (*.f64 t (/.f64 a 4)) c))) |
(fma.f64 x y (fma.f64 b (/.f64 z 16) (-.f64 c (*.f64 t (/.f64 a 4))))) |
(+.f64 c (fma.f64 b (/.f64 z 16) (fma.f64 x y (*.f64 t (*.f64 -1/4 a))))) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z c) 16)) (/.f64 (*.f64 a b) 4)) t) |
(-.f64 (fma.f64 x y (/.f64 z (/.f64 16 c))) (-.f64 (/.f64 a (/.f64 4 b)) t)) |
(+.f64 t (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) c)) (/.f64 a (/.f64 4 b)))) |
(fma.f64 (/.f64 z 16) c (fma.f64 x y (fma.f64 -1 (*.f64 a (/.f64 b 4)) t))) |
(fma.f64 x y (fma.f64 c (/.f64 z 16) (-.f64 t (*.f64 a (/.f64 b 4))))) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 b a) 4)) c) |
(+.f64 (-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (/.f64 a (/.f64 4 b))) c) |
(+.f64 (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 b))) c) |
(fma.f64 x y (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c))) |
(fma.f64 x y (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 a (/.f64 b 4))))) |
(+.f64 (fma.f64 x y (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 b)))) c) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 c b) 4)) a) |
(+.f64 a (-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (/.f64 c (/.f64 4 b)))) |
(+.f64 a (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (/.f64 b (/.f64 4 c)))) |
(fma.f64 x y (fma.f64 (/.f64 z 16) t (fma.f64 -1 (/.f64 b (/.f64 4 c)) a))) |
(fma.f64 x y (fma.f64 z (/.f64 t 16) (-.f64 a (*.f64 b (/.f64 c 4))))) |
(fma.f64 x y (fma.f64 z (/.f64 t 16) (+.f64 a (*.f64 b (*.f64 -1/4 c))))) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a c) 4)) b) |
(-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 c)) b)) |
(+.f64 b (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 c)))) |
(fma.f64 x y (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 c (/.f64 a 4)) b))) |
(fma.f64 x y (fma.f64 z (/.f64 t 16) (-.f64 b (*.f64 a (/.f64 c 4))))) |
(+.f64 b (fma.f64 x y (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 c))))) |
(sort x y)
(sort z t)
(sort a b)
Compiled 31 to 24 computations (22.6% saved)
| 1× | egg-herbie |
| 1243× | fma-neg_binary64 |
| 515× | fma-def_binary64 |
| 259× | cancel-sign-sub-inv_binary64 |
| 147× | distribute-rgt-in_binary64 |
| 127× | sub-neg_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 23 |
| 1 | 34 | 23 |
| 2 | 77 | 22 |
| 3 | 174 | 21 |
| 4 | 416 | 19 |
| 5 | 928 | 19 |
| 6 | 1618 | 19 |
| 7 | 2661 | 19 |
| 8 | 3547 | 19 |
| 9 | 3711 | 19 |
| 10 | 3766 | 19 |
| 11 | 3776 | 19 |
| 12 | 3776 | 19 |
| 13 | 4092 | 19 |
| 14 | 4096 | 19 |
| 15 | 4096 | 19 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
| Outputs |
|---|
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 b)) c)) |
(-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (-.f64 (*.f64 (/.f64 a 4) b) c)) |
(fma.f64 (/.f64 z 16) t (fma.f64 x y (fma.f64 -1 (*.f64 b (/.f64 a 4)) c))) |
(fma.f64 t (/.f64 z 16) (fma.f64 x y (-.f64 c (*.f64 b (/.f64 a 4))))) |
(fma.f64 x y (fma.f64 b (*.f64 -1/4 a) (fma.f64 t (/.f64 z 16) c))) |
(fma.f64 x y (fma.f64 t (/.f64 z 16) (fma.f64 -1/4 (*.f64 a b) c))) |
(fma.f64 x y (fma.f64 t (/.f64 z 16) (fma.f64 (*.f64 a b) -1/4 c))) |
(fma.f64 x y (fma.f64 t (*.f64 1/16 z) (fma.f64 (*.f64 a b) -1/4 c))) |
(fma.f64 x y (fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c))) |
Compiled 38 to 23 computations (39.5% 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 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c))) |
| ▶ | 0.0b | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
Compiled 45 to 31 computations (31.1% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
| ✓ | 0.0b | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) |
| ✓ | 0.0b | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
Compiled 76 to 32 computations (57.9% saved)
51 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | x | @ | inf | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
| 2.0ms | z | @ | 0 | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) |
| 1.0ms | t | @ | 0 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
| 1.0ms | x | @ | 0 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
| 1.0ms | y | @ | 0 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
| 1× | batch-egg-rewrite |
| 554× | fma-neg_binary64 |
| 372× | expm1-udef_binary64 |
| 372× | log1p-udef_binary64 |
| 209× | add-sqr-sqrt_binary64 |
| 205× | *-un-lft-identity_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 54 |
| 1 | 411 | 50 |
| 2 | 6067 | 50 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
(+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (*.f64 (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z t) 1/16) (fma.f64 x y (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z t) 1/16) (+.f64 (*.f64 x y) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) (fma.f64 -1/4 (*.f64 a b) (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 a (*.f64 b 1/4)))) (pow.f64 (cbrt.f64 (*.f64 a (*.f64 b 1/4))) 2) (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) (+.f64 (*.f64 (*.f64 a b) -1/4) (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a b) -1/4) (fma.f64 x y (*.f64 (*.f64 z t) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) 2) (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) (sqrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (*.f64 (*.f64 a (*.f64 b 1/4)) (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (pow.f64 (*.f64 a (*.f64 b 1/4)) 2)) (/.f64 1 (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (*.f64 (*.f64 a (*.f64 b 1/4)) (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4))))) (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4))) (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (pow.f64 (*.f64 a (*.f64 b 1/4)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (*.f64 (*.f64 a (*.f64 b 1/4)) (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (pow.f64 (*.f64 a (*.f64 b 1/4)) 2)) (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))) (neg.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (*.f64 (*.f64 a (*.f64 b 1/4)) (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (pow.f64 (*.f64 a (*.f64 b 1/4)) 2))) (neg.f64 (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (/.f64 4 b)) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) a)) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) (/.f64 4 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) (/.f64 4 b)) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) a)) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) (/.f64 4 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) 4) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) (*.f64 a b))) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) 4) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) (*.f64 a b))) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (/.f64 4 (*.f64 a b))) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) 1)) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) (/.f64 4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) (/.f64 4 (*.f64 a b))) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) 1)) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) (/.f64 4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) -4) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) (*.f64 a (neg.f64 b)))) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) -4) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) (*.f64 a (neg.f64 b)))) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) (*.f64 (*.f64 x y) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) (pow.f64 (*.f64 (*.f64 a b) -1/4) 3)) (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (-.f64 (*.f64 (*.f64 (*.f64 a b) -1/4) (*.f64 (*.f64 a b) -1/4)) (*.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) (-.f64 (*.f64 x y) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (*.f64 (*.f64 (*.f64 a b) -1/4) (*.f64 (*.f64 a b) -1/4))) (-.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 1 (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x y) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2) (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (*.f64 (*.f64 a b) -1/4))))) (#(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 (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y))))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))) (*.f64 (*.f64 a b) -1/4)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))) (/.f64 (pow.f64 (*.f64 (*.f64 z t) 1/16) 2) (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2) (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (+.f64 (pow.f64 (*.f64 (*.f64 z t) 1/16) 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096))) (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2))) (neg.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 z t) 1/16) 2) (pow.f64 (*.f64 x y) 2)) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 (*.f64 z t) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 (*.f64 z t) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z t) 1/16 (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 z t) 1/16) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 z t) 1/16)) 2) (cbrt.f64 (*.f64 (*.f64 z t) 1/16)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 (*.f64 z t) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 z t) 1/16)) (sqrt.f64 (*.f64 (*.f64 z t) 1/16)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 (*.f64 z t) 1/16)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (-.f64 (*.f64 a (*.f64 b 1/4)) c))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (-.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) (/.f64 (*.f64 c c) (-.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 c (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (*.f64 a (*.f64 b 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) (pow.f64 (cbrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) 2) (cbrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) (sqrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3) (pow.f64 c 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c (-.f64 c (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c c)) (/.f64 1 (-.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c (-.f64 c (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3) (pow.f64 c 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c) (-.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3) (pow.f64 c 3)) (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c (-.f64 c (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3) (pow.f64 c 3)) (+.f64 (*.f64 c c) (-.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c c)) (-.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3) (pow.f64 c 3))) (neg.f64 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c (-.f64 c (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c c))) (neg.f64 (-.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) (pow.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c) 3)) (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (+.f64 (*.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c) (-.f64 (*.f64 a (*.f64 b 1/4)) c)) (*.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (*.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c) (-.f64 (*.f64 a (*.f64 b 1/4)) c))) (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2)) (-.f64 c (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 1 (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) 2) (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2) (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2) (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) (sqrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y))))) (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))) (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c))))))) |
| 1× | egg-herbie |
| 1185× | fma-neg_binary64 |
| 706× | fma-def_binary64 |
| 344× | cancel-sign-sub-inv_binary64 |
| 115× | distribute-rgt-neg-in_binary64 |
| 113× | sub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 30 | 3091 |
| 1 | 71 | 3083 |
| 2 | 168 | 2945 |
| 3 | 442 | 2945 |
| 4 | 718 | 2945 |
| 5 | 1151 | 2945 |
| 6 | 2126 | 2945 |
| 7 | 2958 | 2945 |
| 8 | 3348 | 2945 |
| 9 | 3454 | 2945 |
| 10 | 3454 | 2945 |
| 11 | 3751 | 2945 |
| 12 | 3751 | 2945 |
| 1× | saturated |
| Inputs |
|---|
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 y x) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 y x) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 y x) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 y x) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
c |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
c |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
| Outputs |
|---|
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) |
(fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) |
(fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 (*.f64 a b) -1/4)) |
(fma.f64 y x (*.f64 (*.f64 a b) -1/4)) |
(fma.f64 a (*.f64 b -1/4) (*.f64 y x)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 (*.f64 a b) -1/4)) |
(fma.f64 y x (*.f64 (*.f64 a b) -1/4)) |
(fma.f64 a (*.f64 b -1/4) (*.f64 y x)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 (*.f64 (*.f64 a b) -1/4) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 (*.f64 a b) -1/4 c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(*.f64 y x) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(*.f64 y x) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 (*.f64 (*.f64 a b) -1/4) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 (*.f64 a b) -1/4 c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(*.f64 y x) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(*.f64 y x) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 y x) c) (*.f64 (*.f64 a b) -1/4)) |
(+.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) c) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x c)) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 y x) c) (*.f64 (*.f64 a b) -1/4)) |
(+.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) c) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x c)) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 (fma.f64 y x (*.f64 1/16 (*.f64 t z))) c) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 (fma.f64 y x (*.f64 1/16 (*.f64 t z))) c) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
c |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
c |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c) |
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c)) |
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c)) |
| ✓ | 0.0b | (fma.f64 (*.f64 a b) -1/4 c) |
Compiled 53 to 25 computations (52.8% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | t | @ | 0 | (fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c)) |
| 1.0ms | a | @ | -inf | (fma.f64 (*.f64 a b) -1/4 c) |
| 1.0ms | a | @ | 0 | (fma.f64 (*.f64 a b) -1/4 c) |
| 1.0ms | z | @ | -inf | (fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c)) |
| 1.0ms | z | @ | 0 | (fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c)) |
| 1× | batch-egg-rewrite |
| 532× | log-prod_binary64 |
| 421× | exp-prod_binary64 |
| 356× | prod-exp_binary64 |
| 321× | pow-prod-down_binary64 |
| 303× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 23 |
| 1 | 239 | 23 |
| 2 | 2700 | 23 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 (*.f64 a b) -1/4 c) |
(fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 c (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (*.f64 b -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a (*.f64 b -1/4)) 1) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (*.f64 b -1/4) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2) (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)) (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 c 3)) (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (-.f64 (*.f64 c c) (*.f64 (*.f64 a (*.f64 b -1/4)) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c c)) (-.f64 (*.f64 a (*.f64 b -1/4)) c))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 b -1/4) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c))) 2)) (cbrt.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)))) (sqrt.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (pow.f64 (exp.f64 b) (*.f64 a -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 b) (*.f64 a -1/4)) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 a (*.f64 b -1/4) c))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)) 1) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (*.f64 b -1/4) c) (*.f64 (*.f64 t z) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 t z) 1/16) (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 t z) 1/16) 1) (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 t z) 1/16 (*.f64 a (*.f64 b -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) 2) (cbrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) (sqrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (*.f64 t z) 1/16) 3) (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 t z) 1/16) 2) (-.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2) (*.f64 (*.f64 (*.f64 t z) 1/16) (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 t z) 1/16) 2) (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2)) (-.f64 (*.f64 (*.f64 t z) 1/16) (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))) 2)) (cbrt.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))) (sqrt.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c))) (pow.f64 (pow.f64 (exp.f64 z) 1/16) t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 z) 1/16) t) (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) 1) 1)))))) |
| 1× | egg-herbie |
| 36× | fma-def_binary64 |
| 10× | *-commutative_binary64 |
| 6× | associate-*r*_binary64 |
| 6× | associate-*l*_binary64 |
| 4× | +-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 1186 |
| 1 | 30 | 1124 |
| 2 | 58 | 1034 |
| 3 | 92 | 1034 |
| 1× | saturated |
| Inputs |
|---|
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
c |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
c |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
| Outputs |
|---|
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
c |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
c |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
Compiled 6151 to 3234 computations (47.4% saved)
11 alts after pruning (11 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 242 | 11 | 253 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 244 | 11 | 255 |
| Status | Error | Program |
|---|---|---|
| 29.5b | (+.f64 (*.f64 1/16 (*.f64 t z)) c) | |
| ▶ | 27.9b | (+.f64 (*.f64 y x) c) |
| ▶ | 35.5b | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| ▶ | 13.4b | (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
| 15.2b | (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) | |
| 42.2b | c | |
| 13.3b | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x c)) | |
| ▶ | 0.0b | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
| 14.5b | (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) | |
| ▶ | 27.8b | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 15.2b | (fma.f64 x y (fma.f64 t (*.f64 z 1/16) c)) |
Compiled 336 to 245 computations (27.1% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
| ✓ | 0.0b | (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) |
| ✓ | 0.0b | (fma.f64 1/16 (*.f64 t z) c) |
Compiled 51 to 23 computations (54.9% saved)
45 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | c | @ | inf | (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) |
| 1.0ms | b | @ | -inf | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
| 1.0ms | b | @ | inf | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
| 1.0ms | a | @ | 0 | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
| 1.0ms | b | @ | 0 | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
| 1× | batch-egg-rewrite |
| 673× | log-prod_binary64 |
| 416× | pow-prod-down_binary64 |
| 385× | pow2_binary64 |
| 269× | pow1/3_binary64 |
| 267× | expm1-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 39 |
| 1 | 298 | 39 |
| 2 | 3407 | 39 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 c (*.f64 (*.f64 1/16 t) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/16 t) z) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 1/16 t) z) 1) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/16 (*.f64 t z) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/16 (*.f64 t z) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (cbrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2)) (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/16 t) z) 3) (pow.f64 c 3)) (+.f64 (pow.f64 (*.f64 (*.f64 1/16 t) z) 2) (-.f64 (*.f64 c c) (*.f64 (*.f64 (*.f64 1/16 t) z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 1/16 t) z) 2) (*.f64 c c)) (-.f64 (*.f64 (*.f64 1/16 t) z) c))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/16 (*.f64 t z) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 c) (exp.f64 (*.f64 (*.f64 1/16 t) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (exp.f64 (*.f64 (*.f64 1/16 t) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/16 t) z)) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/16 (*.f64 t z) c)) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/16 (*.f64 t z) c) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y x) 1) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 1/16 t) z)) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) (cbrt.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2)) (cbrt.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) (sqrt.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 (*.f64 y x) (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2)) (-.f64 (*.f64 y x) (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)) (exp.f64 (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))) (exp.f64 (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 y x)) (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (*.f64 b -1/4)) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a (*.f64 b -1/4)) 1) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (*.f64 b -1/4) (*.f64 y x)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 2) (cbrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) (sqrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 3)) (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (-.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2) (*.f64 (*.f64 a (*.f64 b -1/4)) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2)) (-.f64 (*.f64 a (*.f64 b -1/4)) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) (exp.f64 (*.f64 a (*.f64 b -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) (exp.f64 (*.f64 a (*.f64 b -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 a (*.f64 b -1/4))) (+.f64 1 (expm1.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 1)))))) |
| 1× | egg-herbie |
| 106× | fma-def_binary64 |
| 21× | associate-+l+_binary64 |
| 14× | associate-+r+_binary64 |
| 11× | +-commutative_binary64 |
| 11× | *-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 2535 |
| 1 | 53 | 2473 |
| 2 | 108 | 2245 |
| 3 | 205 | 2245 |
| 4 | 217 | 2245 |
| 1× | saturated |
| Inputs |
|---|
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
c |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
c |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
c |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
c |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
| Outputs |
|---|
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 t) z (*.f64 y x)) |
(fma.f64 t (*.f64 1/16 z) (*.f64 y x)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
c |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
c |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (fma.f64 (*.f64 1/16 t) z c) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (fma.f64 (*.f64 1/16 t) z c) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(*.f64 y x) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 (*.f64 -1/4 a) b (*.f64 y x))) |
(fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 (*.f64 -1/4 a) b (*.f64 y x))) |
(fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 a (*.f64 -1/4 b) (*.f64 y x))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
c |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
c |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))) |
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))) |
Compiled 18 to 9 computations (50% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
Compiled 26 to 17 computations (34.6% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a | @ | 0 | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 0.0ms | b | @ | 0 | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 0.0ms | c | @ | 0 | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 0.0ms | a | @ | inf | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 0.0ms | b | @ | -inf | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 1× | batch-egg-rewrite |
| 899× | pow1_binary64 |
| 836× | add-log-exp_binary64 |
| 836× | log1p-expm1-u_binary64 |
| 836× | expm1-log1p-u_binary64 |
| 818× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 8 |
| 1 | 172 | 8 |
| 2 | 2265 | 8 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a (*.f64 b -1/4) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (-.f64 (*.f64 a (*.f64 b -1/4)) c)) (/.f64 (*.f64 c c) (-.f64 (*.f64 a (*.f64 b -1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (*.f64 b -1/4) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2) (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)) (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 c 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c (-.f64 c (*.f64 a (*.f64 b -1/4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c c)) (/.f64 1 (-.f64 (*.f64 a (*.f64 b -1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c (-.f64 c (*.f64 a (*.f64 b -1/4))))) (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 c 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 a (*.f64 b -1/4)) c) (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 c 3)) (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c (-.f64 c (*.f64 a (*.f64 b -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 c 3)) (+.f64 (*.f64 c c) (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 a (*.f64 (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c c)) (-.f64 (*.f64 a (*.f64 b -1/4)) c))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 c 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c (-.f64 c (*.f64 a (*.f64 b -1/4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c c))) (neg.f64 (-.f64 (*.f64 a (*.f64 b -1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (pow.f64 (*.f64 a (*.f64 b -1/4)) 2)) (-.f64 c (*.f64 a (*.f64 b -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 b -1/4) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 b -1/4) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b -1/4) a c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a (*.f64 b -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a (*.f64 b -1/4))) 2) (cbrt.f64 (*.f64 a (*.f64 b -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a (*.f64 b -1/4))) (sqrt.f64 (*.f64 a (*.f64 b -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) -1/4 c))))) |
| 1× | egg-herbie |
| 6× | fma-def_binary64 |
| 5× | *-commutative_binary64 |
| 3× | associate-*r*_binary64 |
| 3× | associate-*l*_binary64 |
| 1× | +-commutative_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 309 |
| 1 | 13 | 255 |
| 2 | 23 | 255 |
| 3 | 29 | 255 |
| 1× | saturated |
| Inputs |
|---|
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
| Outputs |
|---|
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) c) |
(fma.f64 a (*.f64 -1/4 b) c) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
Compiled 40 to 16 computations (60% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | c | @ | 0 | (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | y | @ | -inf | (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | x | @ | -inf | (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | y | @ | inf | (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | x | @ | inf | (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
| 1× | batch-egg-rewrite |
| 686× | log-prod_binary64 |
| 581× | fma-def_binary64 |
| 358× | pow2_binary64 |
| 268× | fma-neg_binary64 |
| 247× | pow1/3_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 16 |
| 1 | 267 | 14 |
| 2 | 3796 | 12 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 c (*.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x c) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x c) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a b) -1/4) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16)) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2)) (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))) (neg.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16))) (neg.f64 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 c 3) (pow.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 3)) (fma.f64 c c (-.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 2) (*.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 y x c) 3) (pow.f64 (*.f64 (*.f64 a b) -1/4) 3)) (+.f64 (pow.f64 (fma.f64 y x c) 2) (-.f64 (pow.f64 (*.f64 (*.f64 a b) -1/4) 2) (*.f64 (fma.f64 y x c) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (pow.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 2)) (-.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (pow.f64 (*.f64 (*.f64 a b) -1/4) 2)) (-.f64 (fma.f64 y x c) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2)) (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (fma.f64 y x c))) (pow.f64 (pow.f64 (exp.f64 a) b) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 y x c)) (+.f64 1 (expm1.f64 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (fma.f64 y x c))) (+.f64 1 (expm1.f64 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (exp.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 c) (/.f64 (pow.f64 (exp.f64 y) x) (pow.f64 (pow.f64 (exp.f64 a) b) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (/.f64 (pow.f64 (exp.f64 y) x) (pow.f64 (pow.f64 (exp.f64 a) b) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x c))) (exp.f64 (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x c)) (/.f64 1 (pow.f64 (pow.f64 (exp.f64 a) b) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x c))) (/.f64 1 (pow.f64 (pow.f64 (exp.f64 a) b) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 a b) -1/4)) (exp.f64 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 a) b) 1/4)) (exp.f64 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 a b) -1/4)) (+.f64 1 (expm1.f64 (fma.f64 y x c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 a) b) 1/4)) (+.f64 1 (expm1.f64 (fma.f64 y x c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 y) x) (pow.f64 (pow.f64 (exp.f64 a) b) 1/4)) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 y) x) (pow.f64 (pow.f64 (exp.f64 a) b) 1/4)) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (*.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x c) 1 (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x c) 1 (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/4 (neg.f64 (*.f64 a b)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 1 (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 1 (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 1 (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x c) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x c) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 a b) -1/4) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (*.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x c)) (pow.f64 (cbrt.f64 (fma.f64 y x c)) 2) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x c)) (pow.f64 (cbrt.f64 (fma.f64 y x c)) 2) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x c)) 2) (cbrt.f64 (fma.f64 y x c)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x c)) 2) (cbrt.f64 (fma.f64 y x c)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x c)) (sqrt.f64 (fma.f64 y x c)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x c)) (sqrt.f64 (fma.f64 y x c)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 c 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 c c (*.f64 (*.f64 y x) (fma.f64 y x (neg.f64 c))))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 c 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 c c (*.f64 (*.f64 y x) (fma.f64 y x (neg.f64 c))))) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16)) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16)) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16)) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16)) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 c c) (pow.f64 (*.f64 y x) 2)) (/.f64 1 (-.f64 c (*.f64 y x))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 c c) (pow.f64 (*.f64 y x) 2)) (/.f64 1 (-.f64 c (*.f64 y x))) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (*.f64 a b) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 a) (neg.f64 b) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 a b) -1/4)) 2) (cbrt.f64 (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 a b) -1/4)) (sqrt.f64 (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 a b)) 1/4 (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 1/4 (*.f64 a b)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 y) (sqrt.f64 x) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2)) (cbrt.f64 (*.f64 1/4 (*.f64 a b))) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 1/4 a)) b (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 a) b (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 b) a (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 c (*.f64 (*.f64 a b) -1/4))))))) |
| 1× | egg-herbie |
| 518× | fma-def_binary64 |
| 326× | fma-neg_binary64 |
| 116× | cancel-sign-sub-inv_binary64 |
| 56× | distribute-rgt-neg-in_binary64 |
| 56× | unsub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 343 |
| 1 | 36 | 339 |
| 2 | 80 | 299 |
| 3 | 188 | 299 |
| 4 | 284 | 299 |
| 5 | 430 | 299 |
| 6 | 708 | 299 |
| 7 | 980 | 299 |
| 8 | 1233 | 299 |
| 9 | 1627 | 299 |
| 10 | 1648 | 299 |
| 1× | saturated |
| Inputs |
|---|
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
c |
c |
(-.f64 c (*.f64 1/4 (*.f64 a b))) |
(*.f64 y x) |
(*.f64 y x) |
(-.f64 c (*.f64 1/4 (*.f64 a b))) |
(*.f64 y x) |
(*.f64 y x) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
| Outputs |
|---|
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 (*.f64 a b) -1/4)) |
(fma.f64 y x (*.f64 b (*.f64 a -1/4))) |
(fma.f64 y x (*.f64 a (*.f64 b -1/4))) |
c |
c |
(-.f64 c (*.f64 1/4 (*.f64 a b))) |
(+.f64 c (*.f64 (*.f64 a b) -1/4)) |
(+.f64 c (*.f64 b (*.f64 a -1/4))) |
(fma.f64 a (*.f64 b -1/4) c) |
(fma.f64 b (*.f64 a -1/4) c) |
(*.f64 y x) |
(*.f64 y x) |
(-.f64 c (*.f64 1/4 (*.f64 a b))) |
(+.f64 c (*.f64 (*.f64 a b) -1/4)) |
(+.f64 c (*.f64 b (*.f64 a -1/4))) |
(fma.f64 a (*.f64 b -1/4) c) |
(fma.f64 b (*.f64 a -1/4) c) |
(*.f64 y x) |
(*.f64 y x) |
(+.f64 c (*.f64 y x)) |
(+.f64 (*.f64 y x) c) |
(fma.f64 y x c) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 b (*.f64 a -1/4)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 b (*.f64 a -1/4)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (*.f64 y x)) |
(+.f64 (*.f64 y x) c) |
(fma.f64 y x c) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 b (*.f64 a -1/4)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 b (*.f64 a -1/4)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c)) |
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
Compiled 28 to 14 computations (50% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| 0.0ms | y | @ | -inf | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| 0.0ms | y | @ | 0 | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| 0.0ms | y | @ | inf | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| 0.0ms | x | @ | inf | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| 1× | batch-egg-rewrite |
| 845× | pow1_binary64 |
| 776× | add-log-exp_binary64 |
| 776× | log1p-expm1-u_binary64 |
| 776× | expm1-log1p-u_binary64 |
| 759× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 11 |
| 1 | 181 | 11 |
| 2 | 2099 | 11 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) 1) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (*.f64 1/16 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) 2) (cbrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) (sqrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 1/16 (*.f64 t z)) 3)) (+.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (-.f64 (*.f64 (pow.f64 (*.f64 t z) 2) 1/256) (*.f64 (*.f64 x y) (*.f64 1/16 (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256)) (-.f64 (*.f64 x y) (*.f64 1/16 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z))))))))) |
| 1× | egg-herbie |
| 8× | fma-def_binary64 |
| 6× | *-commutative_binary64 |
| 3× | associate-*r*_binary64 |
| 3× | associate-*l*_binary64 |
| 1× | +-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 462 |
| 1 | 17 | 462 |
| 2 | 28 | 462 |
| 3 | 34 | 462 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| Outputs |
|---|
(*.f64 1/16 (*.f64 t z)) |
(*.f64 z (*.f64 1/16 t)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 z (*.f64 1/16 t)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 z (*.f64 1/16 t)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 z (*.f64 1/16 t)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 z (*.f64 1/16 t)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 z (*.f64 1/16 t)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(fma.f64 y x (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 y x)) |
Compiled 6358 to 3013 computations (52.6% saved)
14 alts after pruning (11 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 339 | 8 | 347 |
| Fresh | 3 | 3 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 2 | 2 | 4 |
| Total | 344 | 14 | 358 |
| Status | Error | Program |
|---|---|---|
| 20.7b | (fma.f64 a (*.f64 b -1/4) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) | |
| 29.5b | (+.f64 (*.f64 1/16 (*.f64 t z)) c) | |
| ✓ | 27.9b | (+.f64 (*.f64 y x) c) |
| 33.6b | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) | |
| ▶ | 49.9b | (*.f64 z (*.f64 1/16 t)) |
| 48.1b | (*.f64 a (*.f64 b -1/4)) | |
| 42.2b | c | |
| ▶ | 48.1b | (*.f64 y x) |
| ▶ | 35.5b | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| ✓ | 35.5b | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| ▶ | 27.8b | (fma.f64 (*.f64 b -1/4) a c) |
| ▶ | 14.5b | (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
| ✓ | 27.8b | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 15.2b | (fma.f64 x y (fma.f64 t (*.f64 z 1/16) c)) |
Compiled 349 to 266 computations (23.8% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 c (*.f64 1/16 (*.f64 t z))) |
| ✓ | 0.0b | (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
Compiled 50 to 24 computations (52% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | c | @ | 0 | (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | c | @ | inf | (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | b | @ | 0 | (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | t | @ | 0 | (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | t | @ | -inf | (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
| 1× | batch-egg-rewrite |
| 783× | log-prod_binary64 |
| 644× | fma-def_binary64 |
| 292× | fma-neg_binary64 |
| 275× | expm1-udef_binary64 |
| 275× | log1p-udef_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 29 |
| 1 | 308 | 25 |
| 2 | 4267 | 23 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 c (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/16 (*.f64 t z)) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/16 (*.f64 t z) c) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/16 (*.f64 t z) c) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a b) -1/4) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)))) (cbrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2)) (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))) (neg.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))) (neg.f64 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 c 3) (pow.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 3)) (fma.f64 c c (-.f64 (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) (*.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (pow.f64 (*.f64 (*.f64 a b) -1/4) 3)) (+.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (fma.f64 (*.f64 (*.f64 a b) -1/4) (*.f64 (*.f64 a b) -1/4) (neg.f64 (*.f64 (fma.f64 1/16 (*.f64 t z) c) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))) (-.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 (*.f64 (*.f64 a b) -1/4) (*.f64 (*.f64 a b) -1/4))) (-.f64 (fma.f64 1/16 (*.f64 t z) c) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))) (pow.f64 (pow.f64 (exp.f64 b) a) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)) (+.f64 1 (expm1.f64 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))) (+.f64 1 (expm1.f64 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (exp.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 c) (/.f64 (pow.f64 (pow.f64 (exp.f64 z) t) 1/16) (pow.f64 (pow.f64 (exp.f64 b) a) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (/.f64 (pow.f64 (pow.f64 (exp.f64 z) t) 1/16) (pow.f64 (pow.f64 (exp.f64 b) a) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))) (exp.f64 (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)) (/.f64 1 (pow.f64 (pow.f64 (exp.f64 b) a) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))) (/.f64 1 (pow.f64 (pow.f64 (exp.f64 b) a) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 a b) -1/4)) (exp.f64 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 b) a) 1/4)) (exp.f64 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 a b) -1/4)) (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 b) a) 1/4)) (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 z) t) 1/16) (pow.f64 (pow.f64 (exp.f64 b) a) 1/4)) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 z) t) 1/16) (pow.f64 (pow.f64 (exp.f64 b) a) 1/4)) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (*.f64 t z)) 1 (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/16 (*.f64 t z) c) 1 (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/16 (*.f64 t z) c) 1 (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/4 (neg.f64 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 1 (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 1 (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 1 (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/16 (*.f64 t z)) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/16 (*.f64 t z) c) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/16 (*.f64 t z) c) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 a b) -1/4) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2) (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2) (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 t z) 2)) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) (pow.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) 2) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) 2) (cbrt.f64 (*.f64 1/16 (*.f64 t z))) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3)) (/.f64 1 (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3)) (/.f64 1 (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 c c) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256)) (/.f64 1 (+.f64 c (*.f64 -1/16 (*.f64 t z)))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 c c) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256)) (/.f64 1 (+.f64 c (*.f64 -1/16 (*.f64 t z)))) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 a) (neg.f64 b) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 a b) -1/4)) (cbrt.f64 (*.f64 (*.f64 a b) -1/4))) (cbrt.f64 (*.f64 (*.f64 a b) -1/4)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) (cbrt.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))) (cbrt.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 a b) -1/4)) (sqrt.f64 (*.f64 (*.f64 a b) -1/4)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 a b)) 1/4 (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2)) (cbrt.f64 (*.f64 1/4 (*.f64 a b))) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 1/4 a)) b (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (cbrt.f64 (pow.f64 (*.f64 t z) 2))) (cbrt.f64 (*.f64 t z)) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 a) b (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 b) a (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/16 (*.f64 t z) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 c c) (+.f64 c (*.f64 -1/16 (*.f64 t z)))) (/.f64 (*.f64 (pow.f64 (*.f64 t z) 2) 1/256) (+.f64 c (*.f64 -1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/16 (*.f64 t z) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2) (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3)) (/.f64 1 (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 c c) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256)) (/.f64 1 (+.f64 c (*.f64 -1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c)))) (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 c (*.f64 -1/16 (*.f64 t z))) (-.f64 (*.f64 c c) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3)) (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3)) (fma.f64 (pow.f64 (*.f64 t z) 2) 1/256 (-.f64 (*.f64 c c) (*.f64 (*.f64 c 1/16) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256)) (+.f64 c (*.f64 -1/16 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3))) (neg.f64 (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 c c) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256))) (neg.f64 (+.f64 c (*.f64 -1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 t z) 2) 1/256 (neg.f64 (*.f64 c c))) (fma.f64 1/16 (*.f64 t z) (neg.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/16 (*.f64 t z) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (pow.f64 (pow.f64 (exp.f64 z) t) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 c) (+.f64 1 (expm1.f64 (*.f64 1/16 (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (+.f64 1 (expm1.f64 (*.f64 1/16 (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/16 (*.f64 t z)))) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 z) t) 1/16) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/16 (*.f64 t z)))) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/16 (*.f64 t z) c)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (*.f64 t z)) 1 c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/16 (*.f64 t z)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 t z) 2)) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) (pow.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) 2) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) 2) (cbrt.f64 (*.f64 1/16 (*.f64 t z))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 1/4 (sqrt.f64 (*.f64 t z))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (cbrt.f64 (pow.f64 (*.f64 t z) 2))) (cbrt.f64 (*.f64 t z)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) c))))) |
| 1× | egg-herbie |
| 615× | fma-def_binary64 |
| 412× | fma-neg_binary64 |
| 141× | cancel-sign-sub-inv_binary64 |
| 86× | distribute-rgt-neg-in_binary64 |
| 68× | unsub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 457 |
| 1 | 41 | 453 |
| 2 | 95 | 413 |
| 3 | 224 | 413 |
| 4 | 337 | 413 |
| 5 | 541 | 413 |
| 6 | 883 | 413 |
| 7 | 1255 | 413 |
| 8 | 1579 | 413 |
| 9 | 2006 | 413 |
| 10 | 2027 | 413 |
| 1× | saturated |
| Inputs |
|---|
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
c |
c |
(-.f64 c (*.f64 1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(-.f64 c (*.f64 1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 1/16 (*.f64 t z)) |
c |
c |
c |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
c |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
| Outputs |
|---|
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) |
(fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))) |
c |
c |
(-.f64 c (*.f64 1/4 (*.f64 a b))) |
(+.f64 c (*.f64 (*.f64 a b) -1/4)) |
(+.f64 c (*.f64 b (*.f64 a -1/4))) |
(fma.f64 a (*.f64 b -1/4) c) |
(fma.f64 b (*.f64 a -1/4) c) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 (*.f64 1/16 t) z) |
(-.f64 c (*.f64 1/4 (*.f64 a b))) |
(+.f64 c (*.f64 (*.f64 a b) -1/4)) |
(+.f64 c (*.f64 b (*.f64 a -1/4))) |
(fma.f64 a (*.f64 b -1/4) c) |
(fma.f64 b (*.f64 a -1/4) c) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 (*.f64 1/16 t) z) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 (*.f64 1/16 t) z) c) |
(fma.f64 1/16 (*.f64 t z) c) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 b (*.f64 a -1/4)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 b (*.f64 a -1/4)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 (*.f64 1/16 t) z) c) |
(fma.f64 1/16 (*.f64 t z) c) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 b (*.f64 a -1/4)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 a b) -1/4) |
(*.f64 b (*.f64 a -1/4)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 (*.f64 1/16 t) z) |
c |
c |
c |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 (*.f64 1/16 t) z) |
c |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 (*.f64 1/16 t) z) |
Compiled 12 to 8 computations (33.3% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 z (*.f64 1/16 t)) |
Compiled 18 to 13 computations (27.8% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | t | @ | 0 | (*.f64 z (*.f64 1/16 t)) |
| 1.0ms | z | @ | 0 | (*.f64 z (*.f64 1/16 t)) |
| 0.0ms | z | @ | inf | (*.f64 z (*.f64 1/16 t)) |
| 0.0ms | t | @ | inf | (*.f64 z (*.f64 1/16 t)) |
| 0.0ms | t | @ | -inf | (*.f64 z (*.f64 1/16 t)) |
| 1× | batch-egg-rewrite |
| 551× | pow1_binary64 |
| 510× | add-log-exp_binary64 |
| 510× | log1p-expm1-u_binary64 |
| 510× | expm1-log1p-u_binary64 |
| 500× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 7 |
| 1 | 122 | 7 |
| 2 | 1395 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (*.f64 1/16 t)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 z (*.f64 1/16 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (*.f64 1/16 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (*.f64 1/16 t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (*.f64 1/16 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (*.f64 1/16 t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (*.f64 1/16 t)))))))) |
| 1× | egg-herbie |
| 5× | *-commutative_binary64 |
| 3× | associate-*r*_binary64 |
| 3× | associate-*l*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 168 |
| 1 | 10 | 168 |
| 2 | 17 | 168 |
| 3 | 19 | 168 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
| Outputs |
|---|
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
Compiled 32 to 15 computations (53.1% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| 0.0ms | t | @ | inf | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| 1× | batch-egg-rewrite |
| 540× | log-prod_binary64 |
| 405× | exp-prod_binary64 |
| 359× | fma-def_binary64 |
| 358× | pow-prod-down_binary64 |
| 278× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 11 |
| 1 | 212 | 11 |
| 2 | 2773 | 11 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (fma.f64 y x (*.f64 -1/16 (*.f64 t z)))) (/.f64 (pow.f64 (*.f64 (*.f64 1/16 z) t) 2) (fma.f64 y x (*.f64 -1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/16 z) t) (-.f64 (*.f64 (*.f64 1/16 z) t) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/16 z) t) 2)) (/.f64 1 (fma.f64 y x (*.f64 -1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (*.f64 1/16 z) t) (-.f64 (*.f64 (*.f64 1/16 z) t) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 y x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 y x (*.f64 -1/16 (*.f64 t z))) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/16 z) t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 (*.f64 1/16 z) t) (-.f64 (*.f64 (*.f64 1/16 z) t) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 y x) 3)) (fma.f64 (pow.f64 (*.f64 t z) 2) 1/256 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 x (*.f64 (*.f64 1/16 z) t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/16 z) t) 2)) (fma.f64 y x (*.f64 -1/16 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 y x) 3))) (neg.f64 (fma.f64 (*.f64 (*.f64 1/16 z) t) (-.f64 (*.f64 (*.f64 1/16 z) t) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/16 z) t) 2))) (neg.f64 (fma.f64 y x (*.f64 -1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 1/16 z) t) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 (*.f64 1/16 z) t) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (*.f64 1/16 z) t) (-.f64 (*.f64 (*.f64 1/16 z) t) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 y x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 y x (*.f64 -1/16 (*.f64 t z))) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/16 z) t) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))) 2)) (cbrt.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))) (sqrt.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (pow.f64 (exp.f64 1/16) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 y x)) (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/16 z) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/16 z) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/16 z) t))) (exp.f64 (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 1/16) (*.f64 t z)) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/16 z) t))) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 z) t) 1 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 1/16 z) t) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 t z) 2)) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 1/16 z) t)) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/16 z) t)) 2) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/16 z) t)) 2) (cbrt.f64 (*.f64 (*.f64 1/16 z) t)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 t z)) 1/4) (*.f64 (sqrt.f64 (*.f64 t z)) 1/4) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (cbrt.f64 (pow.f64 (*.f64 t z) 2))) (cbrt.f64 (*.f64 t z)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 y x)))))) |
| 1× | egg-herbie |
| 6× | *-commutative_binary64 |
| 3× | associate-*r*_binary64 |
| 3× | associate-*l*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 66 |
| 1 | 14 | 66 |
| 2 | 21 | 66 |
| 3 | 23 | 66 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 1/16 (*.f64 t z)) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 y x) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
| Outputs |
|---|
(*.f64 1/16 (*.f64 t z)) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 y x) |
(*.f64 1/16 (*.f64 t z)) |
(*.f64 1/16 (*.f64 t z)) |
Compiled 20 to 13 computations (35% saved)
Compiled 6255 to 3158 computations (49.5% saved)
15 alts after pruning (7 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 316 | 3 | 319 |
| Fresh | 2 | 4 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 7 | 7 |
| Total | 318 | 15 | 333 |
| Status | Error | Program |
|---|---|---|
| 20.7b | (fma.f64 a (*.f64 b -1/4) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) | |
| ▶ | 29.5b | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| ✓ | 27.9b | (+.f64 (*.f64 y x) c) |
| ▶ | 33.6b | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| ✓ | 49.9b | (*.f64 z (*.f64 1/16 t)) |
| ▶ | 48.1b | (*.f64 a (*.f64 b -1/4)) |
| ▶ | 35.2b | (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
| ▶ | 14.5b | (fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4))) |
| ✓ | 48.1b | (*.f64 y x) |
| ✓ | 35.5b | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| ✓ | 35.5b | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| ✓ | 27.8b | (fma.f64 (*.f64 b -1/4) a c) |
| 42.2b | c | |
| ✓ | 14.5b | (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
| ✓ | 27.8b | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
Compiled 320 to 245 computations (23.4% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4))) |
| ✓ | 0.0b | (+.f64 c (*.f64 (*.f64 a b) -1/4)) |
Compiled 44 to 23 computations (47.7% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | t | @ | -inf | (fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4))) |
| 0.0ms | z | @ | 0 | (fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4))) |
| 0.0ms | t | @ | 0 | (fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4))) |
| 0.0ms | t | @ | inf | (fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4))) |
| 0.0ms | c | @ | 0 | (fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4))) |
| 1× | batch-egg-rewrite |
| 646× | log-prod_binary64 |
| 414× | pow-prod-down_binary64 |
| 351× | pow2_binary64 |
| 318× | fma-def_binary64 |
| 244× | pow1/3_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 27 |
| 1 | 271 | 23 |
| 2 | 3393 | 23 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 c (*.f64 (*.f64 a b) -1/4)) |
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 c c) (+.f64 c (*.f64 1/4 (*.f64 a b)))) (/.f64 (*.f64 1/16 (pow.f64 (*.f64 a b) 2)) (+.f64 c (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (*.f64 b -1/4) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2) (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)) (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (*.f64 a b) 3) -1/64 (pow.f64 c 3)) (/.f64 1 (fma.f64 c c (*.f64 (*.f64 a (*.f64 b -1/4)) (-.f64 (*.f64 a (*.f64 b -1/4)) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 c c) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (+.f64 c (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 c c (*.f64 (*.f64 a (*.f64 b -1/4)) (-.f64 (*.f64 a (*.f64 b -1/4)) c))) (fma.f64 (pow.f64 (*.f64 a b) 3) -1/64 (pow.f64 c 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 c (*.f64 1/4 (*.f64 a b))) (-.f64 (*.f64 c c) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 a b) 3) -1/64 (pow.f64 c 3)) (fma.f64 c c (*.f64 (*.f64 a (*.f64 b -1/4)) (-.f64 (*.f64 a (*.f64 b -1/4)) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 a b) 3) -1/64 (pow.f64 c 3)) (fma.f64 1/16 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 c c) (*.f64 (*.f64 c a) (*.f64 b -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (+.f64 c (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 a b) 3) -1/64 (pow.f64 c 3))) (neg.f64 (fma.f64 c c (*.f64 (*.f64 a (*.f64 b -1/4)) (-.f64 (*.f64 a (*.f64 b -1/4)) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 c c) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))) (neg.f64 (+.f64 c (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/16 (pow.f64 (*.f64 a b) 2)) (*.f64 c c)) (-.f64 (*.f64 a (*.f64 b -1/4)) c))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 b -1/4) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 c c (*.f64 (*.f64 a (*.f64 b -1/4)) (-.f64 (*.f64 a (*.f64 b -1/4)) c))) (fma.f64 (pow.f64 (*.f64 a b) 3) -1/64 (pow.f64 c 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 c (*.f64 1/4 (*.f64 a b))) (-.f64 (*.f64 c c) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (pow.f64 (pow.f64 (exp.f64 a) b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 c) (+.f64 1 (expm1.f64 (*.f64 a (*.f64 b -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (+.f64 1 (expm1.f64 (*.f64 a (*.f64 b -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a (*.f64 b -1/4)))) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 a) b) -1/4) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a (*.f64 b -1/4)))) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 b -1/4) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (*.f64 a -1/4) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) -1/4 c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (*.f64 a b) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (*.f64 b -1/4)) 1 c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a (*.f64 b -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) -1/4) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) (*.f64 b -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a (*.f64 b -1/4))) (pow.f64 (cbrt.f64 (*.f64 a (*.f64 b -1/4))) 2) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a (*.f64 b -1/4))) 2) (cbrt.f64 (*.f64 a (*.f64 b -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) -1/4) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 b -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a (*.f64 b -1/4))) (sqrt.f64 (*.f64 a (*.f64 b -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b -1/4) a c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 a) b c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) c))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (*.f64 b -1/4) c) (*.f64 1/16 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/16 (*.f64 z t)) (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/16 (*.f64 z t)) 1) (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/16 (*.f64 z t) c) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/16 (*.f64 z t) (*.f64 a (*.f64 b -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) 2) (cbrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) (sqrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 z t)) 3) (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3)) (+.f64 (pow.f64 (*.f64 1/16 (*.f64 z t)) 2) (-.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2) (*.f64 (*.f64 1/16 (*.f64 z t)) (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 1/16 (*.f64 z t)) 2) (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2)) (-.f64 (*.f64 1/16 (*.f64 z t)) (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)) (exp.f64 (*.f64 1/16 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c))) (exp.f64 (*.f64 1/16 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 1/16 (*.f64 z t))) (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) 1)))))) |
| 1× | egg-herbie |
| 36× | fma-def_binary64 |
| 10× | *-commutative_binary64 |
| 6× | associate-*r*_binary64 |
| 6× | associate-*l*_binary64 |
| 4× | +-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 1186 |
| 1 | 30 | 1124 |
| 2 | 58 | 1034 |
| 3 | 92 | 1034 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
c |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
c |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
| Outputs |
|---|
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 -1/4 a) b) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 -1/4 a) b) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 -1/4 a) b) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
c |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 -1/4 a) b) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 -1/4 a) b) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 (*.f64 -1/4 a) b) c) |
(fma.f64 (*.f64 -1/4 a) b c) |
(fma.f64 a (*.f64 -1/4 b) c) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)) |
(fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 -1/4 a))) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
c |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
c |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 -1/4 a) b) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 -1/4 a) b) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 -1/4 a) b) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 (*.f64 -1/4 a) b) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))) |
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))) |
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) |
Compiled 18 to 13 computations (27.8% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
Compiled 26 to 14 computations (46.2% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | t | @ | 0 | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| 0.0ms | c | @ | -inf | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| 0.0ms | t | @ | -inf | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| 0.0ms | t | @ | inf | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| 0.0ms | c | @ | inf | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| 1× | batch-egg-rewrite |
| 895× | pow1_binary64 |
| 833× | add-log-exp_binary64 |
| 833× | log1p-expm1-u_binary64 |
| 833× | expm1-log1p-u_binary64 |
| 816× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 8 |
| 1 | 173 | 8 |
| 2 | 2265 | 8 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 (*.f64 1/16 t) z c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (fma.f64 1/16 (*.f64 t z) (neg.f64 c))) (/.f64 (*.f64 c c) (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 1/16 t) z c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 1/16 t) z c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 1/16 t) z c)) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/16 t) z c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/16 t) z c)) 2) (cbrt.f64 (fma.f64 (*.f64 1/16 t) z c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 1/16 t) z c)) (sqrt.f64 (fma.f64 (*.f64 1/16 t) z c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 3) (pow.f64 c 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c (-.f64 c (*.f64 1/16 (*.f64 t z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c c)) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c (-.f64 c (*.f64 1/16 (*.f64 t z))))) (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 3) (pow.f64 c 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/16 (*.f64 t z) (neg.f64 c)) (-.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 3) (pow.f64 c 3)) (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c (-.f64 c (*.f64 1/16 (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 3) (pow.f64 c 3)) (+.f64 (*.f64 c c) (-.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 1/16 (*.f64 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c c)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 3) (pow.f64 c 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c (-.f64 c (*.f64 1/16 (*.f64 t z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c c))) (neg.f64 (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (pow.f64 (*.f64 1/16 (*.f64 t z)) 2)) (-.f64 c (*.f64 1/16 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 1/16 t) z c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 1/16 t) z c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/16 t) z c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 1/16 t) z c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 1/16 t) z c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (*.f64 1/16 t) z c)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 1/16 t) z c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 1/16 t) z c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 1/16 t) z c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 1/16 t) z c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/16 (*.f64 t z)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) 2) (cbrt.f64 (*.f64 1/16 (*.f64 t z))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/16 (*.f64 t z))) (sqrt.f64 (*.f64 1/16 (*.f64 t z))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z c))))) |
| 1× | egg-herbie |
| 6× | fma-def_binary64 |
| 5× | *-commutative_binary64 |
| 3× | associate-*r*_binary64 |
| 3× | associate-*l*_binary64 |
| 1× | +-commutative_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 309 |
| 1 | 13 | 255 |
| 2 | 23 | 255 |
| 3 | 29 | 255 |
| 1× | saturated |
| Inputs |
|---|
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
| Outputs |
|---|
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
c |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t z) c) |
(fma.f64 t (*.f64 1/16 z) c) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
Compiled 32 to 15 computations (53.1% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | y | @ | inf | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | y | @ | -inf | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | a | @ | 0 | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | a | @ | -inf | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| 1× | batch-egg-rewrite |
| 573× | log-prod_binary64 |
| 416× | fma-def_binary64 |
| 360× | pow-prod-down_binary64 |
| 288× | pow2_binary64 |
| 200× | pow1/3_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 13 |
| 1 | 224 | 11 |
| 2 | 2934 | 11 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -1/4 a) b) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2)) (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3))) (neg.f64 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2))) (neg.f64 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 -1/4 a) b) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (pow.f64 (*.f64 (*.f64 -1/4 a) b) 2) (*.f64 (*.f64 y x) (*.f64 (*.f64 -1/4 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 3) (pow.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 3)) (+.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 2) (-.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 -1/4 a) b) 2)) (-.f64 (*.f64 y x) (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 2) (pow.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 2)) (-.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2)) (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (pow.f64 (exp.f64 1/4) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (*.f64 y x)) (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (pow.f64 (pow.f64 (exp.f64 a) b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))) (exp.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))) (exp.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))) (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 a) b) -1/4) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/4 (*.f64 a (neg.f64 b)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) -1/4 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1 (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1 (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1 (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1 (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 -1/4 a) b) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (neg.f64 b)) 1/4 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (*.f64 a b) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 a) (neg.f64 b) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))) (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 -1/4 a) b)) 2) (cbrt.f64 (*.f64 (*.f64 -1/4 a) b)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))) (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 -1/4 a) b)) (sqrt.f64 (*.f64 (*.f64 -1/4 a) b)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (*.f64 1/4 b) a) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2)) (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 1/4 a)) b (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 a) b (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 b) a (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (cbrt.f64 (pow.f64 (*.f64 a b) 2))) (cbrt.f64 (*.f64 a b)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (*.f64 y x)))))) |
| 1× | egg-herbie |
| 8× | fma-def_binary64 |
| 6× | *-commutative_binary64 |
| 3× | associate-*r*_binary64 |
| 3× | associate-*l*_binary64 |
| 1× | +-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 462 |
| 1 | 17 | 462 |
| 2 | 28 | 462 |
| 3 | 34 | 462 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
| Outputs |
|---|
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(*.f64 -1/4 (*.f64 a b)) |
(*.f64 b (*.f64 -1/4 a)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 y x (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
Compiled 40 to 20 computations (50% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | b | @ | -inf | (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | t | @ | 0 | (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | t | @ | inf | (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | t | @ | -inf | (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
| 0.0ms | z | @ | inf | (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
| 1× | batch-egg-rewrite |
| 670× | log-prod_binary64 |
| 456× | fma-def_binary64 |
| 409× | pow-prod-down_binary64 |
| 332× | pow2_binary64 |
| 239× | pow-unpow_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 16 |
| 1 | 265 | 14 |
| 2 | 3391 | 14 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 1/16 t)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 1/16 t)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 1/16 t)) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a b) -1/4) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2)) (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))) (neg.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))) (neg.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 (*.f64 a b) -1/4) 3)) (fma.f64 (pow.f64 (*.f64 t z) 2) 1/256 (-.f64 (pow.f64 (*.f64 (*.f64 a b) -1/4) 2) (*.f64 (*.f64 z (*.f64 1/16 t)) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 3) (pow.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 3)) (+.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 2) (-.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (pow.f64 (*.f64 (*.f64 a b) -1/4) 2)) (-.f64 (*.f64 z (*.f64 1/16 t)) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 2) (pow.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 2)) (-.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2)) (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 z (*.f64 1/16 t)))) (pow.f64 (exp.f64 a) (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 t) z) 1/16) (+.f64 1 (expm1.f64 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 z (*.f64 1/16 t)))) (+.f64 1 (expm1.f64 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (*.f64 1/16 t)))) (exp.f64 (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (*.f64 1/16 t)))) (pow.f64 (pow.f64 (exp.f64 a) b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))) (exp.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))) (exp.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))) (+.f64 1 (expm1.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 a b) -1/4)) (pow.f64 (pow.f64 (exp.f64 t) z) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 a b) -1/4)) (+.f64 1 (expm1.f64 (*.f64 z (*.f64 1/16 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 a) b) -1/4) (+.f64 1 (expm1.f64 (*.f64 z (*.f64 1/16 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (*.f64 1/16 t)) 1 (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (*.f64 1/16 t)) 1 (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (*.f64 1/16 t)) 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (*.f64 1/16 t)) 1 (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/4 (*.f64 a (neg.f64 b)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) -1/4 (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1 (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1 (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1 (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1 (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (*.f64 1/16 t)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (*.f64 1/16 t)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (*.f64 1/16 t)) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (*.f64 1/16 t)) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 a b) -1/4) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (neg.f64 b)) 1/4 (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (*.f64 a b) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 a) (neg.f64 b) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))) (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 a b) -1/4)) 2) (cbrt.f64 (*.f64 (*.f64 a b) -1/4)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))) (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 a b) -1/4)) (sqrt.f64 (*.f64 (*.f64 a b) -1/4)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 1/4 (*.f64 a b)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2)) (cbrt.f64 (*.f64 1/4 (*.f64 a b))) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 1/4 a)) b (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 a) b (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 b) a (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (pow.f64 (cbrt.f64 (*.f64 t z)) 2)) (cbrt.f64 (*.f64 t z)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (pow.f64 (cbrt.f64 (*.f64 t z)) 2)) (cbrt.f64 (*.f64 t z)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (pow.f64 (cbrt.f64 (*.f64 t z)) 2)) (cbrt.f64 (*.f64 t z)) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (pow.f64 (cbrt.f64 (*.f64 t z)) 2)) (cbrt.f64 (*.f64 t z)) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))))) |
| 1× | egg-herbie |
| 12× | fma-def_binary64 |
| 10× | *-commutative_binary64 |
| 6× | associate-*r*_binary64 |
| 6× | associate-*l*_binary64 |
| 1× | +-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 588 |
| 1 | 22 | 588 |
| 2 | 41 | 588 |
| 3 | 53 | 588 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
| Outputs |
|---|
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(*.f64 1/16 (*.f64 t z)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(*.f64 -1/4 (*.f64 a b)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))) |
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z))) |
Compiled 11604 to 6298 computations (45.7% saved)
15 alts after pruning (3 fresh and 12 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 536 | 3 | 539 |
| Fresh | 2 | 0 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 11 | 12 |
| Total | 539 | 15 | 554 |
| Status | Error | Program |
|---|---|---|
| ✓ | 29.5b | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| ✓ | 27.9b | (+.f64 (*.f64 y x) c) |
| ✓ | 33.6b | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| ✓ | 49.9b | (*.f64 z (*.f64 1/16 t)) |
| ✓ | 48.1b | (*.f64 a (*.f64 b -1/4)) |
| ✓ | 35.5b | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| 42.2b | c | |
| 29.5b | (fma.f64 (*.f64 1/16 z) t c) | |
| ✓ | 14.5b | (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
| ✓ | 35.2b | (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
| ✓ | 48.1b | (*.f64 y x) |
| ✓ | 35.5b | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| 35.2b | (fma.f64 (*.f64 -1/4 b) a (*.f64 z (*.f64 1/16 t))) | |
| ✓ | 27.8b | (fma.f64 (*.f64 b -1/4) a c) |
| ✓ | 27.8b | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
Compiled 210 to 163 computations (22.4% saved)
| Inputs |
|---|
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(fma.f64 x y (fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x c)) |
(fma.f64 x y (fma.f64 t (*.f64 z 1/16) c)) |
(fma.f64 a (*.f64 b -1/4) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 (*.f64 -1/4 b) a (*.f64 z (*.f64 1/16 t))) |
(fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 z) t c) |
(fma.f64 (*.f64 b -1/4) a c) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(*.f64 y x) |
c |
c |
c |
c |
| Outputs |
|---|
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
22 calls:
| 51.0ms | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) |
| 35.0ms | (/.f64 (*.f64 z t) 16) |
| 26.0ms | (*.f64 a b) |
| 25.0ms | (/.f64 (*.f64 a b) 4) |
| 24.0ms | (/.f64 (*.f64 a b) 4) |
| 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 | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
| 0.0b | 1 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
| 0.0b | 1 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
| 0.0b | 1 | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) |
| 0.0b | 1 | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) |
| 0.0b | 1 | (*.f64 x y) |
| 0.0b | 1 | (*.f64 x y) |
| 0.0b | 1 | (/.f64 (*.f64 z t) 16) |
| 0.0b | 1 | (/.f64 (*.f64 z t) 16) |
| 0.0b | 1 | (*.f64 z t) |
| 0.0b | 1 | (*.f64 z t) |
| 0.0b | 1 | (/.f64 (*.f64 a b) 4) |
| 0.0b | 1 | (/.f64 (*.f64 a b) 4) |
| 0.0b | 1 | (*.f64 a b) |
| 0.0b | 1 | (*.f64 a b) |
Compiled 490 to 315 computations (35.7% saved)
| Inputs |
|---|
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x c)) |
(fma.f64 x y (fma.f64 t (*.f64 z 1/16) c)) |
(fma.f64 a (*.f64 b -1/4) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 (*.f64 -1/4 b) a (*.f64 z (*.f64 1/16 t))) |
(fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 1/16 z) t c) |
(fma.f64 (*.f64 b -1/4) a c) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(*.f64 y x) |
c |
c |
c |
c |
| Outputs |
|---|
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
15 calls:
| 103.0ms | z |
| 85.0ms | (/.f64 (*.f64 z t) 16) |
| 47.0ms | b |
| 27.0ms | x |
| 26.0ms | y |
| 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 | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
| 0.0b | 1 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
| 0.0b | 1 | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) |
| 0.0b | 1 | (*.f64 x y) |
| 0.0b | 1 | (/.f64 (*.f64 z t) 16) |
| 0.0b | 1 | (*.f64 z t) |
| 0.0b | 1 | (/.f64 (*.f64 a b) 4) |
| 0.0b | 1 | (*.f64 a b) |
Compiled 370 to 231 computations (37.6% saved)
| Inputs |
|---|
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(*.f64 y x) |
c |
c |
c |
c |
| Outputs |
|---|
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
8 calls:
| 179.0ms | b |
| 108.0ms | c |
| 54.0ms | a |
| 50.0ms | t |
| 49.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 7.4b | 6 | x |
| 5.6b | 3 | y |
| 5.5b | 4 | z |
| 6.6b | 6 | t |
| 6.6b | 5 | a |
| 5.8b | 6 | b |
| 6.9b | 6 | c |
| 5.4b | 3 | (*.f64 a b) |
Compiled 173 to 106 computations (38.7% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 0.00014614117785411132 | 0.00027046663008692363 |
| 0.0ms | -318542911.79388994 | -8239632.192301444 |
Compiled 34 to 26 computations (23.5% saved)
| Inputs |
|---|
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(*.f64 y x) |
c |
c |
c |
c |
| Outputs |
|---|
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
9 calls:
| 226.0ms | a |
| 114.0ms | t |
| 89.0ms | z |
| 86.0ms | b |
| 77.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 18.8b | 9 | x |
| 17.8b | 4 | y |
| 15.7b | 7 | z |
| 16.9b | 9 | t |
| 16.7b | 10 | a |
| 19.2b | 5 | b |
| 16.1b | 3 | c |
| 19.6b | 3 | (*.f64 a b) |
| 19.6b | 3 | (*.f64 a b) |
Compiled 137 to 95 computations (30.7% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 30.0ms | 1.6320095734144689e-18 | 2.676250169398319e-18 |
| 27.0ms | 7.327320089958261e-243 | 7.280134601137326e-242 |
| 31.0ms | -1.5283880744284696e-201 | -1.0084016454778112e-201 |
| 30.0ms | -4.309850309758476e-166 | -3.323314411429689e-166 |
| 29.0ms | -5.631268661282474e+34 | -7.061157999366682e+33 |
| 14.0ms | -4.957562579206603e+143 | -5.738639400238959e+134 |
Compiled 66 to 51 computations (22.7% saved)
Total -28.1b remaining (-81.9%)
Threshold costs -28.1b (-81.9%)
| Inputs |
|---|
(*.f64 y x) |
c |
c |
c |
c |
| Outputs |
|---|
c |
(*.f64 y x) |
c |
7 calls:
| 55.0ms | x |
| 24.0ms | a |
| 22.0ms | y |
| 22.0ms | c |
| 21.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 38.0b | 5 | x |
| 35.4b | 5 | y |
| 37.7b | 4 | z |
| 39.8b | 3 | t |
| 39.8b | 5 | a |
| 38.8b | 4 | b |
| 34.3b | 3 | c |
Compiled 70 to 57 computations (18.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 172.0ms | 8.026464602532605e+35 | 6.378344954856724e+37 |
| 31.0ms | -1030405013769350.9 | -319338325737142.8 |
Compiled 34 to 26 computations (23.5% saved)
| 1× | egg-herbie |
| 15× | +-commutative_binary64 |
| 12× | *-commutative_binary64 |
| 8× | sub-neg_binary64 |
| 5× | neg-sub0_binary64 |
| 5× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 70 | 235 |
| 1 | 94 | 235 |
| 2 | 110 | 235 |
| 3 | 122 | 235 |
| 4 | 130 | 235 |
| 5 | 135 | 235 |
| 6 | 137 | 235 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(if (<=.f64 (*.f64 a b) -200000000) (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 7378697629483821/36893488147419103232) (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))))) |
(if (<=.f64 z -100000000000000005928380124081487003706362488767045328864850074482999577828473980652023296508018124569151792237293382948229697163514582401024) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 z -56312686612824744422852399596568576) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 z -457825048573167808/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z -8430057141619477/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (+.f64 (*.f64 y x) c) (if (<=.f64 z 901283494058400384/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z 8473878181138711/5192296858534827628530496329220096) (+.f64 (*.f64 y x) c) (+.f64 (*.f64 1/16 (*.f64 t z)) c))))))) |
(if (<=.f64 c -8243240110154807/8) c (if (<=.f64 c 802646460253260500391854315401117696) (*.f64 y x) c)) |
c |
| Outputs |
|---|
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(+.f64 c (-.f64 (+.f64 (/.f64 (*.f64 t z) 16) (*.f64 y x)) (/.f64 (*.f64 a b) 4))) |
(if (<=.f64 (*.f64 a b) -200000000) (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 7378697629483821/36893488147419103232) (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))))) |
(if (<=.f64 (*.f64 a b) -200000000) (+.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 7378697629483821/36893488147419103232) (+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 y x))) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))))) |
(if (<=.f64 z -100000000000000005928380124081487003706362488767045328864850074482999577828473980652023296508018124569151792237293382948229697163514582401024) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 z -56312686612824744422852399596568576) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 z -457825048573167808/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z -8430057141619477/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (+.f64 (*.f64 y x) c) (if (<=.f64 z 901283494058400384/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z 8473878181138711/5192296858534827628530496329220096) (+.f64 (*.f64 y x) c) (+.f64 (*.f64 1/16 (*.f64 t z)) c))))))) |
(if (<=.f64 z -100000000000000005928380124081487003706362488767045328864850074482999577828473980652023296508018124569151792237293382948229697163514582401024) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 y x)) (if (<=.f64 z -56312686612824744422852399596568576) (+.f64 c (*.f64 1/16 (*.f64 t z))) (if (<=.f64 z -7153516383955747/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 z -8430057141619477/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (+.f64 c (*.f64 y x)) (if (<=.f64 z 7041277297331253/960962154087001629436308185025184878247905227974336452694771122017616840015261658617268505418282416748614914455642299215255384405286687137505466996049907860485085046091635529899088428785810612776957410293491536147754283397719630991265870577566668501257551872) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 z 8473878181138711/5192296858534827628530496329220096) (+.f64 c (*.f64 y x)) (+.f64 c (*.f64 1/16 (*.f64 t z))))))))) |
(if (<=.f64 c -8243240110154807/8) c (if (<=.f64 c 802646460253260500391854315401117696) (*.f64 y x) c)) |
c |
Compiled 205 to 127 computations (38% saved)
| 1× | egg-herbie |
| 1185× | fma-neg_binary64 |
| 706× | fma-def_binary64 |
| 344× | cancel-sign-sub-inv_binary64 |
| 115× | distribute-rgt-neg-in_binary64 |
| 113× | sub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 30 | 3091 |
| 1 | 71 | 3083 |
| 2 | 168 | 2945 |
| 3 | 442 | 2945 |
| 4 | 718 | 2945 |
| 5 | 1151 | 2945 |
| 6 | 2126 | 2945 |
| 7 | 2958 | 2945 |
| 8 | 3348 | 2945 |
| 9 | 3454 | 2945 |
| 10 | 3454 | 2945 |
| 11 | 3751 | 2945 |
| 12 | 3751 | 2945 |
| 1× | saturated |
Compiled 302 to 211 computations (30.1% saved)
(sort a b)
(sort z t)
(sort x y)
Compiled 296 to 168 computations (43.2% saved)
Loading profile data...