Time bar (total: 21.3s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 6 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 7 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 8 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 9 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 10 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 11 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 12 |
Compiled 25 to 18 computations (28% saved)
| 2.2s | 8256× | body | 256 | valid |
| 1.1s | 4118× | body | 256 | infinite |
| 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 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (/.f64 (*.f64 a b) 4) |
| ✓ | 0.0b | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) |
| ✓ | 0.0b | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
| ✓ | 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)
57 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 5.0ms | a | @ | inf | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
| 3.0ms | b | @ | 0 | (/.f64 (*.f64 a b) 4) |
| 2.0ms | x | @ | 0 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
| 2.0ms | t | @ | 0 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
| 2.0ms | y | @ | 0 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
| 1× | batch-egg-rewrite |
| 554× | fma-neg_binary64 |
| 372× | expm1-udef_binary64 |
| 372× | log1p-udef_binary64 |
| 209× | add-sqr-sqrt_binary64 |
| 205× | *-un-lft-identity_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 61 |
| 1 | 411 | 57 |
| 2 | 6067 | 57 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
(+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) |
(/.f64 (*.f64 a b) 4) |
| 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 (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))))))) |
((#(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 (exp.f64 (log1p.f64 (*.f64 a (*.f64 b 1/4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a (/.f64 1 (/.f64 4 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a (*.f64 b 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b (*.f64 a 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a b) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a (*.f64 b 1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 a (*.f64 b 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a (*.f64 b 1/4))) (pow.f64 (cbrt.f64 (*.f64 a (*.f64 b 1/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a (*.f64 b 1/4))) 2) (cbrt.f64 (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a (neg.f64 b)) -1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a 4) b)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a (*.f64 b 1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a (*.f64 b 1/4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 a b) 3) 1/64) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 4 (*.f64 a b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 a b) -4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a (*.f64 b 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 b) a) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 a (*.f64 b 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 a (*.f64 b 1/4))) 1)))))) |
| 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 | 3259 |
| 1 | 71 | 3251 |
| 2 | 168 | 3113 |
| 3 | 442 | 3113 |
| 4 | 718 | 3113 |
| 5 | 1151 | 3113 |
| 6 | 2126 | 3113 |
| 7 | 2958 | 3113 |
| 8 | 3348 | 3113 |
| 9 | 3454 | 3113 |
| 10 | 3454 | 3113 |
| 11 | 3751 | 3113 |
| 12 | 3751 | 3113 |
| 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 (+.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))) |
(*.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 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.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 (+.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))) |
(*.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 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
(*.f64 1/4 (*.f64 a b)) |
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 | t | @ | 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.0ms | z | @ | 0 | (fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c)) |
| 1.0ms | a | @ | 0 | (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 6734 to 3524 computations (47.7% saved)
10 alts after pruning (10 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 272 | 10 | 282 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 274 | 10 | 284 |
| Status | Error | Program |
|---|---|---|
| ▶ | 16.0b | (fma.f64 x y (+.f64 c (*.f64 1/16 (*.f64 t z)))) |
| 13.7b | (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) | |
| 16.0b | (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) | |
| 29.3b | (+.f64 (*.f64 1/16 (*.f64 t z)) c) | |
| 45.0b | c | |
| ▶ | 31.9b | (+.f64 (*.f64 y x) c) |
| 16.5b | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x c)) | |
| ▶ | 16.5b | (-.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))) |
| ▶ | 29.9b | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
Compiled 308 to 225 computations (26.9% saved)
Found 2 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 1/16 (*.f64 t z) c) |
Compiled 51 to 23 computations (54.9% saved)
30 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | a | @ | inf | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
| 1.0ms | a | @ | 0 | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
| 1.0ms | b | @ | -inf | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) |
| 1.0ms | x | @ | -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 | 27 |
| 1 | 298 | 27 |
| 2 | 3407 | 27 |
| 1× | node limit |
| Inputs |
|---|
(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 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/16 (*.f64 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 1/16 (*.f64 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 1/16 (*.f64 t z)) 3) (pow.f64 c 3)) (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (-.f64 (*.f64 c c) (*.f64 (*.f64 1/16 (*.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 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 1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (exp.f64 (*.f64 1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.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 +.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a 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 (*.f64 a 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 (*.f64 a b) -1/4) 3) (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 a b) -1/4) 2) (-.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2) (*.f64 (*.f64 (*.f64 a 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 (*.f64 a b) -1/4) 2) (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2)) (-.f64 (*.f64 (*.f64 a 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 (*.f64 a 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 (*.f64 a b) -1/4))))))) (#(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 (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 |
| 104× | fma-def_binary64 |
| 21× | associate-+l+_binary64 |
| 15× | +-commutative_binary64 |
| 14× | associate-+r+_binary64 |
| 11× | *-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 1814 |
| 1 | 52 | 1760 |
| 2 | 108 | 1622 |
| 3 | 207 | 1622 |
| 4 | 219 | 1622 |
| 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 (*.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 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) |
(+.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 1/16 (*.f64 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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 1/16 (*.f64 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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)))) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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)))) |
(fma.f64 -1/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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)))) |
(fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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)))) |
(fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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 1/16 (*.f64 t z) (fma.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 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))) |
(fma.f64 y x (fma.f64 -1/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x 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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (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/4 (*.f64 a b) (fma.f64 t (*.f64 1/16 z) c))) |
(fma.f64 t (*.f64 1/16 z) (fma.f64 -1/4 (*.f64 a b) (fma.f64 y x c))) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 y x) c) |
Compiled 18 to 9 computations (50% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | 0 | (+.f64 (*.f64 y x) c) |
| 1.0ms | c | @ | -inf | (+.f64 (*.f64 y x) c) |
| 1.0ms | y | @ | -inf | (+.f64 (*.f64 y x) c) |
| 1.0ms | x | @ | -inf | (+.f64 (*.f64 y x) c) |
| 1.0ms | y | @ | inf | (+.f64 (*.f64 y x) c) |
| 1× | batch-egg-rewrite |
| 707× | pow1_binary64 |
| 655× | add-log-exp_binary64 |
| 655× | log1p-expm1-u_binary64 |
| 655× | expm1-log1p-u_binary64 |
| 640× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 5 |
| 1 | 129 | 5 |
| 2 | 1775 | 5 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y x) c) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 y x c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 y x) c)) (/.f64 (*.f64 c c) (-.f64 (*.f64 y x) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x c)) (pow.f64 (cbrt.f64 (fma.f64 y x c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x c)) 2) (cbrt.f64 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x c)) (sqrt.f64 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 c 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 c (-.f64 c (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 c c)) (/.f64 1 (-.f64 (*.f64 y x) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 c (-.f64 c (*.f64 y x)))) (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 c 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y x) c) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 c c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 c 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 c (-.f64 c (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 c 3)) (+.f64 (*.f64 c c) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 x c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 c c)) (-.f64 (*.f64 y x) c))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 c 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 c (-.f64 c (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 c c))) (neg.f64 (-.f64 (*.f64 y x) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (pow.f64 (*.f64 y x) 2)) (-.f64 c (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) c))))) |
| 1× | egg-herbie |
| 2× | fma-def_binary64 |
| 1× | +-commutative_binary64 |
| 1× | *-commutative_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 213 |
| 1 | 8 | 159 |
| 2 | 10 | 159 |
| 1× | saturated |
| Inputs |
|---|
c |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(*.f64 y x) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(*.f64 y x) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
c |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(*.f64 y x) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(*.f64 y x) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(*.f64 y x) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
c |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
c |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
(+.f64 c (*.f64 y x)) |
| Outputs |
|---|
c |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(*.f64 y x) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(*.f64 y x) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
c |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(*.f64 y x) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(*.f64 y x) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(*.f64 y x) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
c |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
c |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
(+.f64 c (*.f64 y x)) |
(fma.f64 y x c) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
Compiled 26 to 17 computations (34.6% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a | @ | 0 | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 1.0ms | c | @ | 0 | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 1.0ms | b | @ | 0 | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 1.0ms | b | @ | -inf | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 1.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 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 1/4 (*.f64 a b)) |
| ✓ | 0.0b | (+.f64 c (*.f64 y x)) |
| ✓ | 0.0b | (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
Compiled 40 to 16 computations (60% saved)
30 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | y | @ | 0 | (+.f64 c (*.f64 y x)) |
| 1.0ms | c | @ | 0 | (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
| 1.0ms | y | @ | inf | (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
| 1.0ms | x | @ | -inf | (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
| 1.0ms | a | @ | -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 | 30 |
| 1 | 267 | 26 |
| 2 | 3796 | 24 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
(+.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))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y x c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 c c) (-.f64 c (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 c (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x c)) (pow.f64 (cbrt.f64 (fma.f64 y x c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x c)) 2) (cbrt.f64 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x c)) (sqrt.f64 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.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))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 c c) (pow.f64 (*.f64 y x) 2)) (/.f64 1 (-.f64 c (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 c c (*.f64 (*.f64 y x) (fma.f64 y x (neg.f64 c)))) (+.f64 (pow.f64 c 3) (pow.f64 (*.f64 y x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 c (*.f64 y x)) (-.f64 (*.f64 c c) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 c 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 c c (*.f64 (*.f64 y x) (fma.f64 y x (neg.f64 c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 c 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 c c) (*.f64 (*.f64 c y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (pow.f64 (*.f64 y x) 2)) (-.f64 c (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 c 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (fma.f64 c c (*.f64 (*.f64 y x) (fma.f64 y x (neg.f64 c))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 c c) (pow.f64 (*.f64 y x) 2))) (neg.f64 (-.f64 c (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 c c)) (fma.f64 y x (neg.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x c) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 c c (*.f64 (*.f64 y x) (fma.f64 y x (neg.f64 c)))) (+.f64 (pow.f64 c 3) (pow.f64 (*.f64 y x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 c (*.f64 y x)) (-.f64 (*.f64 c c) (pow.f64 (*.f64 y x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (pow.f64 (exp.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 c) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x c)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.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) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) c))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/4 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 a) b) 1/4)) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 a) b) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 a) b) 1/4))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 a) b) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/4 (*.f64 a b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/4 (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 a b) 2) 1/16) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 a b) 3) 1/64) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (*.f64 a b) 2) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 a) b) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/4 (*.f64 a b))) 1)))))) |
| 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 | 367 |
| 1 | 36 | 363 |
| 2 | 80 | 323 |
| 3 | 188 | 323 |
| 4 | 284 | 323 |
| 5 | 430 | 323 |
| 6 | 708 | 323 |
| 7 | 980 | 323 |
| 8 | 1233 | 323 |
| 9 | 1627 | 323 |
| 10 | 1648 | 323 |
| 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)))) |
(*.f64 y x) |
c |
c |
c |
(*.f64 y x) |
(*.f64 y x) |
c |
(*.f64 y x) |
(*.f64 y x) |
| 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)) |
(*.f64 y x) |
c |
c |
c |
(*.f64 y x) |
(*.f64 y x) |
c |
(*.f64 y x) |
(*.f64 y x) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 c (*.f64 1/16 (*.f64 t z))) |
Compiled 38 to 18 computations (52.6% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | c | @ | 0 | (+.f64 c (*.f64 1/16 (*.f64 t z))) |
| 0.0ms | z | @ | -inf | (+.f64 c (*.f64 1/16 (*.f64 t z))) |
| 0.0ms | t | @ | inf | (+.f64 c (*.f64 1/16 (*.f64 t z))) |
| 0.0ms | c | @ | inf | (+.f64 c (*.f64 1/16 (*.f64 t z))) |
| 0.0ms | t | @ | -inf | (+.f64 c (*.f64 1/16 (*.f64 t z))) |
| 1× | batch-egg-rewrite |
| 904× | pow1_binary64 |
| 843× | add-log-exp_binary64 |
| 843× | log1p-expm1-u_binary64 |
| 843× | expm1-log1p-u_binary64 |
| 826× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 10 |
| 1 | 172 | 8 |
| 2 | 2278 | 8 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 c (*.f64 1/16 (*.f64 t z))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (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 (+.f64 (pow.f64 c 3) (*.f64 (pow.f64 (*.f64 t z) 3) 1/4096)) (/.f64 1 (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (-.f64 (*.f64 1/16 (*.f64 t z)) 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)) (-.f64 (*.f64 1/16 (*.f64 t z)) c))) (+.f64 (pow.f64 c 3) (*.f64 (pow.f64 (*.f64 t z) 3) 1/4096))))))) (#(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 (+.f64 (pow.f64 c 3) (*.f64 (pow.f64 (*.f64 t z) 3) 1/4096)) (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (-.f64 (*.f64 1/16 (*.f64 t z)) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 c 3) (*.f64 (pow.f64 (*.f64 t z) 3) 1/4096)) (+.f64 (*.f64 (pow.f64 (*.f64 t z) 2) 1/256) (-.f64 (*.f64 c c) (*.f64 c (*.f64 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 (+.f64 (pow.f64 c 3) (*.f64 (pow.f64 (*.f64 t z) 3) 1/4096))) (neg.f64 (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (-.f64 (*.f64 1/16 (*.f64 t z)) 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 (-.f64 (*.f64 (pow.f64 (*.f64 t z) 2) 1/256) (*.f64 c c)) (-.f64 (*.f64 1/16 (*.f64 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) 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 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 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 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 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 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 (sqrt.f64 c) (sqrt.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 (*.f64 1/16 t) z c))))) |
| 1× | egg-herbie |
| 5× | *-commutative_binary64 |
| 3× | associate-*r*_binary64 |
| 3× | associate-*l*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 39 |
| 1 | 11 | 39 |
| 2 | 18 | 39 |
| 3 | 20 | 39 |
| 1× | saturated |
| Inputs |
|---|
(*.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 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)) |
Compiled 7630 to 3402 computations (55.4% saved)
12 alts after pruning (10 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 428 | 7 | 435 |
| Fresh | 2 | 3 | 5 |
| Picked | 1 | 0 | 1 |
| Done | 2 | 2 | 4 |
| Total | 433 | 12 | 445 |
| Status | Error | Program |
|---|---|---|
| ▶ | 29.9b | (fma.f64 (*.f64 b -1/4) a c) |
| ▶ | 29.3b | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| 18.1b | (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) | |
| 34.5b | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) | |
| ▶ | 49.7b | (*.f64 y x) |
| ▶ | 16.0b | (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
| ✓ | 31.9b | (+.f64 (*.f64 y x) c) |
| 31.9b | (fma.f64 y x c) | |
| 45.0b | c | |
| ▶ | 13.7b | (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
| ✓ | 29.9b | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| 47.4b | (*.f64 a (*.f64 b -1/4)) |
Compiled 302 to 229 computations (24.2% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 1/4 (*.f64 a b)) | |
| 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)
15 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 | @ | 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))) |
| 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 | 19 |
| 1 | 308 | 17 |
| 2 | 4267 | 15 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
| 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)))))) |
| 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 | 418 |
| 1 | 41 | 414 |
| 2 | 95 | 374 |
| 3 | 224 | 374 |
| 4 | 337 | 374 |
| 5 | 541 | 374 |
| 6 | 883 | 374 |
| 7 | 1255 | 374 |
| 8 | 1579 | 374 |
| 9 | 2006 | 374 |
| 10 | 2027 | 374 |
| 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)))) |
| 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)) |
Compiled 12 to 8 computations (33.3% 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 | |
|---|---|---|---|---|
| 1.0ms | c | @ | 0 | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| 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 | z | @ | inf | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| 0.0ms | t | @ | -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 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
Compiled 44 to 19 computations (56.8% saved)
27 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
| 0.0ms | t | @ | -inf | (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
| 0.0ms | y | @ | inf | (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
| 0.0ms | z | @ | -inf | (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
| 0.0ms | c | @ | -inf | (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
| 1× | batch-egg-rewrite |
| 706× | fma-def_binary64 |
| 667× | log-prod_binary64 |
| 354× | pow2_binary64 |
| 325× | fma-neg_binary64 |
| 244× | pow1/3_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 25 |
| 1 | 263 | 23 |
| 2 | 3672 | 23 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
(+.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 t (*.f64 z 1/16) (fma.f64 y x c)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2) (-.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) c)) (/.f64 (*.f64 c c) (-.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))) (pow.f64 (cbrt.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))) 2) (cbrt.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))) (sqrt.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 3) (pow.f64 c 3)) (/.f64 1 (fma.f64 c (-.f64 c (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2) (*.f64 c c)) (/.f64 1 (-.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 c (-.f64 c (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2)) (+.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 3) (pow.f64 c 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) c) (-.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2) (*.f64 c c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 3) (pow.f64 c 3)) (fma.f64 c (-.f64 c (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 3) (pow.f64 c 3)) (fma.f64 c c (-.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2) (*.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2) (*.f64 c c)) (-.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) c))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 3) (pow.f64 c 3))) (neg.f64 (fma.f64 c (-.f64 c (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2) (*.f64 c c))) (neg.f64 (-.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 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 /.f64 (-.f64 (*.f64 c c) (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2)) (-.f64 c (fma.f64 y x (*.f64 t (*.f64 z 1/16)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 c (-.f64 c (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2)) (+.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 3) (pow.f64 c 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) c) (-.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2) (*.f64 c c))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (exp.f64 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (*.f64 (pow.f64 (pow.f64 (exp.f64 t) z) 1/16) (exp.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (*.f64 (pow.f64 (pow.f64 (exp.f64 t) z) 1/16) (exp.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))))) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))))) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (exp.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 c) (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (exp.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 t) z) 1/16) (exp.f64 c)) (pow.f64 (exp.f64 y) x)))))) (#(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 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 t) z) 1/16) (exp.f64 c)) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (*.f64 z 1/16)) 1 (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 1 c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (fma.f64 y x (*.f64 t (*.f64 z 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t (*.f64 z 1/16)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (fma.f64 y x (*.f64 t (*.f64 z 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/16 (*.f64 t z) c) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (fma.f64 y x (*.f64 t (*.f64 z 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (fma.f64 y x (*.f64 t (*.f64 z 1/16))))))) (#(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 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t (*.f64 z 1/16))) (pow.f64 (cbrt.f64 (*.f64 t (*.f64 z 1/16))) 2) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t (*.f64 z 1/16))) 2) (cbrt.f64 (*.f64 t (*.f64 z 1/16))) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) 2) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) 2) (cbrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 (fma.f64 1/16 (*.f64 t z) c) 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 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (fma.f64 y x (*.f64 t (*.f64 z 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t (*.f64 z 1/16))) (sqrt.f64 (*.f64 t (*.f64 z 1/16))) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) (sqrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 (*.f64 t (*.f64 z 1/16)) (-.f64 (*.f64 t (*.f64 z 1/16)) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t (*.f64 z 1/16)) 2)) (/.f64 1 (fma.f64 y x (*.f64 -1/16 (*.f64 t z)))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z (fma.f64 y x c))))) (#(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 y x))))) (#(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 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (fma.f64 1/16 (*.f64 t z) c) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t (fma.f64 y x c))))) (#(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 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 y x c)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))))) 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 t (*.f64 z 1/16)) 2) (fma.f64 y x (*.f64 -1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (*.f64 t (*.f64 z 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) 2) (cbrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) (sqrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))))))) (#(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 t (*.f64 z 1/16)) (-.f64 (*.f64 t (*.f64 z 1/16)) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t (*.f64 z 1/16)) 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 t (*.f64 z 1/16)) (-.f64 (*.f64 t (*.f64 z 1/16)) (*.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 t (*.f64 z 1/16)) 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 t (*.f64 z 1/16)) (-.f64 (*.f64 t (*.f64 z 1/16)) (*.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 t (*.f64 z 1/16)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t (*.f64 z 1/16)) 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 t (*.f64 z 1/16)) (-.f64 (*.f64 t (*.f64 z 1/16)) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t (*.f64 z 1/16)) 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 t (*.f64 z 1/16)) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 t (*.f64 z 1/16)) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 t (*.f64 z 1/16)) (-.f64 (*.f64 t (*.f64 z 1/16)) (*.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 t (*.f64 z 1/16)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (pow.f64 (pow.f64 (exp.f64 t) z) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (+.f64 1 (expm1.f64 (*.f64 t (*.f64 z 1/16))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (+.f64 1 (expm1.f64 (*.f64 t (*.f64 z 1/16))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 z 1/16)))) (pow.f64 (exp.f64 y) x)))))) (#(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 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 z 1/16)))) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 t (*.f64 z 1/16)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 t (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 t (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (*.f64 t (*.f64 z 1/16)))))) (#(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 t (*.f64 z 1/16)) 1 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 t (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t (*.f64 z 1/16)) (*.f64 y x))))) (#(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 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 t (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t (*.f64 z 1/16))) (pow.f64 (cbrt.f64 (*.f64 t (*.f64 z 1/16))) 2) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t (*.f64 z 1/16))) 2) (cbrt.f64 (*.f64 t (*.f64 z 1/16))) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 t (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 t (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 t (*.f64 z 1/16)))))) (#(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 t (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t (*.f64 z 1/16))) (sqrt.f64 (*.f64 t (*.f64 z 1/16))) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 t (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 t (*.f64 z 1/16)))))) (#(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 t (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 t (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 t (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 t (*.f64 z 1/16)))))) (#(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 (pow.f64 (cbrt.f64 (*.f64 t z)) 2)) (cbrt.f64 (*.f64 t z)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.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 |
| 24× | fma-def_binary64 |
| 6× | *-commutative_binary64 |
| 4× | +-commutative_binary64 |
| 3× | associate-*r*_binary64 |
| 3× | associate-*l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 787 |
| 1 | 25 | 779 |
| 2 | 44 | 689 |
| 3 | 63 | 689 |
| 1× | saturated |
| Inputs |
|---|
(+.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 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 c (*.f64 1/16 (*.f64 t z))) |
(fma.f64 1/16 (*.f64 t 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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 1/16 (*.f64 t 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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 1/16 (*.f64 t 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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.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 (fma.f64 1/16 (*.f64 t z) c) (*.f64 y x)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c)) |
(*.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 8614 to 4284 computations (50.3% saved)
13 alts after pruning (8 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 450 | 5 | 455 |
| Fresh | 2 | 3 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 2 | 4 | 6 |
| Total | 454 | 13 | 467 |
| Status | Error | Program |
|---|---|---|
| ✓ | 29.9b | (fma.f64 (*.f64 b -1/4) a c) |
| ✓ | 29.3b | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| ▶ | 33.8b | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| 45.0b | c | |
| ▶ | 34.5b | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| ✓ | 49.7b | (*.f64 y x) |
| ✓ | 29.9b | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| ▶ | 13.6b | (fma.f64 (*.f64 -1/4 b) a (fma.f64 1/16 (*.f64 t z) c)) |
| 31.3b | (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) | |
| ✓ | 31.9b | (+.f64 (*.f64 y x) c) |
| 31.9b | (fma.f64 y x c) | |
| ▶ | 46.7b | (*.f64 (*.f64 1/16 t) z) |
| ▶ | 47.4b | (*.f64 a (*.f64 b -1/4)) |
Compiled 277 to 214 computations (22.7% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 (*.f64 -1/4 b) a (fma.f64 1/16 (*.f64 t z) c)) |
| 0.0b | (fma.f64 1/16 (*.f64 t z) c) |
Compiled 37 to 19 computations (48.6% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 7.0ms | b | @ | 0 | (fma.f64 (*.f64 -1/4 b) a (fma.f64 1/16 (*.f64 t z) c)) |
| 4.0ms | b | @ | inf | (fma.f64 (*.f64 -1/4 b) a (fma.f64 1/16 (*.f64 t z) c)) |
| 0.0ms | a | @ | -inf | (fma.f64 (*.f64 -1/4 b) a (fma.f64 1/16 (*.f64 t z) c)) |
| 0.0ms | a | @ | 0 | (fma.f64 (*.f64 -1/4 b) a (fma.f64 1/16 (*.f64 t z) c)) |
| 0.0ms | b | @ | -inf | (fma.f64 (*.f64 -1/4 b) a (fma.f64 1/16 (*.f64 t z) c)) |
| 1× | batch-egg-rewrite |
| 532× | log-prod_binary64 |
| 423× | 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 | 15 |
| 1 | 239 | 15 |
| 2 | 2701 | 15 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 (*.f64 -1/4 b) a (fma.f64 1/16 (*.f64 t z) c)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/16 (*.f64 t z) c) (*.f64 -1/4 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/4 (*.f64 b a)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -1/4 (*.f64 b a)) 1) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -1/4 (*.f64 b a) (*.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 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 -1/4 (*.f64 b a) (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/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))) (pow.f64 (cbrt.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))) 2) (cbrt.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))) (sqrt.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 -1/4 (*.f64 b a)) 3) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3)) (+.f64 (pow.f64 (*.f64 -1/4 (*.f64 b a)) 2) (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 (*.f64 -1/4 (*.f64 b a)) (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 -1/4 (*.f64 b a)) 2) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2)) (-.f64 (*.f64 -1/4 (*.f64 b a)) (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -1/4 (*.f64 b a) (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/4 (*.f64 b a) (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/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)))) 2)) (cbrt.f64 (log.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))))) (sqrt.f64 (log.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 -1/4 (*.f64 b a) (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 (exp.f64 a) (*.f64 -1/4 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a) (*.f64 -1/4 b)) (+.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 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) c)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 -1/4 (*.f64 b a) (fma.f64 1/16 (*.f64 t z) 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 | 877 |
| 1 | 30 | 869 |
| 2 | 58 | 779 |
| 3 | 92 | 779 |
| 1× | saturated |
| Inputs |
|---|
(+.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 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)))) |
| Outputs |
|---|
(+.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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 -1/4 (*.f64 a b) 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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 -1/4 (*.f64 a b) 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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 -1/4 (*.f64 a b) 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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 -1/4 (*.f64 a b) 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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 -1/4 (*.f64 a b) 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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 -1/4 (*.f64 a b) 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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 -1/4 (*.f64 a b) 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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 -1/4 (*.f64 a b) 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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 -1/4 (*.f64 a b) 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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 -1/4 (*.f64 a b) 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))) |
(+.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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 -1/4 (*.f64 a b) 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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 -1/4 (*.f64 a b) 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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (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/16 (*.f64 t z)) (fma.f64 -1/4 (*.f64 a b) c)) |
(fma.f64 1/16 (*.f64 t z) (fma.f64 -1/4 (*.f64 a b) c)) |
Compiled 18 to 13 computations (27.8% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (*.f64 1/16 t) z) |
Compiled 18 to 13 computations (27.8% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | t | @ | 0 | (*.f64 (*.f64 1/16 t) z) |
| 1.0ms | z | @ | 0 | (*.f64 (*.f64 1/16 t) z) |
| 1.0ms | t | @ | inf | (*.f64 (*.f64 1/16 t) z) |
| 0.0ms | z | @ | inf | (*.f64 (*.f64 1/16 t) z) |
| 0.0ms | t | @ | -inf | (*.f64 (*.f64 1/16 t) z) |
| 1× | batch-egg-rewrite |
| 553× | pow1_binary64 |
| 512× | add-log-exp_binary64 |
| 512× | log1p-expm1-u_binary64 |
| 512× | expm1-log1p-u_binary64 |
| 501× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 7 |
| 1 | 122 | 7 |
| 2 | 1400 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 1/16 t) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/16 (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/16 (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/16) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/16 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/16 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/16 (*.f64 t z)))))))) |
| 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)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 1/4 (*.f64 a b)) | |
| ✓ | 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 | |
|---|---|---|---|---|
| 14.0ms | y | @ | -inf | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| 1.0ms | y | @ | 0 | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| 1.0ms | y | @ | inf | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| 1.0ms | x | @ | 0 | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| 1.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)) |
Compiled 6971 to 3730 computations (46.5% saved)
13 alts after pruning (4 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 370 | 2 | 372 |
| Fresh | 1 | 2 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 8 | 9 |
| Total | 372 | 13 | 385 |
| Status | Error | Program |
|---|---|---|
| ✓ | 29.9b | (fma.f64 (*.f64 b -1/4) a c) |
| ✓ | 29.3b | (+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| 31.9b | (fma.f64 y x c) | |
| 31.3b | (fma.f64 (*.f64 -1/4 b) a (*.f64 1/16 (*.f64 t z))) | |
| 45.0b | c | |
| ✓ | 34.5b | (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| ✓ | 49.7b | (*.f64 y x) |
| 31.3b | (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) | |
| ✓ | 33.8b | (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
| ✓ | 31.9b | (+.f64 (*.f64 y x) c) |
| ✓ | 46.7b | (*.f64 (*.f64 1/16 t) z) |
| ✓ | 29.9b | (+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| ✓ | 47.4b | (*.f64 a (*.f64 b -1/4)) |
Compiled 173 to 135 computations (22% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
(+.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) (*.f64 1/16 (*.f64 t z))) |
(-.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 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
(-.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 y x c) |
(fma.f64 (*.f64 b -1/4) a c) |
(fma.f64 (*.f64 -1/4 b) a (*.f64 1/16 (*.f64 t z))) |
(fma.f64 x y (+.f64 c (*.f64 1/16 (*.f64 t z)))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x c)) |
(fma.f64 (*.f64 -1/4 b) a (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
(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:
| 82.0ms | (*.f64 z t) |
| 55.0ms | (/.f64 (*.f64 a b) 4) |
| 52.0ms | (/.f64 (*.f64 z t) 16) |
| 34.0ms | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) |
| 33.0ms | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | t |
| 0.0b | 1 | a |
| 0.0b | 1 | b |
| 0.0b | 1 | c |
| 0.0b | 1 | (+.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 479 to 307 computations (35.9% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
(+.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) (*.f64 1/16 (*.f64 t z))) |
(-.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 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
(-.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 y x c) |
(fma.f64 (*.f64 b -1/4) a c) |
(fma.f64 (*.f64 -1/4 b) a (*.f64 1/16 (*.f64 t z))) |
(fma.f64 x y (+.f64 c (*.f64 1/16 (*.f64 t z)))) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x c)) |
(fma.f64 (*.f64 -1/4 b) a (fma.f64 1/16 (*.f64 t z) c)) |
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (*.f64 1/16 (*.f64 t z)))) |
| Outputs |
|---|
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
15 calls:
| 46.0ms | t |
| 45.0ms | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c) |
| 20.0ms | y |
| 18.0ms | (*.f64 z t) |
| 17.0ms | (/.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 359 to 223 computations (37.9% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
(+.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) (*.f64 1/16 (*.f64 t z))) |
(-.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 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
| 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 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) |
8 calls:
| 153.0ms | y |
| 113.0ms | t |
| 88.0ms | z |
| 79.0ms | c |
| 54.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 7.8b | 3 | x |
| 6.9b | 3 | y |
| 7.5b | 3 | z |
| 6.0b | 9 | t |
| 6.3b | 3 | a |
| 6.6b | 5 | b |
| 9.1b | 6 | c |
| 5.0b | 3 | (*.f64 a b) |
Compiled 173 to 106 computations (38.7% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.3091765510199392e-114 | 3.232936046799759e-111 |
| 0.0ms | -1.6629287000669023e-20 | -9.88105944177249e-31 |
Compiled 34 to 26 computations (23.5% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
(+.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) (*.f64 1/16 (*.f64 t z))) |
(-.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 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
(-.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 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) |
8 calls:
| 114.0ms | x |
| 82.0ms | t |
| 63.0ms | y |
| 47.0ms | (*.f64 a b) |
| 41.0ms | c |
| Error | Segments | Branch |
|---|---|---|
| 12.2b | 5 | x |
| 11.2b | 4 | y |
| 8.5b | 3 | z |
| 9.2b | 5 | t |
| 8.8b | 2 | a |
| 7.6b | 3 | b |
| 12.4b | 4 | c |
| 5.0b | 3 | (*.f64 a b) |
Compiled 160 to 100 computations (37.5% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 64959473286277460.0 | 1.1227976238678503e+23 |
| 0.0ms | -1.6629287000669023e-20 | -9.88105944177249e-31 |
Compiled 34 to 26 computations (23.5% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
(+.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) (*.f64 1/16 (*.f64 t z))) |
(-.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 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
| Outputs |
|---|
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
9 calls:
| 257.0ms | y |
| 138.0ms | x |
| 131.0ms | (*.f64 a b) |
| 71.0ms | z |
| 52.0ms | c |
| Error | Segments | Branch |
|---|---|---|
| 12.8b | 5 | x |
| 12.0b | 8 | y |
| 12.7b | 3 | z |
| 13.8b | 3 | t |
| 10.4b | 2 | a |
| 9.5b | 4 | b |
| 12.3b | 5 | c |
| 7.6b | 3 | (*.f64 a b) |
| 7.6b | 3 | (*.f64 a b) |
Compiled 159 to 104 computations (34.6% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 7.434685725565817e+57 | 3.6990459525954984e+79 |
| 0.0ms | -8.275490143053718e+58 | -6.117123463335505e+52 |
Compiled 34 to 26 computations (23.5% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
(+.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) (*.f64 1/16 (*.f64 t z))) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
| Outputs |
|---|
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(+.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) c) |
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (*.f64 y x) c) |
9 calls:
| 379.0ms | x |
| 192.0ms | b |
| 177.0ms | t |
| 163.0ms | (*.f64 a b) |
| 121.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 17.1b | 10 | x |
| 17.6b | 6 | y |
| 18.3b | 6 | z |
| 17.2b | 9 | t |
| 17.0b | 7 | a |
| 14.6b | 11 | b |
| 15.0b | 6 | c |
| 15.2b | 6 | (*.f64 a b) |
| 15.2b | 6 | (*.f64 a b) |
Compiled 148 to 100 computations (32.4% saved)
| 10× | binary-search |
| Time | Left | Right |
|---|---|---|
| 58.0ms | 4.218993214844959e+285 | 4.293610099072639e+290 |
| 206.0ms | 4.3393528461897727e+257 | 2.188655785525466e+258 |
| 127.0ms | 1.9811697459021985e+231 | 4.935725541367179e+233 |
| 25.0ms | 2.8089471999629863e+184 | 6.901592988310835e+186 |
| 12.0ms | 5.03867305933006e+140 | 2.016225022705732e+142 |
| 120.0ms | 7.982394603357595e+57 | 1.1526664851376782e+58 |
| 29.0ms | 1.7948754687142242e+30 | 6.457828010820234e+32 |
| 159.0ms | 1.1639123791181285e-25 | 7.923283072604857e-25 |
| 29.0ms | 2.9228611281942957e-117 | 3.2167290469538454e-115 |
| 28.0ms | -4.04839252956605e-159 | -1.1049941105676132e-159 |
Compiled 938 to 732 computations (22% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
(+.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) (*.f64 1/16 (*.f64 t z))) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
| Outputs |
|---|
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) |
9 calls:
| 77.0ms | t |
| 54.0ms | x |
| 48.0ms | (*.f64 a b) |
| 47.0ms | b |
| 45.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 19.9b | 7 | x |
| 19.0b | 4 | y |
| 18.5b | 6 | z |
| 17.7b | 10 | t |
| 17.3b | 7 | a |
| 17.5b | 6 | b |
| 16.4b | 6 | c |
| 15.2b | 6 | (*.f64 a b) |
| 15.2b | 6 | (*.f64 a b) |
Compiled 137 to 95 computations (30.7% saved)
| 5× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 3.2412263650285057e+27 | 6.319534871266571e+37 |
| 0.0ms | -3.012775087839923e-117 | -1.0494549505708095e-117 |
| 0.0ms | -2.071418120535433e-61 | -5.342673004125122e-63 |
| 0.0ms | -1.6460739662025738e-36 | -1.8461746273570226e-43 |
| 0.0ms | -1.588613481425378e+44 | -4.2179526622118695e+40 |
Compiled 34 to 26 computations (23.5% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
(+.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) (*.f64 1/16 (*.f64 t z))) |
| Outputs |
|---|
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.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) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
7 calls:
| 101.0ms | x |
| 70.0ms | t |
| 67.0ms | z |
| 52.0ms | y |
| 48.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 19.6b | 8 | x |
| 19.2b | 4 | y |
| 18.4b | 7 | z |
| 17.9b | 10 | t |
| 18.5b | 6 | a |
| 18.9b | 6 | b |
| 19.9b | 3 | c |
Compiled 108 to 75 computations (30.6% saved)
| 9× | binary-search |
| Time | Left | Right |
|---|---|---|
| 10.0ms | 3.03993475527479e+129 | 1.264286801608074e+130 |
| 155.0ms | 5.877918753419281e+72 | 1.7124574958847727e+74 |
| 57.0ms | 0.029639936124417593 | 712.907828725259 |
| 60.0ms | 9.144909023192843e-21 | 2.5209000329539754e-19 |
| 57.0ms | 9.455774866077695e-64 | 4.2904416215475334e-57 |
| 57.0ms | 2.517687032542628e-90 | 6.767900619362298e-89 |
| 58.0ms | 7.150303631180973e-193 | 1.1029238791060154e-191 |
| 57.0ms | 5.676692576998345e-267 | 3.40515527172682e-256 |
| 57.0ms | -1.4610896689249652e-186 | -1.5072255086133636e-201 |
Compiled 290 to 226 computations (22.1% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
| Outputs |
|---|
(+.f64 (*.f64 a (*.f64 b -1/4)) c) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
7 calls:
| 216.0ms | a |
| 132.0ms | c |
| 58.0ms | x |
| 52.0ms | t |
| 27.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 20.8b | 7 | x |
| 19.7b | 4 | y |
| 19.7b | 4 | z |
| 19.8b | 9 | t |
| 19.0b | 6 | a |
| 19.5b | 5 | b |
| 23.1b | 8 | c |
Compiled 99 to 72 computations (27.3% saved)
| 5× | binary-search |
| Time | Left | Right |
|---|---|---|
| 29.0ms | -1.244384097950414e-277 | -7.035263418316275e-283 |
| 30.0ms | -2.0823346778247216e-195 | -1.1593840075237554e-201 |
| 30.0ms | -4.720080894573427e-76 | -3.58889845892265e-77 |
| 28.0ms | -8.331305519933894e+27 | -1.3789966839821756e+25 |
| 126.0ms | -8.95507710322931e+95 | -4.743145537973443e+95 |
Compiled 154 to 122 computations (20.8% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
| Outputs |
|---|
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(+.f64 (*.f64 y x) c) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 1/16 (*.f64 t z)) c) |
(+.f64 (*.f64 y x) c) |
7 calls:
| 103.0ms | z |
| 42.0ms | c |
| 39.0ms | y |
| 36.0ms | b |
| 36.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 23.4b | 3 | x |
| 22.7b | 3 | y |
| 22.0b | 5 | z |
| 22.0b | 7 | t |
| 21.8b | 6 | a |
| 21.1b | 7 | b |
| 24.1b | 7 | c |
Compiled 92 to 68 computations (26.1% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 4.218993214844959e+285 | 4.293610099072639e+290 |
| 45.0ms | 1.5286243579261224e+195 | 7.9893356137205e+197 |
| 135.0ms | 2.590408341962152e+78 | 1.0361674948287461e+79 |
| 41.0ms | 486.1938319483654 | 7288.0645607830875 |
| 47.0ms | 1.1450783104180212e-56 | 6.189621076154343e-52 |
| 28.0ms | -3.970598339454207e-90 | -5.620227049551793e-96 |
Compiled 678 to 546 computations (19.5% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
| Outputs |
|---|
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
(*.f64 (*.f64 1/16 t) z) |
(+.f64 (*.f64 y x) c) |
(*.f64 (*.f64 1/16 t) z) |
(+.f64 (*.f64 y x) c) |
(*.f64 a (*.f64 b -1/4)) |
(+.f64 (*.f64 y x) c) |
7 calls:
| 230.0ms | c |
| 134.0ms | b |
| 131.0ms | x |
| 94.0ms | y |
| 83.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 27.2b | 7 | x |
| 30.4b | 3 | y |
| 26.5b | 5 | z |
| 26.2b | 5 | t |
| 26.5b | 4 | a |
| 24.8b | 8 | b |
| 25.5b | 10 | c |
Compiled 85 to 64 computations (24.7% saved)
| 7× | binary-search |
| Time | Left | Right |
|---|---|---|
| 107.0ms | 3.4867918587173054e+212 | 1.3966448387730475e+218 |
| 89.0ms | 4.471637661216875e+154 | 7.378272079213326e+155 |
| 122.0ms | 5.03867305933006e+140 | 2.016225022705732e+142 |
| 227.0ms | 7.982394603357595e+57 | 1.1526664851376782e+58 |
| 57.0ms | 1.8050314883847044e-93 | 8.396113554723849e-89 |
| 61.0ms | 9.00476416142008e-106 | 6.282932443032409e-100 |
| 68.0ms | -3.583124208257808e-89 | -3.970598339454207e-90 |
Compiled 736 to 593 computations (19.4% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
| Outputs |
|---|
c |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 a (*.f64 b -1/4)) |
c |
7 calls:
| 469.0ms | x |
| 232.0ms | b |
| 192.0ms | a |
| 118.0ms | t |
| 111.0ms | c |
| Error | Segments | Branch |
|---|---|---|
| 35.4b | 8 | x |
| 34.7b | 8 | y |
| 36.0b | 5 | z |
| 33.5b | 9 | t |
| 35.1b | 7 | a |
| 33.3b | 9 | b |
| 28.7b | 9 | c |
Compiled 80 to 63 computations (21.3% saved)
| 8× | binary-search |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 1.815067079719887e+94 | 1.4182592771918685e+103 |
| 153.0ms | 5.714270454769437e+59 | 8.534945306445078e+59 |
| 40.0ms | 0.010714215479033928 | 1827.9505769663783 |
| 30.0ms | 1.6232664476791848e-180 | 1.4512382401405005e-179 |
| 39.0ms | 1.5179572167878022e-270 | 3.305757816016693e-269 |
| 29.0ms | -1.1657054458150758e-247 | -6.347724329468426e-249 |
| 72.0ms | -23489.31727342009 | -278.5514983465733 |
| 55.0ms | -7.808715646699018e+64 | -2.461402941209299e+64 |
Compiled 34 to 26 computations (23.5% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
| Outputs |
|---|
c |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 y x) |
(*.f64 (*.f64 1/16 t) z) |
(*.f64 y x) |
c |
7 calls:
| 70.0ms | b |
| 65.0ms | x |
| 36.0ms | t |
| 32.0ms | a |
| 29.0ms | c |
| Error | Segments | Branch |
|---|---|---|
| 35.6b | 8 | x |
| 36.6b | 6 | y |
| 37.1b | 6 | z |
| 35.1b | 7 | t |
| 40.2b | 7 | a |
| 38.8b | 8 | b |
| 31.9b | 6 | c |
Compiled 75 to 60 computations (20% saved)
| 5× | binary-search |
| Time | Left | Right |
|---|---|---|
| 28.0ms | 7.349731980644859e+105 | 7.856687377701761e+114 |
| 29.0ms | 9.538439067119094e+92 | 1.815067079719887e+94 |
| 30.0ms | 0.010714215479033928 | 1827.9505769663783 |
| 43.0ms | 1.6232664476791848e-180 | 1.4512382401405005e-179 |
| 28.0ms | -2.461402941209299e+64 | -1.3345421592894425e+60 |
Compiled 34 to 26 computations (23.5% saved)
| Inputs |
|---|
c |
c |
c |
c |
(*.f64 y x) |
| Outputs |
|---|
c |
(*.f64 y x) |
c |
7 calls:
| 39.0ms | c |
| 23.0ms | b |
| 22.0ms | y |
| 19.0ms | x |
| 18.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 39.6b | 5 | x |
| 40.5b | 2 | y |
| 42.0b | 5 | z |
| 43.6b | 3 | t |
| 45.0b | 1 | a |
| 41.3b | 5 | b |
| 36.5b | 3 | c |
Compiled 70 to 57 computations (18.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 50.0ms | 7.349731980644859e+105 | 7.856687377701761e+114 |
| 34.0ms | -4.814924538003789e+31 | -1.6625372990081516e+25 |
Compiled 34 to 26 computations (23.5% saved)
Total -0.0b remaining (-0%)
Threshold costs -0.0b (-0%)
| Inputs |
|---|
c |
c |
c |
c |
| Outputs |
|---|
c |
7 calls:
| 8.0ms | y |
| 8.0ms | a |
| 7.0ms | b |
| 7.0ms | t |
| 7.0ms | c |
| Error | Segments | Branch |
|---|---|---|
| 45.0b | 1 | x |
| 45.0b | 1 | y |
| 45.0b | 1 | z |
| 45.0b | 1 | t |
| 45.0b | 1 | a |
| 45.0b | 1 | b |
| 45.0b | 1 | c |
Compiled 67 to 56 computations (16.4% 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 | 222 | 1143 |
| 1 | 255 | 1143 |
| 2 | 275 | 1143 |
| 3 | 287 | 1143 |
| 4 | 295 | 1143 |
| 5 | 300 | 1143 |
| 6 | 302 | 1143 |
| 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) -6646139978924579/664613997892457936451903530140172288) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 2772669694120815/693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539456) (+.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))))) |
(if (<=.f64 (*.f64 a b) -6646139978924579/664613997892457936451903530140172288) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 100000000000000000) (+.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) -49999999999999998584394024780232100424968164183088578953216) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 (*.f64 a b) 9999999999999999438119489974413630815797154428513196965888) (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))))) |
(if (<=.f64 b -8010324397266307/1978643211784836272484020168157177520281050792809694719312504448743177800852254937362531208489944359916781371408129114714810920274454009679740369240815145343332854177189593088) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 b 2074656888388633/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 b 5069553398462687/43556142965880123323311949751266331066368) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 b 1794875468714224236793859932160) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 b 11500000000000000120425529670065845928457043215077603278848) (+.f64 (*.f64 y x) c) (if (<=.f64 b 10000000000000000508222848402996879704791089448509839788449208028871961714412352270078388372553960191290960287445781834331294577148468377157632) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 b 999999999999999979617044168753715171107129451866841652067632118957448454785561110036171446110395985078602511391629572118883509758736380261518894779920079058604308854941977225917932503040) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 b 2000000000000000112950822041041682829681252763966116749401130328310913127935156394378439523178919965959536338695072724193131961289213847754610320291206559558839567880608124639637128476165182553839199176610603506544803697392590258176) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 b 2149999999999999898074107963305809529218251292484149598370074098894335376855494106464460620537861603635919240698064214485381143558044700143860232576306352787966011572504254814677045879310529583871249277212594113107824987369448371239763622742886393150324080640) (+.f64 (*.f64 y x) c) (if (<=.f64 b 4249999999999999981713237554170037907363188573939176465006025024402204295920875490536614438381730033140373120895339650917931487962756383076570966645270399826069706480125876739175720038665583818728936713592741295545808445118556511026221918670430332910309201847803904152790886241269710848) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (+.f64 (*.f64 y x) c))))))))))) |
(if (<=.f64 (*.f64 a b) -100000000000000008821361405306422640701865984) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 (*.f64 a b) -2993155353253689/2993155353253689176481146537402947624255349848014848) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) -2894802230932905/14474011154664524427946373126085988481658748083205070504932198000989141204992) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 (*.f64 a b) -5678427533559429/2839213766779714416208296124562517712318911565184836172974571090549372219192960637992933791850638927971728600024477257552869537611776) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 4999999999999999791559868416) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))))))) |
(if (<=.f64 t -3578853897235187/2449441655328671218473925200700819802261115891310932980616707775308160183158275122807205904404441104841876294862561960570988912251863537292521360689146388717906188066642938460312627143172697498123763712) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 t 6594795192364733/1161731959748268017810986326679609812602547032546401921137321765090578638406565916832162745700122148898280252961088260195667644723081957584211586391486245801392945969099578026517723757683045106929874371704962060317240428677248343818872733547147389127353160238636049931893566678761472) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 t 1836502384636071/2568425733177916751582514591250062824975751856847252861083144972201529372215371495172688738416791235950675277761805770367685269653410060480042878305982363696267199058168185838960773319279454451792623658074112) (+.f64 (*.f64 y x) c) (if (<=.f64 t 5774311724632667/2293498615990071511610820895302086940796564989168281123737588839386922876088484808070018553110125686554624) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 t 27372598177521/28948022309329048855892746252171976963317496166410141009864396001978282409984) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 t 47483082392711/5192296858534827628530496329220096) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 t 1067891242281699/36028797018963968) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 t 169999999999999995546453021296755194706307008289722553445664860276625768448) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 t 10000000000000000597830782460516151851749290252338090708736359498322008205751130936310560341066601403445681992244323541365884452864) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (+.f64 (*.f64 1/16 (*.f64 t z)) c)))))))))) |
(if (<=.f64 a -879999999999999958507063942391341293078620439980425991327011484655074736196101580184131712581632) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 a -8331305519933894265696944128) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 a -1922994918691027/4074071952668972172536891376818756322102936787331872501272280898708762599526673412366794752) (+.f64 (*.f64 y x) c) (if (<=.f64 a -1369170424733123/657516987693546688405123735360016083193792475352896732437285112883591519287135102764208317034698556403372871107022277214127429031272975482890976846331485106244402958891055574773957969735540339658911656466972672) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 a -4967183886466875/39916806190694396233127454260736771321349025208709150830050944848744237837379281315699159309852714021786848936883849904879448759767871873214783435965696628406400113459021713530350754428887259743653067134890878479866616209102417407777777105368960883150142418137515120832847169904606880198557696) (+.f64 (*.f64 y x) c) (+.f64 (*.f64 1/16 (*.f64 t z)) c)))))) |
(if (<=.f64 b -2276640449047675/573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638656) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 b 5057945629258681/441711766194596082395824375185729628956870974218904739530401550323154944) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 b 2138303086320793/4398046511104) (+.f64 (*.f64 y x) c) (if (<=.f64 b 10200000000000000621423919753026934057083457562046272401518147178481984028540928) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 b 1550000000000000100626514996523646205052654078358212506446285373342462566996680185260894607870308957342410274810817687037987160234119176681152459773573300954226587263291337575220698307989663121408) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 b 419999999999999973992224492943769515117226154171216241261454658571411506879612514597715134860394628838496469769374130952273555881673838272450193959189347306050904490037667736779721336903821971111565107369609503152484162474346796848056911431144632473261188082099021696323972937297520737910784) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (+.f64 (*.f64 y x) c))))))) |
(if (<=.f64 b -5136181507849877/143343663499379469475676305956380433799785311823017570233599302461682679755530300504376159569382855409664) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 b 4650510231605673/5164499756173817179311838344006023748659411585658447025661318713081295244033682389259290706560275662871806343945494986752) (+.f64 (*.f64 y x) c) (if (<=.f64 b 2119596656859555/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 b 11500000000000000120425529670065845928457043215077603278848) (+.f64 (*.f64 y x) c) (if (<=.f64 b 509999999999999973119502929338104769456966078680513336036570771749400500731561389616658449373592156006326358418795642204090736571906212757504) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 b 730000000000000037391668303784325757831176237460949261484165381120381399327790526050450291402167436707870261051682460593038110991950785359638420996543741952) (+.f64 (*.f64 y x) c) (if (<=.f64 b 349999999999999987045660426466893192810038112540410661816788739318555054250209106943300580971443533231712310790740585608701928492892797695648736692705265827415274187176706084214617606526973007435051420870458212352) (*.f64 a (*.f64 b -1/4)) (+.f64 (*.f64 y x) c)))))))) |
(if (<=.f64 c -78087156466990183230250997021601969198265598006493671403760386048) c (if (<=.f64 c -6456694367661259/274877906944) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c -458833435132479/3936100983140358674171118325863157261303419813782882110237782515784158576702511753696331798193284779002326689610310857585686054524054270515222392815820422596546908348791339130466666204306680269934417552562141332061201544797059608540225005885713074181150932467712) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 c 902891219083735/594806763391113225119224999259960224052504080663757783622308743726376262864161749418067325798462540235919489516077189220181834098217962283116332232440957850313188336178983949577074563933719094748095678312940574882427099482751152035262839576139463233204818042181657565129506139525873664) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 3791901068346781/2335969596222563951944279862118549158345332995711262684456546569164428885610842821891027359394494156686664862501680336543072616817344224255105362595697773664385021273272455654442431586430261133312) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 c 6176324715384883/576460752303423488) (*.f64 y x) (if (<=.f64 c 571427045476943708290240676035754327286726818611806722850816) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 c 18150670797198870870816109970726220012165214965813398300933776314678046888366863598036025606144) (*.f64 a (*.f64 b -1/4)) c)))))))) |
(if (<=.f64 c -24614029412092991026595048744224346948118756850499611739717369856) c (if (<=.f64 c 3791901068346781/2335969596222563951944279862118549158345332995711262684456546569164428885610842821891027359394494156686664862501680336543072616817344224255105362595697773664385021273272455654442431586430261133312) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 c 6176324715384883/576460752303423488) (*.f64 y x) (if (<=.f64 c 953843906711909419136335900486224840305013802480134443331257592666353894751980579567819554816) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 c 7349731980644859168764032721895208261180982046666963641225128063426982931287060295673849770407512246321152) (*.f64 y x) c))))) |
(if (<=.f64 c -48149245380037888976626900795392) c (if (<=.f64 c 7349731980644859168764032721895208261180982046666963641225128063426982931287060295673849770407512246321152) (*.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) -6646139978924579/664613997892457936451903530140172288) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 2772669694120815/693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539456) (+.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))))) |
(if (<=.f64 (*.f64 a b) -6646139978924579/664613997892457936451903530140172288) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 2772669694120815/693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539456) (+.f64 c (+.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))))) |
(if (<=.f64 (*.f64 a b) -6646139978924579/664613997892457936451903530140172288) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 (*.f64 a b) 2772669694120815/693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539456) (+.f64 c (+.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))))) |
(if (<=.f64 (*.f64 a b) -6646139978924579/664613997892457936451903530140172288) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 100000000000000000) (+.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) -6646139978924579/664613997892457936451903530140172288) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 100000000000000000) (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))))) |
(if (<=.f64 (*.f64 a b) -6646139978924579/664613997892457936451903530140172288) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 (*.f64 a b) 100000000000000000) (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 (*.f64 a b) 1/4)))) |
(if (<=.f64 (*.f64 a b) -49999999999999998584394024780232100424968164183088578953216) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 (*.f64 a b) 9999999999999999438119489974413630815797154428513196965888) (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))))) |
(if (<=.f64 (*.f64 a b) -49999999999999998584394024780232100424968164183088578953216) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 (*.f64 a b) 9999999999999999438119489974413630815797154428513196965888) (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))) |
(if (<=.f64 b -8010324397266307/1978643211784836272484020168157177520281050792809694719312504448743177800852254937362531208489944359916781371408129114714810920274454009679740369240815145343332854177189593088) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 b 2074656888388633/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 b 5069553398462687/43556142965880123323311949751266331066368) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 b 1794875468714224236793859932160) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 b 11500000000000000120425529670065845928457043215077603278848) (+.f64 (*.f64 y x) c) (if (<=.f64 b 10000000000000000508222848402996879704791089448509839788449208028871961714412352270078388372553960191290960287445781834331294577148468377157632) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 b 999999999999999979617044168753715171107129451866841652067632118957448454785561110036171446110395985078602511391629572118883509758736380261518894779920079058604308854941977225917932503040) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 b 2000000000000000112950822041041682829681252763966116749401130328310913127935156394378439523178919965959536338695072724193131961289213847754610320291206559558839567880608124639637128476165182553839199176610603506544803697392590258176) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 b 2149999999999999898074107963305809529218251292484149598370074098894335376855494106464460620537861603635919240698064214485381143558044700143860232576306352787966011572504254814677045879310529583871249277212594113107824987369448371239763622742886393150324080640) (+.f64 (*.f64 y x) c) (if (<=.f64 b 4249999999999999981713237554170037907363188573939176465006025024402204295920875490536614438381730033140373120895339650917931487962756383076570966645270399826069706480125876739175720038665583818728936713592741295545808445118556511026221918670430332910309201847803904152790886241269710848) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (+.f64 (*.f64 y x) c))))))))))) |
(if (<=.f64 b -8010324397266307/1978643211784836272484020168157177520281050792809694719312504448743177800852254937362531208489944359916781371408129114714810920274454009679740369240815145343332854177189593088) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 b 2074656888388633/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (+.f64 c (*.f64 1/16 (*.f64 t z))) (if (<=.f64 b 5069553398462687/43556142965880123323311949751266331066368) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 b 1794875468714224236793859932160) (+.f64 c (*.f64 1/16 (*.f64 t z))) (if (<=.f64 b 11500000000000000120425529670065845928457043215077603278848) (+.f64 c (*.f64 y x)) (if (<=.f64 b 10000000000000000508222848402996879704791089448509839788449208028871961714412352270078388372553960191290960287445781834331294577148468377157632) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 b 999999999999999979617044168753715171107129451866841652067632118957448454785561110036171446110395985078602511391629572118883509758736380261518894779920079058604308854941977225917932503040) (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 b 2000000000000000112950822041041682829681252763966116749401130328310913127935156394378439523178919965959536338695072724193131961289213847754610320291206559558839567880608124639637128476165182553839199176610603506544803697392590258176) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 b 2149999999999999898074107963305809529218251292484149598370074098894335376855494106464460620537861603635919240698064214485381143558044700143860232576306352787966011572504254814677045879310529583871249277212594113107824987369448371239763622742886393150324080640) (+.f64 c (*.f64 y x)) (if (<=.f64 b 4249999999999999981713237554170037907363188573939176465006025024402204295920875490536614438381730033140373120895339650917931487962756383076570966645270399826069706480125876739175720038665583818728936713592741295545808445118556511026221918670430332910309201847803904152790886241269710848) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))) (+.f64 c (*.f64 y x)))))))))))) |
(if (<=.f64 (*.f64 a b) -100000000000000008821361405306422640701865984) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 (*.f64 a b) -2993155353253689/2993155353253689176481146537402947624255349848014848) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) -2894802230932905/14474011154664524427946373126085988481658748083205070504932198000989141204992) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 (*.f64 a b) -5678427533559429/2839213766779714416208296124562517712318911565184836172974571090549372219192960637992933791850638927971728600024477257552869537611776) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 4999999999999999791559868416) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))))))) |
(if (<=.f64 (*.f64 a b) -100000000000000008821361405306422640701865984) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 (*.f64 a b) -2993155353253689/2993155353253689176481146537402947624255349848014848) (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) -2894802230932905/14474011154664524427946373126085988481658748083205070504932198000989141204992) (+.f64 c (*.f64 1/16 (*.f64 t z))) (if (<=.f64 (*.f64 a b) -5678427533559429/2839213766779714416208296124562517712318911565184836172974571090549372219192960637992933791850638927971728600024477257552869537611776) (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 4999999999999999791559868416) (+.f64 c (*.f64 1/16 (*.f64 t z))) (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))))))) |
(if (<=.f64 t -3578853897235187/2449441655328671218473925200700819802261115891310932980616707775308160183158275122807205904404441104841876294862561960570988912251863537292521360689146388717906188066642938460312627143172697498123763712) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 t 6594795192364733/1161731959748268017810986326679609812602547032546401921137321765090578638406565916832162745700122148898280252961088260195667644723081957584211586391486245801392945969099578026517723757683045106929874371704962060317240428677248343818872733547147389127353160238636049931893566678761472) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 t 1836502384636071/2568425733177916751582514591250062824975751856847252861083144972201529372215371495172688738416791235950675277761805770367685269653410060480042878305982363696267199058168185838960773319279454451792623658074112) (+.f64 (*.f64 y x) c) (if (<=.f64 t 5774311724632667/2293498615990071511610820895302086940796564989168281123737588839386922876088484808070018553110125686554624) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 t 27372598177521/28948022309329048855892746252171976963317496166410141009864396001978282409984) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 t 47483082392711/5192296858534827628530496329220096) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 t 1067891242281699/36028797018963968) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 t 169999999999999995546453021296755194706307008289722553445664860276625768448) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 t 10000000000000000597830782460516151851749290252338090708736359498322008205751130936310560341066601403445681992244323541365884452864) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (+.f64 (*.f64 1/16 (*.f64 t z)) c)))))))))) |
(if (<=.f64 t -3578853897235187/2449441655328671218473925200700819802261115891310932980616707775308160183158275122807205904404441104841876294862561960570988912251863537292521360689146388717906188066642938460312627143172697498123763712) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 t 6594795192364733/1161731959748268017810986326679609812602547032546401921137321765090578638406565916832162745700122148898280252961088260195667644723081957584211586391486245801392945969099578026517723757683045106929874371704962060317240428677248343818872733547147389127353160238636049931893566678761472) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 t 1836502384636071/2568425733177916751582514591250062824975751856847252861083144972201529372215371495172688738416791235950675277761805770367685269653410060480042878305982363696267199058168185838960773319279454451792623658074112) (+.f64 c (*.f64 y x)) (if (<=.f64 t 5774311724632667/2293498615990071511610820895302086940796564989168281123737588839386922876088484808070018553110125686554624) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 t 27372598177521/28948022309329048855892746252171976963317496166410141009864396001978282409984) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 t 47483082392711/5192296858534827628530496329220096) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 t 1067891242281699/36028797018963968) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 t 169999999999999995546453021296755194706307008289722553445664860276625768448) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 t 10000000000000000597830782460516151851749290252338090708736359498322008205751130936310560341066601403445681992244323541365884452864) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (+.f64 c (*.f64 1/16 (*.f64 t z)))))))))))) |
(if (<=.f64 a -879999999999999958507063942391341293078620439980425991327011484655074736196101580184131712581632) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 a -8331305519933894265696944128) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 a -1922994918691027/4074071952668972172536891376818756322102936787331872501272280898708762599526673412366794752) (+.f64 (*.f64 y x) c) (if (<=.f64 a -1369170424733123/657516987693546688405123735360016083193792475352896732437285112883591519287135102764208317034698556403372871107022277214127429031272975482890976846331485106244402958891055574773957969735540339658911656466972672) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 a -4967183886466875/39916806190694396233127454260736771321349025208709150830050944848744237837379281315699159309852714021786848936883849904879448759767871873214783435965696628406400113459021713530350754428887259743653067134890878479866616209102417407777777105368960883150142418137515120832847169904606880198557696) (+.f64 (*.f64 y x) c) (+.f64 (*.f64 1/16 (*.f64 t z)) c)))))) |
(if (<=.f64 a -879999999999999958507063942391341293078620439980425991327011484655074736196101580184131712581632) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 a -8331305519933894265696944128) (+.f64 c (*.f64 1/16 (*.f64 t z))) (if (<=.f64 a -1922994918691027/4074071952668972172536891376818756322102936787331872501272280898708762599526673412366794752) (+.f64 c (*.f64 y x)) (if (<=.f64 a -1369170424733123/657516987693546688405123735360016083193792475352896732437285112883591519287135102764208317034698556403372871107022277214127429031272975482890976846331485106244402958891055574773957969735540339658911656466972672) (+.f64 c (*.f64 1/16 (*.f64 t z))) (if (<=.f64 a -4967183886466875/39916806190694396233127454260736771321349025208709150830050944848744237837379281315699159309852714021786848936883849904879448759767871873214783435965696628406400113459021713530350754428887259743653067134890878479866616209102417407777777105368960883150142418137515120832847169904606880198557696) (+.f64 c (*.f64 y x)) (+.f64 c (*.f64 1/16 (*.f64 t z)))))))) |
(if (<=.f64 b -2276640449047675/573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638656) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 b 5057945629258681/441711766194596082395824375185729628956870974218904739530401550323154944) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 b 2138303086320793/4398046511104) (+.f64 (*.f64 y x) c) (if (<=.f64 b 10200000000000000621423919753026934057083457562046272401518147178481984028540928) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 b 1550000000000000100626514996523646205052654078358212506446285373342462566996680185260894607870308957342410274810817687037987160234119176681152459773573300954226587263291337575220698307989663121408) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 b 419999999999999973992224492943769515117226154171216241261454658571411506879612514597715134860394628838496469769374130952273555881673838272450193959189347306050904490037667736779721336903821971111565107369609503152484162474346796848056911431144632473261188082099021696323972937297520737910784) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (+.f64 (*.f64 y x) c))))))) |
(if (<=.f64 b -2276640449047675/573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638656) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 b 5057945629258681/441711766194596082395824375185729628956870974218904739530401550323154944) (+.f64 c (*.f64 1/16 (*.f64 t z))) (if (<=.f64 b 2138303086320793/4398046511104) (+.f64 c (*.f64 y x)) (if (<=.f64 b 10200000000000000621423919753026934057083457562046272401518147178481984028540928) (+.f64 c (*.f64 1/16 (*.f64 t z))) (if (<=.f64 b 1550000000000000100626514996523646205052654078358212506446285373342462566996680185260894607870308957342410274810817687037987160234119176681152459773573300954226587263291337575220698307989663121408) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 b 419999999999999973992224492943769515117226154171216241261454658571411506879612514597715134860394628838496469769374130952273555881673838272450193959189347306050904490037667736779721336903821971111565107369609503152484162474346796848056911431144632473261188082099021696323972937297520737910784) (+.f64 c (*.f64 1/16 (*.f64 t z))) (+.f64 c (*.f64 y x)))))))) |
(if (<=.f64 b -5136181507849877/143343663499379469475676305956380433799785311823017570233599302461682679755530300504376159569382855409664) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 b 4650510231605673/5164499756173817179311838344006023748659411585658447025661318713081295244033682389259290706560275662871806343945494986752) (+.f64 (*.f64 y x) c) (if (<=.f64 b 2119596656859555/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 b 11500000000000000120425529670065845928457043215077603278848) (+.f64 (*.f64 y x) c) (if (<=.f64 b 509999999999999973119502929338104769456966078680513336036570771749400500731561389616658449373592156006326358418795642204090736571906212757504) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 b 730000000000000037391668303784325757831176237460949261484165381120381399327790526050450291402167436707870261051682460593038110991950785359638420996543741952) (+.f64 (*.f64 y x) c) (if (<=.f64 b 349999999999999987045660426466893192810038112540410661816788739318555054250209106943300580971443533231712310790740585608701928492892797695648736692705265827415274187176706084214617606526973007435051420870458212352) (*.f64 a (*.f64 b -1/4)) (+.f64 (*.f64 y x) c)))))))) |
(if (<=.f64 b -5136181507849877/143343663499379469475676305956380433799785311823017570233599302461682679755530300504376159569382855409664) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 b 4650510231605673/5164499756173817179311838344006023748659411585658447025661318713081295244033682389259290706560275662871806343945494986752) (+.f64 c (*.f64 y x)) (if (<=.f64 b 2119596656859555/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 b 11500000000000000120425529670065845928457043215077603278848) (+.f64 c (*.f64 y x)) (if (<=.f64 b 509999999999999973119502929338104769456966078680513336036570771749400500731561389616658449373592156006326358418795642204090736571906212757504) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 b 730000000000000037391668303784325757831176237460949261484165381120381399327790526050450291402167436707870261051682460593038110991950785359638420996543741952) (+.f64 c (*.f64 y x)) (if (<=.f64 b 349999999999999987045660426466893192810038112540410661816788739318555054250209106943300580971443533231712310790740585608701928492892797695648736692705265827415274187176706084214617606526973007435051420870458212352) (*.f64 a (*.f64 b -1/4)) (+.f64 c (*.f64 y x))))))))) |
(if (<=.f64 c -78087156466990183230250997021601969198265598006493671403760386048) c (if (<=.f64 c -6456694367661259/274877906944) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c -458833435132479/3936100983140358674171118325863157261303419813782882110237782515784158576702511753696331798193284779002326689610310857585686054524054270515222392815820422596546908348791339130466666204306680269934417552562141332061201544797059608540225005885713074181150932467712) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 c 902891219083735/594806763391113225119224999259960224052504080663757783622308743726376262864161749418067325798462540235919489516077189220181834098217962283116332232440957850313188336178983949577074563933719094748095678312940574882427099482751152035262839576139463233204818042181657565129506139525873664) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 3791901068346781/2335969596222563951944279862118549158345332995711262684456546569164428885610842821891027359394494156686664862501680336543072616817344224255105362595697773664385021273272455654442431586430261133312) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 c 6176324715384883/576460752303423488) (*.f64 y x) (if (<=.f64 c 571427045476943708290240676035754327286726818611806722850816) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 c 18150670797198870870816109970726220012165214965813398300933776314678046888366863598036025606144) (*.f64 a (*.f64 b -1/4)) c)))))))) |
(if (<=.f64 c -78087156466990183230250997021601969198265598006493671403760386048) c (if (<=.f64 c -6456694367661259/274877906944) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c -458833435132479/3936100983140358674171118325863157261303419813782882110237782515784158576702511753696331798193284779002326689610310857585686054524054270515222392815820422596546908348791339130466666204306680269934417552562141332061201544797059608540225005885713074181150932467712) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 c 902891219083735/594806763391113225119224999259960224052504080663757783622308743726376262864161749418067325798462540235919489516077189220181834098217962283116332232440957850313188336178983949577074563933719094748095678312940574882427099482751152035262839576139463233204818042181657565129506139525873664) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 3791901068346781/2335969596222563951944279862118549158345332995711262684456546569164428885610842821891027359394494156686664862501680336543072616817344224255105362595697773664385021273272455654442431586430261133312) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 c 6176324715384883/576460752303423488) (*.f64 y x) (if (<=.f64 c 571427045476943708290240676035754327286726818611806722850816) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 c 18150670797198870870816109970726220012165214965813398300933776314678046888366863598036025606144) (*.f64 a (*.f64 b -1/4)) c)))))))) |
(if (<=.f64 c -24614029412092991026595048744224346948118756850499611739717369856) c (if (<=.f64 c 3791901068346781/2335969596222563951944279862118549158345332995711262684456546569164428885610842821891027359394494156686664862501680336543072616817344224255105362595697773664385021273272455654442431586430261133312) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 c 6176324715384883/576460752303423488) (*.f64 y x) (if (<=.f64 c 953843906711909419136335900486224840305013802480134443331257592666353894751980579567819554816) (*.f64 (*.f64 1/16 t) z) (if (<=.f64 c 7349731980644859168764032721895208261180982046666963641225128063426982931287060295673849770407512246321152) (*.f64 y x) c))))) |
(if (<=.f64 c -24614029412092991026595048744224346948118756850499611739717369856) c (if (<=.f64 c 3791901068346781/2335969596222563951944279862118549158345332995711262684456546569164428885610842821891027359394494156686664862501680336543072616817344224255105362595697773664385021273272455654442431586430261133312) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 c 6176324715384883/576460752303423488) (*.f64 y x) (if (<=.f64 c 953843906711909419136335900486224840305013802480134443331257592666353894751980579567819554816) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 c 7349731980644859168764032721895208261180982046666963641225128063426982931287060295673849770407512246321152) (*.f64 y x) c))))) |
(if (<=.f64 c -48149245380037888976626900795392) c (if (<=.f64 c 7349731980644859168764032721895208261180982046666963641225128063426982931287060295673849770407512246321152) (*.f64 y x) c)) |
c |
Compiled 894 to 522 computations (41.6% 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 | 3259 |
| 1 | 71 | 3251 |
| 2 | 168 | 3113 |
| 3 | 442 | 3113 |
| 4 | 718 | 3113 |
| 5 | 1151 | 3113 |
| 6 | 2126 | 3113 |
| 7 | 2958 | 3113 |
| 8 | 3348 | 3113 |
| 9 | 3454 | 3113 |
| 10 | 3454 | 3113 |
| 11 | 3751 | 3113 |
| 12 | 3751 | 3113 |
| 1× | saturated |
Compiled 302 to 211 computations (30.1% saved)
(sort a b)
(sort z t)
(sort x y)
Compiled 922 to 476 computations (48.4% saved)
Loading profile data...