Time bar (total: 16.8s)
| 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.8s | 8256× | body | 256 | valid |
| 738.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 | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
| ▶ | 0.0b | (fma.f64 x y (fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/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 | z | @ | inf | (-.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 | t | @ | 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.0ms | a | @ | 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 | |
|---|---|---|---|---|
| 1.0ms | a | @ | -inf | (fma.f64 (*.f64 a b) -1/4 c) |
| 1.0ms | t | @ | 0 | (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.0ms | z | @ | -inf | (fma.f64 t (*.f64 z 1/16) (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× | 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 |
|---|---|---|
| ▶ | 27.9b | (+.f64 (*.f64 y x) c) |
| 13.3b | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x c)) | |
| ▶ | 13.4b | (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
| ▶ | 0.0b | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
| ▶ | 35.5b | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| 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)) | |
| 15.2b | (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) | |
| 29.5b | (+.f64 (*.f64 1/16 (*.f64 t z)) c) | |
| 42.2b | 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 | |
|---|---|---|---|---|
| 2.0ms | y | @ | 0 | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
| 1.0ms | t | @ | -inf | (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 | @ | -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× | 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 | |
|---|---|---|---|---|
| 0.0ms | a | @ | 0 | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 0.0ms | c | @ | 0 | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 0.0ms | b | @ | 0 | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 0.0ms | b | @ | -inf | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 0.0ms | a | @ | 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 | @ | 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))) |
| 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 | |
|---|---|---|---|---|
| 0.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 |
|---|---|---|
| ▶ | 49.9b | (*.f64 z (*.f64 1/16 t)) |
| ✓ | 27.9b | (+.f64 (*.f64 y x) c) |
| 48.1b | (*.f64 a (*.f64 b -1/4)) | |
| 15.2b | (fma.f64 x y (fma.f64 t (*.f64 z 1/16) c)) | |
| 33.6b | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) | |
| ▶ | 48.1b | (*.f64 y x) |
| 29.5b | (+.f64 (*.f64 1/16 (*.f64 t z)) c) | |
| ▶ | 35.5b | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| 20.7b | (fma.f64 a (*.f64 b -1/4) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) | |
| ▶ | 27.8b | (fma.f64 (*.f64 b -1/4) a c) |
| ✓ | 35.5b | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| ▶ | 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) |
| 42.2b | 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 | t | @ | inf | (-.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 | z | @ | 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 | t | @ | inf | (*.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)) |
| 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 | x | @ | inf | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| 0.0ms | x | @ | 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 | 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 |
|---|---|---|
| ▶ | 14.5b | (fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4))) |
| ✓ | 27.9b | (+.f64 (*.f64 y x) c) |
| ✓ | 49.9b | (*.f64 z (*.f64 1/16 t)) |
| ▶ | 48.1b | (*.f64 a (*.f64 b -1/4)) |
| 20.7b | (fma.f64 a (*.f64 b -1/4) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) | |
| ✓ | 48.1b | (*.f64 y x) |
| ▶ | 29.5b | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| ✓ | 35.5b | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| ▶ | 35.2b | (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
| ✓ | 27.8b | (fma.f64 (*.f64 b -1/4) a c) |
| ✓ | 35.5b | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| ✓ | 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) |
| 42.2b | c | |
| ▶ | 33.6b | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
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 | 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 | 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 | t | @ | inf | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| 0.0ms | c | @ | 0 | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| 0.0ms | t | @ | -inf | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| 0.0ms | z | @ | 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 | b | @ | -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 | x | @ | 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 | a | @ | -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 | b | @ | -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 | 537 | 2 | 539 |
| Fresh | 1 | 1 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 11 | 12 |
| Total | 539 | 15 | 554 |
| Status | Error | Program |
|---|---|---|
| ✓ | 49.9b | (*.f64 z (*.f64 1/16 t)) |
| ✓ | 27.9b | (+.f64 (*.f64 y x) c) |
| ✓ | 35.2b | (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
| 29.5b | (fma.f64 (*.f64 1/16 z) t c) | |
| 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) |
| ✓ | 48.1b | (*.f64 y x) |
| ✓ | 29.5b | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| ✓ | 35.5b | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| ✓ | 48.1b | (*.f64 a (*.f64 b -1/4)) |
| ✓ | 35.5b | (fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
| ✓ | 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) |
| 42.2b | c | |
| ✓ | 33.6b | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
Compiled 210 to 163 computations (22.4% saved)
| Inputs |
|---|
c |
c |
(*.f64 y x) |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.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)) (*.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 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(fma.f64 (*.f64 1/16 z) t c) |
(fma.f64 (*.f64 b -1/4) a c) |
(fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 -1/4 b) a (*.f64 z (*.f64 1/16 t))) |
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 a (*.f64 b -1/4) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(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) (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))) |
| Outputs |
|---|
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
22 calls:
| 41.0ms | z |
| 33.0ms | c |
| 30.0ms | x |
| 27.0ms | y |
| 25.0ms | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) |
| 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 493 to 318 computations (35.5% saved)
| Inputs |
|---|
c |
c |
(*.f64 y x) |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.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)) (*.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 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(fma.f64 (*.f64 1/16 z) t c) |
(fma.f64 (*.f64 b -1/4) a c) |
(fma.f64 x y (*.f64 1/16 (*.f64 t z))) |
(fma.f64 (*.f64 -1/4 b) a (*.f64 z (*.f64 1/16 t))) |
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4))) |
(fma.f64 a (*.f64 b -1/4) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x c)) |
(fma.f64 x y (fma.f64 t (*.f64 z 1/16) c)) |
| Outputs |
|---|
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
15 calls:
| 84.0ms | a |
| 55.0ms | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
| 49.0ms | (/.f64 (*.f64 a b) 4) |
| 27.0ms | (*.f64 x y) |
| 25.0ms | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) |
| 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 373 to 234 computations (37.3% saved)
| Inputs |
|---|
c |
c |
(*.f64 y x) |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.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)) (*.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 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
| 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:
| 157.0ms | y |
| 131.0ms | b |
| 87.0ms | c |
| 77.0ms | x |
| 62.0ms | z |
| 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 176 to 109 computations (38.1% 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 |
|---|
c |
c |
(*.f64 y x) |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.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)) (*.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) |
| Outputs |
|---|
(-.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 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
8 calls:
| 102.0ms | c |
| 76.0ms | a |
| 75.0ms | x |
| 58.0ms | z |
| 51.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 11.1b | 5 | x |
| 9.3b | 6 | y |
| 6.9b | 3 | z |
| 8.0b | 3 | t |
| 6.8b | 6 | a |
| 8.4b | 3 | b |
| 6.2b | 8 | c |
| 5.7b | 3 | (*.f64 a b) |
Compiled 163 to 103 computations (36.8% 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 |
|---|
c |
c |
(*.f64 y x) |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.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)) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
| Outputs |
|---|
(-.f64 (+.f64 c (*.f64 y x)) (*.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 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 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 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 1/16 (*.f64 t z)) c) |
8 calls:
| 109.0ms | a |
| 109.0ms | b |
| 104.0ms | c |
| 93.0ms | (*.f64 a b) |
| 36.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 12.3b | 3 | x |
| 11.1b | 5 | y |
| 10.0b | 3 | z |
| 9.7b | 4 | t |
| 11.0b | 5 | a |
| 11.9b | 3 | b |
| 6.5b | 10 | c |
| 12.2b | 3 | (*.f64 a b) |
Compiled 152 to 99 computations (34.9% saved)
| 9× | binary-search |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 2.5037512526590507e+115 | 4.0124308060028886e+126 |
| 29.0ms | 3.602587979800786e-13 | 2.0398388392652984e-11 |
| 27.0ms | 1.954156676798629e-44 | 2.2210073295318824e-39 |
| 29.0ms | 6.041668050320851e-140 | 9.954740211884649e-138 |
| 28.0ms | 5.827907230892617e-150 | 7.848809128947344e-150 |
| 27.0ms | 2.241597195780208e-298 | 1.5221308389724426e-297 |
| 28.0ms | -2.4599239581111038e-164 | -1.0923153286640717e-171 |
| 28.0ms | -3.565656893866856e-110 | -4.308845484735725e-114 |
| 28.0ms | -3.08148281323479e-20 | -1.0483712670614254e-26 |
Compiled 34 to 26 computations (23.5% saved)
| Inputs |
|---|
c |
c |
(*.f64 y x) |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.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)) (*.f64 1/4 (*.f64 a b))) |
| Outputs |
|---|
(+.f64 (*.f64 y x) c) |
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(-.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) c) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
9 calls:
| 195.0ms | c |
| 152.0ms | y |
| 120.0ms | t |
| 74.0ms | x |
| 61.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 18.8b | 9 | x |
| 15.5b | 9 | y |
| 15.7b | 7 | z |
| 15.7b | 13 | t |
| 16.5b | 10 | a |
| 19.2b | 5 | b |
| 10.8b | 9 | c |
| 19.6b | 3 | (*.f64 a b) |
| 19.6b | 3 | (*.f64 a b) |
Compiled 151 to 103 computations (31.8% saved)
| 8× | binary-search |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 2.5037512526590507e+115 | 4.0124308060028886e+126 |
| 29.0ms | 10.424782791921974 | 9.451084479349805e+22 |
| 27.0ms | 3.602587979800786e-13 | 2.0398388392652984e-11 |
| 28.0ms | 1.954156676798629e-44 | 2.2210073295318824e-39 |
| 28.0ms | 6.041668050320851e-140 | 9.954740211884649e-138 |
| 27.0ms | 5.827907230892617e-150 | 7.848809128947344e-150 |
| 61.0ms | 2.241597195780208e-298 | 1.5221308389724426e-297 |
| 29.0ms | -3.08148281323479e-20 | -1.0483712670614254e-26 |
Compiled 34 to 26 computations (23.5% saved)
| Inputs |
|---|
c |
c |
(*.f64 y x) |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.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))) |
| 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:
| 142.0ms | a |
| 126.0ms | t |
| 87.0ms | x |
| 76.0ms | (*.f64 a b) |
| 74.0ms | b |
| 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 140 to 98 computations (30% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 1.6320095734144689e-18 | 2.676250169398319e-18 |
| 30.0ms | 7.327320089958261e-243 | 7.280134601137326e-242 |
| 40.0ms | -1.5283880744284696e-201 | -1.0084016454778112e-201 |
| 30.0ms | -4.309850309758476e-166 | -3.323314411429689e-166 |
| 31.0ms | -5.631268661282474e+34 | -7.061157999366682e+33 |
| 15.0ms | -4.957562579206603e+143 | -5.738639400238959e+134 |
Compiled 66 to 51 computations (22.7% saved)
| Inputs |
|---|
c |
c |
(*.f64 y x) |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| Outputs |
|---|
(+.f64 (*.f64 y x) c) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
9 calls:
| 58.0ms | x |
| 55.0ms | t |
| 49.0ms | z |
| 49.0ms | a |
| 34.0ms | c |
| Error | Segments | Branch |
|---|---|---|
| 18.6b | 9 | x |
| 17.8b | 4 | y |
| 16.1b | 8 | z |
| 16.9b | 9 | t |
| 17.9b | 8 | a |
| 19.2b | 5 | b |
| 16.1b | 3 | c |
| 19.6b | 3 | (*.f64 a b) |
| 19.6b | 3 | (*.f64 a b) |
Compiled 131 to 95 computations (27.5% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 1.954156676798629e-44 | 2.2210073295318824e-39 |
| 32.0ms | -1030405013769350.9 | -319338325737142.8 |
Compiled 34 to 26 computations (23.5% saved)
| Inputs |
|---|
c |
c |
(*.f64 y x) |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| Outputs |
|---|
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(+.f64 (*.f64 y x) c) |
(+.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) |
7 calls:
| 105.0ms | x |
| 80.0ms | z |
| 58.0ms | y |
| 48.0ms | c |
| 43.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 18.9b | 9 | x |
| 17.8b | 4 | y |
| 17.0b | 8 | z |
| 20.4b | 5 | t |
| 17.9b | 8 | a |
| 19.6b | 7 | b |
| 19.8b | 8 | c |
Compiled 102 to 75 computations (26.5% saved)
| 7× | binary-search |
| Time | Left | Right |
|---|---|---|
| 35.0ms | 1.6320095734144689e-18 | 2.676250169398319e-18 |
| 59.0ms | 7.327320089958261e-243 | 7.280134601137326e-242 |
| 52.0ms | -1.5283880744284696e-201 | -1.0084016454778112e-201 |
| 34.0ms | -4.309850309758476e-166 | -3.323314411429689e-166 |
| 65.0ms | -5.631268661282474e+34 | -7.061157999366682e+33 |
| 29.0ms | -6.69599741652044e+147 | -6.261771155207202e+147 |
| 93.0ms | -4.342248702314076e+189 | -9.647059131200071e+188 |
Compiled 230 to 180 computations (21.7% saved)
| Inputs |
|---|
c |
c |
(*.f64 y x) |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| Outputs |
|---|
(*.f64 z (*.f64 1/16 t)) |
(+.f64 (*.f64 y x) c) |
(*.f64 z (*.f64 1/16 t)) |
(+.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 a (*.f64 b -1/4)) c) |
(+.f64 (*.f64 y x) c) |
(*.f64 z (*.f64 1/16 t)) |
7 calls:
| 50.0ms | z |
| 41.0ms | c |
| 40.0ms | t |
| 27.0ms | a |
| 25.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 22.4b | 3 | x |
| 19.0b | 3 | y |
| 18.3b | 10 | z |
| 22.4b | 7 | t |
| 20.0b | 5 | a |
| 21.6b | 5 | b |
| 20.8b | 8 | c |
Compiled 95 to 71 computations (25.3% saved)
| 9× | binary-search |
| Time | Left | Right |
|---|---|---|
| 28.0ms | 1.6320095734144689e-18 | 2.676250169398319e-18 |
| 27.0ms | 7.327320089958261e-243 | 7.280134601137326e-242 |
| 43.0ms | -1.5283880744284696e-201 | -1.0084016454778112e-201 |
| 28.0ms | -4.309850309758476e-166 | -3.323314411429689e-166 |
| 141.0ms | -7.498614785942309e+124 | -8.723279375879822e+121 |
| 83.0ms | -1.5775869523172168e+184 | -5.873000759135115e+181 |
| 80.0ms | -1.183823957843325e+198 | -2.8160906878674617e+191 |
| 59.0ms | -1.520527001623849e+217 | -1.1062101150888598e+212 |
| 21.0ms | -7.452454075662943e+274 | -3.53018879340967e+274 |
Compiled 1098 to 879 computations (19.9% saved)
| Inputs |
|---|
c |
c |
(*.f64 y x) |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
| Outputs |
|---|
(+.f64 (*.f64 y x) c) |
(*.f64 z (*.f64 1/16 t)) |
(+.f64 (*.f64 y x) c) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
7 calls:
| 331.0ms | a |
| 190.0ms | y |
| 47.0ms | c |
| 45.0ms | z |
| 24.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 27.9b | 1 | x |
| 23.7b | 7 | y |
| 25.7b | 3 | z |
| 24.3b | 4 | t |
| 24.2b | 6 | a |
| 25.4b | 4 | b |
| 22.4b | 7 | c |
Compiled 88 to 67 computations (23.9% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 50.0ms | 1.858955287069624e-13 | 3.602587979800786e-13 |
| 31.0ms | 7.988255152288084e-64 | 1.8584129972047963e-63 |
| 32.0ms | 9.071441797738179e-153 | 1.3739647637373466e-151 |
| 29.0ms | -2.4599239581111038e-164 | -1.0923153286640717e-171 |
| 30.0ms | -3.565656893866856e-110 | -4.308845484735725e-114 |
| 182.0ms | -1.4429671700944535e-28 | -5.44936909709032e-29 |
Compiled 34 to 26 computations (23.5% saved)
| Inputs |
|---|
c |
c |
(*.f64 y x) |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 z (*.f64 1/16 t)) |
(*.f64 a (*.f64 b -1/4)) |
| Outputs |
|---|
c |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 y x) |
(*.f64 a (*.f64 b -1/4)) |
c |
7 calls:
| 229.0ms | t |
| 222.0ms | y |
| 125.0ms | b |
| 76.0ms | x |
| 66.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 36.6b | 7 | x |
| 30.9b | 11 | y |
| 32.4b | 9 | z |
| 33.5b | 10 | t |
| 35.8b | 7 | a |
| 32.8b | 9 | b |
| 30.3b | 5 | c |
Compiled 83 to 66 computations (20.5% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 74.0ms | 1.858955287069624e-13 | 3.602587979800786e-13 |
| 60.0ms | 1.3611566773576137e-85 | 1.7407817868659472e-83 |
| 57.0ms | 9.071441797738179e-153 | 1.3739647637373466e-151 |
| 56.0ms | -319338325737142.8 | -5866577189389.398 |
Compiled 34 to 26 computations (23.5% saved)
| Inputs |
|---|
c |
c |
(*.f64 y x) |
| Outputs |
|---|
c |
(*.f64 y x) |
c |
7 calls:
| 36.0ms | z |
| 35.0ms | x |
| 35.0ms | a |
| 30.0ms | b |
| 28.0ms | t |
| 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 68 to 57 computations (16.2% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 28.0ms | 8.026464602532605e+35 | 6.378344954856724e+37 |
| 29.0ms | -1030405013769350.9 | -319338325737142.8 |
Compiled 34 to 26 computations (23.5% saved)
Total -0.0b remaining (-0%)
Threshold costs -0.0b (-0%)
| Inputs |
|---|
c |
c |
| Outputs |
|---|
c |
7 calls:
| 7.0ms | t |
| 4.0ms | x |
| 3.0ms | a |
| 3.0ms | z |
| 3.0ms | c |
| Error | Segments | Branch |
|---|---|---|
| 42.2b | 1 | x |
| 42.2b | 1 | y |
| 42.2b | 1 | z |
| 42.2b | 1 | t |
| 42.2b | 1 | a |
| 42.2b | 1 | b |
| 42.2b | 1 | c |
Compiled 65 to 56 computations (13.8% saved)
| 1× | egg-herbie |
| 17× | +-commutative_binary64 |
| 14× | *-commutative_binary64 |
| 10× | sub-neg_binary64 |
| 8× | cancel-sign-sub-inv_binary64 |
| 5× | neg-sub0_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 161 | 1085 |
| 1 | 194 | 1085 |
| 2 | 214 | 1085 |
| 3 | 226 | 1085 |
| 4 | 234 | 1085 |
| 5 | 239 | 1085 |
| 6 | 241 | 1085 |
| 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 (*.f64 a b) -200000000) (-.f64 (+.f64 c (*.f64 y x)) (*.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 c -10485742653137264640/340282366920938463463374607431768211456) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c -6034172857212885/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c -6379682976528363/259344723055062059907025491480697571938277889515152306249728583105665800713306759149981690559193987143012367913206299323899696942213235956742929677132122730441323862712594345230336) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 28542642593559192/79228162514264337593543950336) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (+.f64 (*.f64 1/16 (*.f64 t z)) c)))))))))) |
(if (<=.f64 c -10485742653137264640/340282366920938463463374607431768211456) (+.f64 (*.f64 y x) c) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 28542642593559192/79228162514264337593543950336) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 2934315493569885/281474976710656) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (+.f64 (*.f64 y x) c) (+.f64 (*.f64 1/16 (*.f64 t z)) c))))))))) |
(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) (+.f64 (*.f64 y x) c) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (+.f64 (*.f64 1/16 (*.f64 t z)) c))) |
(if (<=.f64 z -4299999999999999975635091865048580630147043857038711866785753135459901458590140015674163173266254687618163726762989374246540804478414586403884410628235262814788657604273949331360170605805568) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 z -6399999999999999575255470718237583495105260436342155685051264249319671913609178896595104797012803490113137732795544498627705964315353581643374788608) (+.f64 (*.f64 y x) c) (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 -74000000000000005329154287896123828462849068100255319692889139376883597147994084501062510197531142212396829168421840152700087222656680036705589158438115078591270572463319592083329820222772812772497304916133129350179239272876364366599949636108291601303794481385966793838821376) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 z -111999999999999998844652419634287680187890419524674334463398631092353853464446522752325159492740742654662959477989507953715641119876526037740545267866292111307751862389696237361504863877374600065528885309280878592) (+.f64 (*.f64 y x) c) (if (<=.f64 z -1160000000000000009718468360247162654391668432556179553337263447185517759885512540310737977750521808854434335210648746389172183157876716117068162574036473589467359864274736293069068292858726380994560) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 z -58999999999999997320842807245041141030812407848483453900744867530557141230157390521033661784585124740940466946347151954414625344979092118394373555557209546967993071568534329251332096) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z -74000000000000001579783811437926283932326658607362609368577670625964177748373237426549534886858174507258179412307366606012416) (+.f64 (*.f64 y x) 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 z (*.f64 1/16 t))))))))))) |
(if (<=.f64 c -6435848638024241/44601490397061246283071436545296723011960832) (+.f64 (*.f64 y x) c) (if (<=.f64 c -6034172857212885/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 c -6379682976528363/259344723055062059907025491480697571938277889515152306249728583105665800713306759149981690559193987143012367913206299323899696942213235956742929677132122730441323862712594345230336) (+.f64 (*.f64 y x) c) (if (<=.f64 c 8558820120904865/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 5919851222042833/7410693711188236507108543040556026102609279018600996098525285376506440296955904) (+.f64 (*.f64 y x) c) (if (<=.f64 c 14728161159070308/79228162514264337593543950336) (*.f64 a (*.f64 b -1/4)) (+.f64 (*.f64 y x) c))))))) |
(if (<=.f64 c -5109413211794285/16) c (if (<=.f64 c 8558820120904865/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 4763505486549883/34996011596528190789960035633881941845650710894291398982812329702559247987190014771576210832368861184) (*.f64 y x) (if (<=.f64 c 14728161159070308/79228162514264337593543950336) (*.f64 a (*.f64 b -1/4)) 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 (*.f64 a b) -200000000) (-.f64 (+.f64 c (*.f64 y x)) (*.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 y x)) (*.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 c -10485742653137264640/340282366920938463463374607431768211456) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c -6034172857212885/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c -6379682976528363/259344723055062059907025491480697571938277889515152306249728583105665800713306759149981690559193987143012367913206299323899696942213235956742929677132122730441323862712594345230336) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 28542642593559192/79228162514264337593543950336) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (+.f64 (*.f64 1/16 (*.f64 t z)) c)))))))))) |
(if (<=.f64 c -1279997882463045/41538374868278621028243970633760768) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 c -6034172857212885/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c -6379682976528363/259344723055062059907025491480697571938277889515152306249728583105665800713306759149981690559193987143012367913206299323899696942213235956742929677132122730441323862712594345230336) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 c 3567830324194899/9903520314283042199192993792) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))) (+.f64 c (*.f64 1/16 (*.f64 t z)))))))))))) |
(if (<=.f64 c -10485742653137264640/340282366920938463463374607431768211456) (+.f64 (*.f64 y x) c) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 28542642593559192/79228162514264337593543950336) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 2934315493569885/281474976710656) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (+.f64 (*.f64 y x) c) (+.f64 (*.f64 1/16 (*.f64 t z)) c))))))))) |
(if (<=.f64 c -1279997882463045/41538374868278621028243970633760768) (+.f64 c (*.f64 y x)) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 c 3567830324194899/9903520314283042199192993792) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 2934315493569885/281474976710656) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 y x)) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (+.f64 c (*.f64 y x)) (+.f64 c (*.f64 1/16 (*.f64 t z))))))))))) |
(if (<=.f64 c -1279997882463045/41538374868278621028243970633760768) (+.f64 c (*.f64 y x)) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (-.f64 (*.f64 y x) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (*.f64 y x) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 3567830324194899/9903520314283042199192993792) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 2934315493569885/281474976710656) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 y x)) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (+.f64 c (*.f64 y x)) (+.f64 c (*.f64 1/16 (*.f64 t z))))))))))) |
(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) (+.f64 (*.f64 y x) c) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (+.f64 (*.f64 1/16 (*.f64 t z)) c))) |
(if (<=.f64 c -8243240110154807/8) (+.f64 c (*.f64 y x)) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) (+.f64 c (*.f64 1/16 (*.f64 t z))))) |
(if (<=.f64 c -8243240110154807/8) (+.f64 c (*.f64 y x)) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (*.f64 y x) (*.f64 (*.f64 a b) 1/4)) (+.f64 c (*.f64 1/16 (*.f64 t z))))) |
(if (<=.f64 z -4299999999999999975635091865048580630147043857038711866785753135459901458590140015674163173266254687618163726762989374246540804478414586403884410628235262814788657604273949331360170605805568) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 z -6399999999999999575255470718237583495105260436342155685051264249319671913609178896595104797012803490113137732795544498627705964315353581643374788608) (+.f64 (*.f64 y x) c) (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 -4299999999999999975635091865048580630147043857038711866785753135459901458590140015674163173266254687618163726762989374246540804478414586403884410628235262814788657604273949331360170605805568) (+.f64 c (*.f64 1/16 (*.f64 t z))) (if (<=.f64 z -6399999999999999575255470718237583495105260436342155685051264249319671913609178896595104797012803490113137732795544498627705964315353581643374788608) (+.f64 c (*.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 z -74000000000000005329154287896123828462849068100255319692889139376883597147994084501062510197531142212396829168421840152700087222656680036705589158438115078591270572463319592083329820222772812772497304916133129350179239272876364366599949636108291601303794481385966793838821376) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 z -111999999999999998844652419634287680187890419524674334463398631092353853464446522752325159492740742654662959477989507953715641119876526037740545267866292111307751862389696237361504863877374600065528885309280878592) (+.f64 (*.f64 y x) c) (if (<=.f64 z -1160000000000000009718468360247162654391668432556179553337263447185517759885512540310737977750521808854434335210648746389172183157876716117068162574036473589467359864274736293069068292858726380994560) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 z -58999999999999997320842807245041141030812407848483453900744867530557141230157390521033661784585124740940466946347151954414625344979092118394373555557209546967993071568534329251332096) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z -74000000000000001579783811437926283932326658607362609368577670625964177748373237426549534886858174507258179412307366606012416) (+.f64 (*.f64 y x) 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 z (*.f64 1/16 t))))))))))) |
(if (<=.f64 z -74000000000000005329154287896123828462849068100255319692889139376883597147994084501062510197531142212396829168421840152700087222656680036705589158438115078591270572463319592083329820222772812772497304916133129350179239272876364366599949636108291601303794481385966793838821376) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 z -111999999999999998844652419634287680187890419524674334463398631092353853464446522752325159492740742654662959477989507953715641119876526037740545267866292111307751862389696237361504863877374600065528885309280878592) (+.f64 c (*.f64 y x)) (if (<=.f64 z -1160000000000000009718468360247162654391668432556179553337263447185517759885512540310737977750521808854434335210648746389172183157876716117068162574036473589467359864274736293069068292858726380994560) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 z -58999999999999997320842807245041141030812407848483453900744867530557141230157390521033661784585124740940466946347151954414625344979092118394373555557209546967993071568534329251332096) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 z -74000000000000001579783811437926283932326658607362609368577670625964177748373237426549534886858174507258179412307366606012416) (+.f64 c (*.f64 y x)) (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 z (*.f64 1/16 t))))))))))) |
(if (<=.f64 c -6435848638024241/44601490397061246283071436545296723011960832) (+.f64 (*.f64 y x) c) (if (<=.f64 c -6034172857212885/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 c -6379682976528363/259344723055062059907025491480697571938277889515152306249728583105665800713306759149981690559193987143012367913206299323899696942213235956742929677132122730441323862712594345230336) (+.f64 (*.f64 y x) c) (if (<=.f64 c 8558820120904865/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 5919851222042833/7410693711188236507108543040556026102609279018600996098525285376506440296955904) (+.f64 (*.f64 y x) c) (if (<=.f64 c 14728161159070308/79228162514264337593543950336) (*.f64 a (*.f64 b -1/4)) (+.f64 (*.f64 y x) c))))))) |
(if (<=.f64 c -6435848638024241/44601490397061246283071436545296723011960832) (+.f64 c (*.f64 y x)) (if (<=.f64 c -6034172857212885/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 c -6379682976528363/259344723055062059907025491480697571938277889515152306249728583105665800713306759149981690559193987143012367913206299323899696942213235956742929677132122730441323862712594345230336) (+.f64 c (*.f64 y x)) (if (<=.f64 c 8558820120904865/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 5919851222042833/7410693711188236507108543040556026102609279018600996098525285376506440296955904) (+.f64 c (*.f64 y x)) (if (<=.f64 c 3682040289767577/19807040628566084398385987584) (*.f64 a (*.f64 b -1/4)) (+.f64 c (*.f64 y x)))))))) |
(if (<=.f64 c -5109413211794285/16) c (if (<=.f64 c 8558820120904865/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 4763505486549883/34996011596528190789960035633881941845650710894291398982812329702559247987190014771576210832368861184) (*.f64 y x) (if (<=.f64 c 14728161159070308/79228162514264337593543950336) (*.f64 a (*.f64 b -1/4)) c)))) |
(if (<=.f64 c -5109413211794285/16) c (if (<=.f64 c 8558820120904865/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 4763505486549883/34996011596528190789960035633881941845650710894291398982812329702559247987190014771576210832368861184) (*.f64 y x) (if (<=.f64 c 3682040289767577/19807040628566084398385987584) (*.f64 a (*.f64 b -1/4)) c)))) |
(if (<=.f64 c -8243240110154807/8) c (if (<=.f64 c 802646460253260500391854315401117696) (*.f64 y x) c)) |
c |
Compiled 846 to 482 computations (43% 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 881 to 443 computations (49.7% saved)
Loading profile data...