Time bar (total: 18.0s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.7% | 0.3% | 0 |
| 0% | 99.7% | 0.3% | 1 |
| 0% | 99.7% | 0.3% | 2 |
| 0% | 99.7% | 0.3% | 3 |
| 0% | 99.7% | 0.3% | 4 |
| 0% | 99.7% | 0.3% | 5 |
| 0% | 99.7% | 0.3% | 6 |
| 0% | 99.7% | 0.3% | 7 |
| 0% | 99.7% | 0.3% | 8 |
| 0% | 99.7% | 0.3% | 9 |
| 0% | 99.7% | 0.3% | 10 |
| 0% | 99.7% | 0.3% | 11 |
| 0% | 99.7% | 0.3% | 12 |
Compiled 28 to 20 computations (28.6% saved)
| 1.8s | 8256× | body | 256 | valid |
| 841.0ms | 4648× | body | 256 | invalid |
| 2× | egg-herbie |
| 870× | sub-neg_binary64 |
| 619× | fma-neg_binary64 |
| 567× | fma-def_binary64 |
| 428× | associate-+l+_binary64 |
| 390× | associate--r+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 111 | 496 |
| 1 | 369 | 432 |
| 2 | 1332 | 400 |
| 3 | 6765 | 400 |
| 0 | 6 | 6 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
2 |
3 |
4 |
5 |
| Outputs |
|---|
0 |
1 |
2 |
3 |
4 |
5 |
| Inputs |
|---|
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (-.f64 (-.f64 y (*.f64 (-.f64 x 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 x t) 2) b)) |
(+.f64 (-.f64 (-.f64 z (*.f64 (-.f64 y 1) x)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (-.f64 (-.f64 t (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 x 1) a)) (*.f64 (-.f64 (+.f64 y x) 2) b)) |
(+.f64 (-.f64 (-.f64 a (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) x)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (-.f64 (-.f64 b (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) x)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 z 1) y)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 z t) 2) b)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 t 1) z)) (*.f64 (-.f64 y 1) a)) (*.f64 (-.f64 (+.f64 t y) 2) b)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 a 1) z)) (*.f64 (-.f64 t 1) y)) (*.f64 (-.f64 (+.f64 a t) 2) b)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 b 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 b t) 2) y)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) t)) (*.f64 (-.f64 z 1) a)) (*.f64 (-.f64 (+.f64 y z) 2) b)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) a)) (*.f64 (-.f64 t 1) z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) b)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) z)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 a 1) t)) (*.f64 (-.f64 (+.f64 y a) 2) b)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 b 1) a)) (*.f64 (-.f64 (+.f64 y b) 2) t)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) b)) (*.f64 (-.f64 (+.f64 y t) 2) a)) |
| Outputs |
|---|
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (-.f64 x (+.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a))) (*.f64 (+.f64 y (-.f64 t 2)) b)) |
(fma.f64 (-.f64 (+.f64 y t) 2) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) |
(fma.f64 (+.f64 t (-.f64 y 2)) b (fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))) |
(+.f64 (-.f64 (-.f64 y (*.f64 (-.f64 x 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 x t) 2) b)) |
(+.f64 (-.f64 y (+.f64 (*.f64 z (+.f64 x -1)) (*.f64 (+.f64 t -1) a))) (*.f64 b (+.f64 x (-.f64 t 2)))) |
(fma.f64 b (+.f64 x (+.f64 t -2)) (-.f64 y (fma.f64 z (+.f64 x -1) (*.f64 (+.f64 t -1) a)))) |
(fma.f64 b (+.f64 x (+.f64 t -2)) (fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 x) y))) |
(+.f64 (-.f64 (-.f64 z (*.f64 (-.f64 y 1) x)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) (-.f64 z (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 (+.f64 t -1) a)))) |
(fma.f64 (-.f64 (+.f64 y t) 2) b (-.f64 z (fma.f64 x (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) |
(fma.f64 (+.f64 t (-.f64 y 2)) b (fma.f64 a (-.f64 1 t) (fma.f64 x (-.f64 1 y) z))) |
(+.f64 (-.f64 (-.f64 t (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 x 1) a)) (*.f64 (-.f64 (+.f64 y x) 2) b)) |
(+.f64 (-.f64 (-.f64 t (*.f64 (+.f64 y -1) z)) (*.f64 a (+.f64 x -1))) (*.f64 b (+.f64 y (-.f64 x 2)))) |
(fma.f64 b (+.f64 x (+.f64 y -2)) (-.f64 t (fma.f64 (+.f64 y -1) z (*.f64 a (+.f64 x -1))))) |
(fma.f64 b (+.f64 x (-.f64 y 2)) (fma.f64 a (-.f64 1 x) (fma.f64 z (-.f64 1 y) t))) |
(+.f64 (-.f64 (-.f64 a (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) x)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) (-.f64 a (+.f64 (*.f64 (+.f64 y -1) z) (*.f64 x (+.f64 t -1))))) |
(fma.f64 (-.f64 (+.f64 y t) 2) b (-.f64 a (fma.f64 (+.f64 y -1) z (*.f64 x (+.f64 t -1))))) |
(fma.f64 (+.f64 t (-.f64 y 2)) b (fma.f64 x (-.f64 1 t) (fma.f64 z (-.f64 1 y) a))) |
(+.f64 (-.f64 (-.f64 b (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) x)) |
(+.f64 (-.f64 b (+.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a))) (*.f64 x (+.f64 y (-.f64 t 2)))) |
(fma.f64 x (-.f64 (+.f64 y t) 2) (-.f64 b (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) |
(fma.f64 x (+.f64 t (-.f64 y 2)) (fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) b))) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 z 1) y)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 z t) 2) b)) |
(+.f64 (-.f64 x (+.f64 (*.f64 y (+.f64 z -1)) (*.f64 (+.f64 t -1) a))) (*.f64 b (+.f64 z (-.f64 t 2)))) |
(fma.f64 b (+.f64 t (+.f64 z -2)) (-.f64 x (fma.f64 y (+.f64 z -1) (*.f64 (+.f64 t -1) a)))) |
(fma.f64 b (+.f64 z (+.f64 t -2)) (fma.f64 a (-.f64 1 t) (fma.f64 y (-.f64 1 z) x))) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 t 1) z)) (*.f64 (-.f64 y 1) a)) (*.f64 (-.f64 (+.f64 t y) 2) b)) |
(-.f64 (-.f64 x (*.f64 z (+.f64 t -1))) (-.f64 (*.f64 (+.f64 y -1) a) (*.f64 (+.f64 y (-.f64 t 2)) b))) |
(fma.f64 (-.f64 (+.f64 y t) 2) b (-.f64 x (fma.f64 (+.f64 y -1) a (*.f64 z (+.f64 t -1))))) |
(fma.f64 (+.f64 t (-.f64 y 2)) b (fma.f64 z (-.f64 1 t) (fma.f64 a (-.f64 1 y) x))) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 a 1) z)) (*.f64 (-.f64 t 1) y)) (*.f64 (-.f64 (+.f64 a t) 2) b)) |
(+.f64 (-.f64 x (+.f64 (*.f64 z (+.f64 a -1)) (*.f64 y (+.f64 t -1)))) (*.f64 b (+.f64 a (-.f64 t 2)))) |
(fma.f64 b (+.f64 t (+.f64 a -2)) (-.f64 x (fma.f64 z (+.f64 a -1) (*.f64 y (+.f64 t -1))))) |
(fma.f64 b (+.f64 t (+.f64 a -2)) (fma.f64 y (-.f64 1 t) (fma.f64 z (-.f64 1 a) x))) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 b 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 b t) 2) y)) |
(-.f64 (-.f64 x (*.f64 z (+.f64 b -1))) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 y (+.f64 b (-.f64 t 2))))) |
(fma.f64 y (+.f64 t (-.f64 b 2)) (-.f64 x (fma.f64 z (+.f64 b -1) (*.f64 (+.f64 t -1) a)))) |
(fma.f64 y (+.f64 t (-.f64 b 2)) (fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 b) x))) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) t)) (*.f64 (-.f64 z 1) a)) (*.f64 (-.f64 (+.f64 y z) 2) b)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (+.f64 y -1) t)) (*.f64 a (+.f64 z -1))) (*.f64 b (+.f64 y (-.f64 z 2)))) |
(fma.f64 b (+.f64 y (+.f64 z -2)) (-.f64 x (fma.f64 (+.f64 y -1) t (*.f64 a (+.f64 z -1))))) |
(fma.f64 b (+.f64 y (+.f64 z -2)) (fma.f64 a (-.f64 1 z) (fma.f64 t (-.f64 1 y) x))) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) a)) (*.f64 (-.f64 t 1) z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(-.f64 (-.f64 x (*.f64 z (+.f64 t -1))) (-.f64 (*.f64 (+.f64 y -1) a) (*.f64 (+.f64 y (-.f64 t 2)) b))) |
(fma.f64 (-.f64 (+.f64 y t) 2) b (-.f64 x (fma.f64 (+.f64 y -1) a (*.f64 z (+.f64 t -1))))) |
(fma.f64 (+.f64 t (-.f64 y 2)) b (fma.f64 z (-.f64 1 t) (fma.f64 a (-.f64 1 y) x))) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) b)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) z)) |
(+.f64 (-.f64 x (+.f64 (*.f64 (+.f64 y -1) b) (*.f64 (+.f64 t -1) a))) (*.f64 z (+.f64 y (-.f64 t 2)))) |
(fma.f64 z (-.f64 (+.f64 y t) 2) (-.f64 x (fma.f64 (+.f64 y -1) b (*.f64 (+.f64 t -1) a)))) |
(fma.f64 z (+.f64 t (-.f64 y 2)) (fma.f64 a (-.f64 1 t) (fma.f64 b (-.f64 1 y) x))) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 a 1) t)) (*.f64 (-.f64 (+.f64 y a) 2) b)) |
(-.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (-.f64 (*.f64 t (+.f64 a -1)) (*.f64 b (+.f64 y (-.f64 a 2))))) |
(fma.f64 b (+.f64 y (+.f64 a -2)) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 t (+.f64 a -1))))) |
(fma.f64 b (+.f64 a (-.f64 y 2)) (fma.f64 t (-.f64 1 a) (fma.f64 z (-.f64 1 y) x))) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 b 1) a)) (*.f64 (-.f64 (+.f64 y b) 2) t)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 a (+.f64 b -1))) (*.f64 t (+.f64 y (-.f64 b 2)))) |
(fma.f64 t (+.f64 y (-.f64 b 2)) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 a (+.f64 b -1))))) |
(fma.f64 t (+.f64 y (-.f64 b 2)) (fma.f64 a (-.f64 1 b) (fma.f64 z (-.f64 1 y) x))) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) b)) (*.f64 (-.f64 (+.f64 y t) 2) a)) |
(+.f64 (-.f64 x (+.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) b))) (*.f64 a (+.f64 y (-.f64 t 2)))) |
(fma.f64 a (-.f64 (+.f64 y t) 2) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) b)))) |
(fma.f64 a (+.f64 t (-.f64 y 2)) (fma.f64 b (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))) |
Compiled 33 to 25 computations (24.2% saved)
| 1× | egg-herbie |
| 494× | fma-neg_binary64 |
| 475× | distribute-neg-in_binary64 |
| 457× | associate--l-_binary64 |
| 357× | associate--r-_binary64 |
| 346× | neg-sub0_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 31 |
| 1 | 49 | 27 |
| 2 | 145 | 25 |
| 3 | 591 | 25 |
| 4 | 2190 | 25 |
| 5 | 5456 | 25 |
| 6 | 6896 | 25 |
| 7 | 7920 | 25 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| Outputs |
|---|
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (-.f64 x (+.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a))) (*.f64 (+.f64 y (-.f64 t 2)) b)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (-.f64 y 1) z (*.f64 (+.f64 t -1) a)))) |
(fma.f64 (+.f64 t (+.f64 y -2)) b (fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))) |
(fma.f64 (+.f64 (+.f64 y t) -2) b (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
Compiled 45 to 29 computations (35.6% saved)
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0b | (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
| ▶ | 0.0b | (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
Compiled 51 to 35 computations (31.4% saved)
Found 8 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) | |
| 0.0b | (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) | |
| 0.0b | (*.f64 (-.f64 y 1) z) | |
| 0.0b | (-.f64 x (*.f64 (-.f64 y 1) z)) | |
| ✓ | 0.0b | (*.f64 (-.f64 y 1) z) |
| ✓ | 0.0b | (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) |
| ✓ | 0.0b | (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| ✓ | 0.0b | (*.f64 (-.f64 (+.f64 y t) 2) b) |
Compiled 86 to 48 computations (44.2% saved)
48 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 15.0ms | y | @ | inf | (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) |
| 8.0ms | y | @ | 0 | (*.f64 (-.f64 (+.f64 y t) 2) b) |
| 2.0ms | a | @ | -inf | (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 1.0ms | y | @ | 0 | (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 1.0ms | a | @ | inf | (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 1× | batch-egg-rewrite |
| 414× | expm1-udef_binary64 |
| 414× | log1p-udef_binary64 |
| 246× | add-sqr-sqrt_binary64 |
| 240× | *-un-lft-identity_binary64 |
| 240× | pow1_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 67 |
| 1 | 454 | 61 |
| 2 | 6959 | 61 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) |
(*.f64 (-.f64 y 1) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y b) (*.f64 (+.f64 t -2) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y t) b) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b y) (*.f64 b (+.f64 t -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b (+.f64 y t)) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 t (-.f64 y 2)) b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (+.f64 y t) 3) -8) b) (+.f64 (pow.f64 (+.f64 y t) 2) (+.f64 4 (*.f64 (+.f64 y t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (+.f64 y t) 2) -4) b) (+.f64 y (+.f64 t 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (+.f64 (pow.f64 (+.f64 y t) 3) -8)) (+.f64 (pow.f64 (+.f64 y t) 2) (+.f64 4 (*.f64 (+.f64 y t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (+.f64 (pow.f64 (+.f64 y t) 2) -4)) (+.f64 y (+.f64 t 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 t (-.f64 y 2))) b))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 t (-.f64 y 2)) b))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x (+.f64 (*.f64 (+.f64 y -1) z) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (-.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t (-.f64 y 2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t (-.f64 y 2)) b)))) (/.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2) (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t (-.f64 y 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) x) (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (*.f64 (+.f64 y -1) z))) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) 2) (cbrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) (sqrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3)) (/.f64 1 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2)) (/.f64 1 (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t (-.f64 y 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))) (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t (-.f64 y 2)) b))) (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3)) (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2) (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2)) (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3))) (neg.f64 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2))) (neg.f64 (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t (-.f64 y 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 3) (pow.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)) 3)) (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (+.f64 (*.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))) (*.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (*.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)))) (+.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2) (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2)) (-.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 t (-.f64 y 2)) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 y -1) z)) (neg.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (*.f64 (+.f64 t (-.f64 y 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2)) (cbrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) (*.f64 (+.f64 t (-.f64 y 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2)) (cbrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (neg.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2)) (cbrt.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) (*.f64 (+.f64 t (-.f64 y 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (neg.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) (sqrt.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (-.f64 (*.f64 (+.f64 y -1) (neg.f64 z)) (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (+.f64 (*.f64 (+.f64 y -1) (neg.f64 z)) (*.f64 (+.f64 t -1) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (*.f64 (+.f64 t -1) (neg.f64 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (fma.f64 (*.f64 (+.f64 t -1) (neg.f64 a)) 1 (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.f64 a) (+.f64 t -1) (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (fma.f64 (+.f64 (neg.f64 t) 1) a (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (+.f64 t -1) a))) (cbrt.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (+.f64 t -1) a))) (sqrt.f64 (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 t -1) (neg.f64 a)) (-.f64 x (*.f64 (+.f64 y -1) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2)) (cbrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 3) (pow.f64 (*.f64 (+.f64 t -1) a) 3)) (/.f64 1 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (*.f64 (*.f64 (+.f64 t -1) a) (+.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (/.f64 1 (+.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (sqrt.f64 (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (*.f64 (*.f64 (+.f64 t -1) a) (+.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) a)))) (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 3) (pow.f64 (*.f64 (+.f64 t -1) a) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) a)) (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (pow.f64 (*.f64 (+.f64 t -1) a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 3) (pow.f64 (*.f64 (+.f64 t -1) a) 3)) (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (*.f64 (*.f64 (+.f64 t -1) a) (+.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (+.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 3) (pow.f64 (*.f64 (+.f64 t -1) a) 3))) (neg.f64 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (*.f64 (*.f64 (+.f64 t -1) a) (+.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (pow.f64 (*.f64 (+.f64 t -1) a) 2))) (neg.f64 (+.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) 3)) (+.f64 (*.f64 x x) (+.f64 (*.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (*.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 3) (pow.f64 (*.f64 (+.f64 t -1) (neg.f64 a)) 3)) (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (-.f64 (*.f64 (*.f64 (+.f64 t -1) (neg.f64 a)) (*.f64 (+.f64 t -1) (neg.f64 a))) (*.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) (neg.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) (+.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (*.f64 (*.f64 (+.f64 t -1) (neg.f64 a)) (*.f64 (+.f64 t -1) (neg.f64 a)))) (-.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (neg.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2)) (cbrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (*.f64 (+.f64 t -1) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (neg.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (*.f64 (+.f64 t -1) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y z) (*.f64 -1 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z y) (*.f64 z -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 y -1) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 y 3) -1) z) (fma.f64 y y (+.f64 y 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 y y -1) z) (+.f64 y 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 (pow.f64 y 3) -1)) (fma.f64 y y (+.f64 y 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (fma.f64 y y -1)) (+.f64 y 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 y -1) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 y -1) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 y -1) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 y -1) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 y -1) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y -1) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 y -1) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 y -1) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 y -1) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 y -1) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 y -1) z))))))) |
| 1× | egg-herbie |
| 660× | sub-neg_binary64 |
| 562× | unsub-neg_binary64 |
| 525× | fma-def_binary64 |
| 417× | neg-sub0_binary64 |
| 398× | distribute-neg-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 105 | 2910 |
| 1 | 366 | 2692 |
| 2 | 1032 | 2686 |
| 3 | 3752 | 2686 |
| 4 | 4759 | 2686 |
| 5 | 6645 | 2686 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 b (-.f64 t 2)) |
(+.f64 (*.f64 y b) (*.f64 b (-.f64 t 2))) |
(+.f64 (*.f64 y b) (*.f64 b (-.f64 t 2))) |
(+.f64 (*.f64 y b) (*.f64 b (-.f64 t 2))) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b)) |
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b)) |
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b)) |
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b)) |
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b)) |
(*.f64 (-.f64 y 2) b) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(-.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
x |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
x |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(*.f64 (-.f64 b z) y) |
(-.f64 (+.f64 (*.f64 b (-.f64 t 2)) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 b (-.f64 t 2)) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 b (-.f64 t 2)) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) (+.f64 (*.f64 b (-.f64 t 2)) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) (+.f64 (*.f64 b (-.f64 t 2)) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) (+.f64 (*.f64 b (-.f64 t 2)) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) (*.f64 (-.f64 t 1) a)) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 y 2) b) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(*.f64 t (-.f64 b a)) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(*.f64 a (-.f64 1 t)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(*.f64 -1 (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
x |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
x |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(-.f64 x (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(*.f64 -1 (*.f64 y z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(*.f64 -1 (*.f64 y z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(*.f64 -1 (*.f64 a t)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(*.f64 -1 (*.f64 a t)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(*.f64 a (-.f64 1 t)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(*.f64 -1 (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1))) |
(*.f64 -1 z) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(*.f64 y z) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 y z) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (-.f64 y 1)) |
| Outputs |
|---|
(*.f64 b (-.f64 t 2)) |
(*.f64 b (+.f64 t -2)) |
(+.f64 (*.f64 y b) (*.f64 b (-.f64 t 2))) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(+.f64 (*.f64 y b) (*.f64 b (-.f64 t 2))) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(+.f64 (*.f64 y b) (*.f64 b (-.f64 t 2))) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(*.f64 y b) |
(*.f64 b y) |
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(*.f64 y b) |
(*.f64 b y) |
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(*.f64 (-.f64 y 2) b) |
(*.f64 b (+.f64 y -2)) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(*.f64 t b) |
(*.f64 b t) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(*.f64 t b) |
(*.f64 b t) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b)) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(-.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (*.f64 b (+.f64 (+.f64 t y) -2)) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 (-.f64 1 t) a (*.f64 z (-.f64 1 y)))) |
(fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
x |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
x |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 -1 z (*.f64 (+.f64 t -1) a))) |
(-.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 (+.f64 t -1) a (neg.f64 z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 a (-.f64 1 t) z)) |
(fma.f64 b (+.f64 t -2) (+.f64 x (fma.f64 a (-.f64 1 t) z))) |
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(*.f64 (-.f64 b z) y) |
(*.f64 y (-.f64 b z)) |
(-.f64 (+.f64 (*.f64 b (-.f64 t 2)) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 b (-.f64 t 2)) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 b (-.f64 t 2)) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) |
(*.f64 y (-.f64 b z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) (+.f64 (*.f64 b (-.f64 t 2)) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) (+.f64 (*.f64 b (-.f64 t 2)) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) (+.f64 (*.f64 b (-.f64 t 2)) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (fma.f64 b (+.f64 y -2) (fma.f64 t (-.f64 b a) x)) a) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(*.f64 z (-.f64 1 y)) |
(fma.f64 y (neg.f64 z) z) |
(-.f64 z (*.f64 y z)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(*.f64 z (-.f64 1 y)) |
(fma.f64 y (neg.f64 z) z) |
(-.f64 z (*.f64 y z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 y 2) b) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (fma.f64 (+.f64 y -2) b x) (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 b (+.f64 y -2) (+.f64 (fma.f64 z (-.f64 1 y) x) a)) |
(+.f64 x (fma.f64 b (+.f64 y -2) (fma.f64 z (-.f64 1 y) a))) |
(+.f64 (fma.f64 b (+.f64 y -2) x) (fma.f64 z (-.f64 1 y) a)) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(*.f64 t (-.f64 b a)) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) |
(*.f64 t (-.f64 b a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (*.f64 z (+.f64 -1 y))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(*.f64 a (-.f64 1 t)) |
(-.f64 a (*.f64 t a)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(*.f64 -1 (*.f64 (-.f64 t 1) a)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 a (*.f64 t a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))) |
(*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(neg.f64 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 (-.f64 1 t) a (*.f64 z (-.f64 1 y))) |
(-.f64 z (fma.f64 y z (*.f64 (+.f64 t -1) a))) |
(-.f64 z (fma.f64 y z (fma.f64 t a (neg.f64 a)))) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
x |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
x |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 x (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 x (fma.f64 -1 z (*.f64 (+.f64 t -1) a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (neg.f64 z))) |
(+.f64 z (fma.f64 a (-.f64 1 t) x)) |
(+.f64 x (fma.f64 a (-.f64 1 t) z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 z (neg.f64 y)) |
(*.f64 y (neg.f64 z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 z (neg.f64 y)) |
(*.f64 y (neg.f64 z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) x) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 z (-.f64 1 y)) |
(fma.f64 y (neg.f64 z) z) |
(-.f64 z (*.f64 y z)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(*.f64 z (-.f64 1 y)) |
(fma.f64 y (neg.f64 z) z) |
(-.f64 z (*.f64 y z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 x (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 x (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(+.f64 (fma.f64 z (-.f64 1 y) x) a) |
(fma.f64 z (-.f64 1 y) (+.f64 x a)) |
(+.f64 a (fma.f64 z (-.f64 1 y) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 -1 (*.f64 a t)) |
(neg.f64 (*.f64 t a)) |
(*.f64 a (neg.f64 t)) |
(*.f64 t (neg.f64 a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 -1 (*.f64 a t)) |
(neg.f64 (*.f64 t a)) |
(*.f64 a (neg.f64 t)) |
(*.f64 t (neg.f64 a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(-.f64 x (*.f64 z (+.f64 -1 y))) |
(fma.f64 z (-.f64 1 y) x) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 a (*.f64 t a)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 -1 (*.f64 (-.f64 t 1) a)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 a (*.f64 t a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y)))) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 -1 z) |
(neg.f64 z) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 y z) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 y z) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 y z) z) |
(fma.f64 y z (neg.f64 z)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) | |
| ✓ | 0.0b | (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
Compiled 63 to 36 computations (42.9% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 11.0ms | z | @ | inf | (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
| 1.0ms | z | @ | 0 | (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
| 1.0ms | z | @ | -inf | (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
| 1.0ms | y | @ | 0 | (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
| 1.0ms | a | @ | 0 | (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
| 1× | batch-egg-rewrite |
| 524× | log-prod_binary64 |
| 392× | prod-diff_binary64 |
| 329× | pow-prod-down_binary64 |
| 316× | pow2_binary64 |
| 217× | pow1/3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 15 |
| 1 | 230 | 15 |
| 2 | 2937 | 15 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (-.f64 1 t) x) (*.f64 z (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 1 y)) (fma.f64 a (-.f64 1 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z (-.f64 1 y)) 1) (fma.f64 a (-.f64 1 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (-.f64 1 y) (*.f64 a (-.f64 1 t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) 2) (cbrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) (sqrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 3) (pow.f64 (fma.f64 a (-.f64 1 t) x) 3)) (+.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (-.f64 (pow.f64 (fma.f64 a (-.f64 1 t) x) 2) (*.f64 (*.f64 z (-.f64 1 y)) (fma.f64 a (-.f64 1 t) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (pow.f64 (fma.f64 a (-.f64 1 t) x) 2)) (-.f64 (*.f64 z (-.f64 1 y)) (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 a (-.f64 1 t) x)) (exp.f64 (*.f64 z (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a (-.f64 1 t) x))) (exp.f64 (*.f64 z (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 z (-.f64 1 y))) (+.f64 1 (expm1.f64 (fma.f64 a (-.f64 1 t) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))))))) |
| 1× | egg-herbie |
| 1973× | fma-neg_binary64 |
| 606× | fma-def_binary64 |
| 367× | sub-neg_binary64 |
| 271× | unsub-neg_binary64 |
| 249× | distribute-neg-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 27 | 781 |
| 1 | 77 | 781 |
| 2 | 191 | 781 |
| 3 | 475 | 781 |
| 4 | 1388 | 781 |
| 5 | 2974 | 781 |
| 6 | 4462 | 781 |
| 7 | 4834 | 781 |
| 8 | 4869 | 781 |
| 9 | 4869 | 781 |
| 10 | 4928 | 781 |
| 11 | 4949 | 781 |
| 12 | 4949 | 781 |
| 13 | 6081 | 781 |
| 14 | 6081 | 781 |
| 15 | 6081 | 781 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 z x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(*.f64 a (-.f64 1 t)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(*.f64 a (-.f64 1 t)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 a (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(*.f64 -1 (*.f64 a t)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(*.f64 -1 (*.f64 a t)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(+.f64 (*.f64 a (-.f64 1 t)) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
x |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
x |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
| Outputs |
|---|
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 z x)) |
(fma.f64 a (-.f64 1 t) (+.f64 x z)) |
(+.f64 x (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 a (*.f64 a t)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 a (*.f64 a t)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 a (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 a (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 z (-.f64 1 y) a)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(*.f64 -1 (*.f64 a t)) |
(neg.f64 (*.f64 a t)) |
(*.f64 t (neg.f64 a)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(*.f64 -1 (*.f64 a t)) |
(neg.f64 (*.f64 a t)) |
(*.f64 t (neg.f64 a)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (*.f64 z (-.f64 1 y))) |
(fma.f64 a (-.f64 1 t) (*.f64 z (-.f64 1 y))) |
(fma.f64 a (-.f64 1 t) (-.f64 z (*.f64 z y))) |
(-.f64 (fma.f64 z (-.f64 1 y) a) (*.f64 a t)) |
(-.f64 (+.f64 a z) (fma.f64 a t (*.f64 z y))) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
x |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
x |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
Compiled 6632 to 4035 computations (39.2% saved)
11 alts after pruning (11 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 256 | 11 | 267 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 258 | 11 | 269 |
| Status | Error | Program |
|---|---|---|
| 31.3b | (fma.f64 (+.f64 y (+.f64 t -2)) b x) | |
| 41.8b | (+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) | |
| 48.7b | (-.f64 z (*.f64 y z)) | |
| 47.5b | x | |
| ▶ | 45.9b | (*.f64 a (-.f64 1 t)) |
| ▶ | 14.4b | (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 17.2b | (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) | |
| 49.0b | (*.f64 t (-.f64 b a)) | |
| ▶ | 52.6b | (*.f64 y (-.f64 b z)) |
| ▶ | 46.6b | (*.f64 (-.f64 (+.f64 y t) 2) b) |
| ▶ | 16.4b | (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
Compiled 307 to 226 computations (26.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 (-.f64 (+.f64 y t) 2) b) | |
| 0.0b | (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) | |
| ✓ | 0.0b | (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 0.0b | (*.f64 (-.f64 (+.f64 y t) 2) b) |
Compiled 58 to 31 computations (46.6% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 0.0ms | t | @ | -inf | (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 0.0ms | y | @ | inf | (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 0.0ms | y | @ | 0 | (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 0.0ms | t | @ | 0 | (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 1× | batch-egg-rewrite |
| 827× | log-prod_binary64 |
| 511× | fma-neg_binary64 |
| 318× | expm1-udef_binary64 |
| 318× | log1p-udef_binary64 |
| 248× | log-pow_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 22 |
| 1 | 351 | 20 |
| 2 | 5227 | 20 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 2) (-.f64 x (+.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)))) (/.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2) (-.f64 x (+.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) x) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a)))) 2) (cbrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 3) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3)) (/.f64 1 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 2) (*.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 2) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2)) (/.f64 1 (-.f64 x (+.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 2) (*.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (*.f64 (+.f64 t -1) a))))) (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 3) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (+.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))) (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 2) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 3) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3)) (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 2) (*.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 3) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2) (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 2) (*.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t (-.f64 y 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 2) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2)) (-.f64 x (+.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 3) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3))) (neg.f64 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 2) (*.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 2) (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2))) (neg.f64 (-.f64 x (+.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)) 3)) (+.f64 (*.f64 x x) (+.f64 (*.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))) (*.f64 x (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)))) (+.f64 x (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2) (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 2)) (-.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 x) (/.f64 (pow.f64 (exp.f64 a) (+.f64 t -1)) (pow.f64 (exp.f64 b) (+.f64 t (-.f64 y 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 x)) (/.f64 (pow.f64 (exp.f64 a) (+.f64 t -1)) (pow.f64 (exp.f64 b) (+.f64 t (-.f64 y 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (pow.f64 (exp.f64 b) (+.f64 t (-.f64 y 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 t (-.f64 y 2)) b))) (exp.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 b) (+.f64 t (-.f64 y 2))) (+.f64 1 (expm1.f64 (-.f64 x (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 t (-.f64 y 2)) b))) (+.f64 1 (expm1.f64 (-.f64 x (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (neg.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t (-.f64 y 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 x (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 t (-.f64 y 2)) (-.f64 x (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) 2) (cbrt.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) (-.f64 x (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) 2) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (+.f64 t (-.f64 y 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) (sqrt.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) (-.f64 x (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (+.f64 t (-.f64 y 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (*.f64 (+.f64 t -1) a))))))))) |
| 1× | egg-herbie |
| 745× | fma-neg_binary64 |
| 682× | unsub-neg_binary64 |
| 578× | fma-def_binary64 |
| 547× | sub-neg_binary64 |
| 388× | distribute-rgt-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 49 | 1028 |
| 1 | 150 | 934 |
| 2 | 346 | 930 |
| 3 | 1099 | 928 |
| 4 | 2911 | 928 |
| 5 | 5034 | 928 |
| 6 | 7072 | 928 |
| 7 | 7524 | 928 |
| 8 | 7653 | 928 |
| 9 | 7692 | 928 |
| 10 | 7693 | 928 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
x |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
x |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 y 2) b) x) (*.f64 -1 a)) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(*.f64 t (-.f64 b a)) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(*.f64 a (-.f64 1 t)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(*.f64 -1 (*.f64 (-.f64 t 1) a)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(*.f64 y b) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a)) |
(*.f64 y b) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
| Outputs |
|---|
(-.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (*.f64 (-.f64 t 1) a)) |
(-.f64 (*.f64 (+.f64 (+.f64 y t) -2) b) (*.f64 (+.f64 t -1) a)) |
(fma.f64 (+.f64 t (+.f64 y -2)) b (*.f64 a (-.f64 1 t))) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (*.f64 a (-.f64 1 t))) |
(fma.f64 b (+.f64 y -2) (fma.f64 t (-.f64 b a) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
x |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
x |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 y 2) b) x) (*.f64 -1 a)) |
(-.f64 (fma.f64 (+.f64 y -2) b x) (neg.f64 a)) |
(+.f64 a (fma.f64 b (+.f64 y -2) x)) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(*.f64 t (-.f64 b a)) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) |
(*.f64 t (-.f64 b a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
(fma.f64 (+.f64 (+.f64 y t) -2) b x) |
(fma.f64 (+.f64 t (+.f64 y -2)) b x) |
(fma.f64 (+.f64 y (+.f64 t -2)) b x) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(*.f64 a (-.f64 1 t)) |
(-.f64 a (*.f64 t a)) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(*.f64 -1 (*.f64 (-.f64 t 1) a)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 a (*.f64 t a)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 b (+.f64 t -2) x) (*.f64 (+.f64 t -1) a)) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (*.f64 a (-.f64 1 t))) |
(fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 a (fma.f64 b -2 (fma.f64 t (-.f64 b a) x))) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(*.f64 y b) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(*.f64 y b) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 (+.f64 t -1) a)) |
(+.f64 x (*.f64 a (-.f64 1 t))) |
(fma.f64 a (-.f64 1 t) x) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 (+.f64 (+.f64 y t) -2) b) |
(*.f64 (+.f64 t (+.f64 y -2)) b) |
(*.f64 (+.f64 y (+.f64 t -2)) b) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 (+.f64 (+.f64 y t) -2) b) |
(*.f64 (+.f64 t (+.f64 y -2)) b) |
(*.f64 (+.f64 y (+.f64 t -2)) b) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x)) |
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x))) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 y (-.f64 b z)) | |
| ✓ | 0.0b | (*.f64 y (-.f64 b z)) |
Compiled 17 to 8 computations (52.9% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | 0 | (*.f64 y (-.f64 b z)) |
| 1.0ms | b | @ | -inf | (*.f64 y (-.f64 b z)) |
| 1.0ms | y | @ | inf | (*.f64 y (-.f64 b z)) |
| 0.0ms | y | @ | -inf | (*.f64 y (-.f64 b z)) |
| 0.0ms | b | @ | inf | (*.f64 y (-.f64 b z)) |
| 1× | batch-egg-rewrite |
| 725× | pow1_binary64 |
| 672× | add-log-exp_binary64 |
| 672× | log1p-expm1-u_binary64 |
| 672× | expm1-log1p-u_binary64 |
| 657× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 7 |
| 1 | 129 | 7 |
| 2 | 1780 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (-.f64 b z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b y) (*.f64 (neg.f64 z) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y b) (*.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 y (-.f64 b z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 b 3) (pow.f64 z 3)) y) (fma.f64 b b (*.f64 z (+.f64 b z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 z z)) y) (+.f64 b z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 (pow.f64 b 3) (pow.f64 z 3))) (fma.f64 b b (*.f64 z (+.f64 b z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 (*.f64 b b) (*.f64 z z))) (+.f64 b z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 b z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (-.f64 b z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (-.f64 b z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y (-.f64 b z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (-.f64 b z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) (-.f64 b z)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (-.f64 b z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 b z) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 b z) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (-.f64 b z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (-.f64 b z))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (-.f64 b z)))))))) |
| 1× | egg-herbie |
| 202× | fma-def_binary64 |
| 124× | fma-neg_binary64 |
| 41× | cancel-sign-sub-inv_binary64 |
| 35× | distribute-rgt-in_binary64 |
| 26× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 240 |
| 1 | 22 | 240 |
| 2 | 40 | 240 |
| 3 | 61 | 240 |
| 4 | 92 | 240 |
| 5 | 158 | 240 |
| 6 | 287 | 240 |
| 7 | 419 | 240 |
| 8 | 595 | 240 |
| 9 | 733 | 240 |
| 10 | 745 | 240 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
| Outputs |
|---|
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 (-.f64 b z) y) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(*.f64 z (neg.f64 y)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(*.f64 y b) |
(*.f64 b y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(*.f64 y b) |
(*.f64 b y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(*.f64 y b) |
(*.f64 b y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(*.f64 z (neg.f64 y)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(*.f64 z (neg.f64 y)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(*.f64 (-.f64 b z) y) |
Compiled 17 to 12 computations (29.4% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 (-.f64 (+.f64 y t) 2) b) | |
| 0.0b | (*.f64 (-.f64 (+.f64 y t) 2) b) |
Compiled 25 to 13 computations (48% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 0 | 0 |
| 1× | saturated |
| Inputs |
|---|
| Outputs |
|---|
Found 6 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) | |
| 0.0b | (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))) | |
| 0.0b | (*.f64 z (-.f64 y 1)) | |
| ✓ | 0.0b | (*.f64 z (-.f64 y 1)) |
| ✓ | 0.0b | (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))) |
| ✓ | 0.0b | (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
Compiled 52 to 32 computations (38.5% saved)
33 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
| 0.0ms | z | @ | -inf | (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
| 0.0ms | y | @ | inf | (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
| 0.0ms | y | @ | -inf | (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
| 0.0ms | z | @ | inf | (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
| 1× | batch-egg-rewrite |
| 716× | fma-def_binary64 |
| 708× | log-prod_binary64 |
| 375× | fma-neg_binary64 |
| 264× | expm1-udef_binary64 |
| 264× | log1p-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 38 |
| 1 | 294 | 38 |
| 2 | 4325 | 38 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))) |
(*.f64 z (-.f64 y 1)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (neg.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 -1 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 z) (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 (+.f64 y -1)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2)) (cbrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z (+.f64 y -1)))) (sqrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))) (cbrt.f64 (exp.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3)) (/.f64 1 (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2)) (/.f64 1 (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x)) (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3)) (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3))) (neg.f64 (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2))) (neg.f64 (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3)) (fma.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (-.f64 x (*.f64 (+.f64 t -1) a)) (+.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2) (*.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 z (+.f64 y -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 3)) (fma.f64 x x (-.f64 (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (*.f64 x (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (-.f64 x (*.f64 (+.f64 t -1) a))) (pow.f64 (*.f64 z (+.f64 y -1)) 2)) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))) (-.f64 x (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (/.f64 (exp.f64 x) (pow.f64 (exp.f64 a) (+.f64 t -1))) (pow.f64 (exp.f64 z) (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (+.f64 1 (expm1.f64 (*.f64 z (+.f64 y -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (/.f64 (exp.f64 x) (pow.f64 (exp.f64 a) (+.f64 t -1))) (+.f64 1 (expm1.f64 (*.f64 z (+.f64 y -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (/.f64 1 (exp.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (/.f64 1 (exp.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 t -1) a)) (neg.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 -1 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 z) (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 (+.f64 y -1)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2)) (cbrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z (+.f64 y -1)))) (sqrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2) (neg.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (neg.f64 (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3)) (/.f64 1 (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3)) (/.f64 1 (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3)) (/.f64 1 (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2)) (/.f64 1 (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2)) (/.f64 1 (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2)) (/.f64 1 (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (neg.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 -1 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 z) (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (+.f64 y -1)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2)) (cbrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z (+.f64 y -1)))) (sqrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))) (cbrt.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (neg.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 -1 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 z) (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (+.f64 y -1)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2)) (cbrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z (+.f64 y -1)))) (sqrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (neg.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (*.f64 -1 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 z) (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (+.f64 y -1)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2)) (cbrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z (+.f64 y -1)))) (sqrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2)) (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) x)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1)))) (/.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2) (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y -1)) (-.f64 (*.f64 z (+.f64 y -1)) (*.f64 (+.f64 t -1) a)) (pow.f64 (*.f64 (+.f64 t -1) a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2) (pow.f64 (*.f64 z (+.f64 y -1)) 2)) (/.f64 1 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z (+.f64 y -1)) (-.f64 (*.f64 z (+.f64 y -1)) (*.f64 (+.f64 t -1) a)) (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (+.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1))) (-.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2) (pow.f64 (*.f64 z (+.f64 y -1)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3)) (fma.f64 (*.f64 z (+.f64 y -1)) (-.f64 (*.f64 z (+.f64 y -1)) (*.f64 (+.f64 t -1) a)) (pow.f64 (*.f64 (+.f64 t -1) a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3)) (+.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2) (-.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2) (*.f64 (*.f64 (*.f64 (+.f64 t -1) a) (+.f64 y -1)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2) (pow.f64 (*.f64 z (+.f64 y -1)) 2)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3))) (neg.f64 (fma.f64 (*.f64 z (+.f64 y -1)) (-.f64 (*.f64 z (+.f64 y -1)) (*.f64 (+.f64 t -1) a)) (pow.f64 (*.f64 (+.f64 t -1) a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2) (pow.f64 (*.f64 z (+.f64 y -1)) 2))) (neg.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2) (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (-.f64 (*.f64 z (+.f64 y -1)) (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 t -1) a))) (pow.f64 (exp.f64 z) (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a) (+.f64 t -1)) (+.f64 1 (expm1.f64 (*.f64 z (+.f64 y -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 t -1) a))) (+.f64 1 (expm1.f64 (*.f64 z (+.f64 y -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 y -1)))) (pow.f64 (exp.f64 a) (+.f64 t -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (+.f64 y -1)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 y -1)))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (+.f64 y -1)) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (+.f64 t -1) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 t -1) a) 1 (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 y -1)) 1 (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2) (cbrt.f64 (*.f64 z (+.f64 y -1))) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 y -1)) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 t -1)) 2) (*.f64 (cbrt.f64 (+.f64 t -1)) a) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) (+.f64 t -1)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y -1)) 2) (*.f64 (cbrt.f64 (+.f64 y -1)) z) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (+.f64 t -1) a)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 t -1) a)) 2) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 t -1) a)) 2) (cbrt.f64 (*.f64 (+.f64 t -1) a)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (+.f64 y -1))) (sqrt.f64 (*.f64 z (+.f64 y -1))) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 y -1)) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 t -1)) (*.f64 (sqrt.f64 (+.f64 t -1)) a) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (+.f64 t -1)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y -1)) (*.f64 (sqrt.f64 (+.f64 y -1)) z) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 t -1) a)) (sqrt.f64 (*.f64 (+.f64 t -1) a)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (+.f64 y -1)) 2)) (cbrt.f64 (+.f64 y -1)) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 y -1)) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -1) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -1) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 t -1) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 t -1) (sqrt.f64 a)) (sqrt.f64 a) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (pow.f64 (cbrt.f64 (+.f64 t -1)) 2)) (cbrt.f64 (+.f64 t -1)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 (+.f64 t -1))) (sqrt.f64 (+.f64 t -1)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y z) (*.f64 -1 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z y) (*.f64 z -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (+.f64 y -1))) (cbrt.f64 (pow.f64 (exp.f64 z) (+.f64 y -1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (+.f64 y -1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (+.f64 y -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 y 3) -1) z) (fma.f64 y y (-.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 y y -1) z) (-.f64 y -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 (pow.f64 y 3) -1)) (fma.f64 y y (-.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (fma.f64 y y -1)) (-.f64 y -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (+.f64 y -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (+.f64 y -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z y (*.f64 z -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y z (*.f64 -1 z))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (+.f64 y -1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (+.f64 y -1)))))))) |
| 1× | egg-herbie |
| 1863× | fma-neg_binary64 |
| 479× | fma-def_binary64 |
| 413× | sub-neg_binary64 |
| 303× | unsub-neg_binary64 |
| 277× | associate-+l-_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 53 | 1332 |
| 1 | 169 | 1283 |
| 2 | 439 | 1185 |
| 3 | 1205 | 1185 |
| 4 | 3022 | 1185 |
| 5 | 3616 | 1185 |
| 6 | 4108 | 1185 |
| 7 | 4305 | 1185 |
| 8 | 4325 | 1185 |
| 9 | 4325 | 1185 |
| 10 | 4530 | 1185 |
| 11 | 4562 | 1185 |
| 12 | 4562 | 1185 |
| 13 | 6193 | 1185 |
| 14 | 6193 | 1185 |
| 15 | 6193 | 1185 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
x |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
x |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(-.f64 x (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(*.f64 -1 (*.f64 a t)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(*.f64 -1 (*.f64 a t)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(*.f64 a (-.f64 1 t)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(*.f64 -1 (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(*.f64 -1 (*.f64 y z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(*.f64 -1 (*.f64 y z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(*.f64 a t) |
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a))) |
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a))) |
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a))) |
(*.f64 a t) |
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a))) |
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a))) |
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a))) |
(*.f64 z (-.f64 y 1)) |
(*.f64 (-.f64 t 1) a) |
(*.f64 (-.f64 t 1) a) |
(*.f64 (-.f64 t 1) a) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (-.f64 y 1)) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(*.f64 y z) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a))) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a))) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a))) |
(*.f64 y z) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a))) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a))) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a))) |
(*.f64 -1 z) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(*.f64 y z) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 y z) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
| Outputs |
|---|
(*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(neg.f64 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(-.f64 (*.f64 a (-.f64 1 t)) (fma.f64 z y (neg.f64 z))) |
(-.f64 z (fma.f64 (+.f64 -1 t) a (*.f64 z y))) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
x |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
x |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 x (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(-.f64 x (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(-.f64 x (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(+.f64 a (fma.f64 z (-.f64 1 y) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 -1 (*.f64 a t)) |
(neg.f64 (*.f64 t a)) |
(*.f64 a (neg.f64 t)) |
(*.f64 t (neg.f64 a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 -1 (*.f64 a t)) |
(neg.f64 (*.f64 t a)) |
(*.f64 a (neg.f64 t)) |
(*.f64 t (neg.f64 a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(-.f64 x (*.f64 z (+.f64 y -1))) |
(-.f64 x (fma.f64 z y (neg.f64 z))) |
(fma.f64 z (-.f64 1 y) x) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 a (*.f64 t a)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 -1 (*.f64 (-.f64 t 1) a)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 a (*.f64 t a)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 (+.f64 t -1) a)) |
(fma.f64 a (-.f64 1 t) x) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 x (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(-.f64 x (fma.f64 -1 z (*.f64 (+.f64 t -1) a))) |
(-.f64 (fma.f64 a (-.f64 1 t) x) (neg.f64 z)) |
(+.f64 z (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(*.f64 z (neg.f64 y)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(*.f64 z (neg.f64 y)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x) |
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(fma.f64 z (+.f64 y -1) (neg.f64 a)) |
(-.f64 (fma.f64 z y (neg.f64 z)) a) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(*.f64 a t) |
(*.f64 t a) |
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(*.f64 a t) |
(*.f64 t a) |
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 y -1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 z (+.f64 -1 y)) |
(*.f64 (-.f64 t 1) a) |
(*.f64 (+.f64 t -1) a) |
(-.f64 (*.f64 t a) a) |
(*.f64 (-.f64 t 1) a) |
(*.f64 (+.f64 t -1) a) |
(-.f64 (*.f64 t a) a) |
(*.f64 (-.f64 t 1) a) |
(*.f64 (+.f64 t -1) a) |
(-.f64 (*.f64 t a) a) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 y -1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 z (+.f64 -1 y)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 y -1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 z (+.f64 -1 y)) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 z (*.f64 (+.f64 t -1) a)) |
(-.f64 (-.f64 (*.f64 t a) a) z) |
(-.f64 (*.f64 t a) (+.f64 a z)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a))) |
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a))) |
(fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)) |
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y))) |
(*.f64 -1 z) |
(neg.f64 z) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(*.f64 z (+.f64 y -1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 z (+.f64 -1 y)) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(*.f64 z (+.f64 y -1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 z (+.f64 -1 y)) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(*.f64 z (+.f64 y -1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 z (+.f64 -1 y)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 y -1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 z (+.f64 -1 y)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 y -1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 z (+.f64 -1 y)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 y -1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 z (+.f64 -1 y)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 y -1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 z (+.f64 -1 y)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 y -1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 z (+.f64 -1 y)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 y -1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 z (+.f64 -1 y)) |
Compiled 8739 to 5490 computations (37.2% saved)
21 alts after pruning (19 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 418 | 17 | 435 |
| Fresh | 4 | 2 | 6 |
| Picked | 1 | 0 | 1 |
| Done | 2 | 2 | 4 |
| Total | 425 | 21 | 446 |
| Status | Error | Program |
|---|---|---|
| 47.5b | x | |
| 25.7b | (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) | |
| ✓ | 45.9b | (*.f64 a (-.f64 1 t)) |
| ▶ | 42.5b | (-.f64 x (*.f64 z y)) |
| 57.8b | (*.f64 b t) | |
| 52.6b | (+.f64 (*.f64 b y) (*.f64 (neg.f64 z) y)) | |
| 57.7b | (*.f64 z (neg.f64 y)) | |
| ✓ | 52.6b | (*.f64 y (-.f64 b z)) |
| ▶ | 57.5b | (*.f64 b y) |
| 38.6b | (-.f64 x (*.f64 t a)) | |
| 51.2b | (*.f64 (-.f64 y 2) b) | |
| 31.3b | (fma.f64 (+.f64 y (+.f64 t -2)) b x) | |
| 28.3b | (-.f64 (+.f64 (*.f64 (-.f64 y 2) b) x) (*.f64 -1 a)) | |
| 30.5b | (-.f64 x (-.f64 (*.f64 t a) a)) | |
| 31.3b | (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) | |
| 33.5b | (-.f64 x (*.f64 z (-.f64 y 1))) | |
| ▶ | 17.2b | (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) |
| 53.6b | (*.f64 t (neg.f64 a)) | |
| ▶ | 21.6b | (-.f64 x (-.f64 (*.f64 t a) (+.f64 a z))) |
| 51.4b | (*.f64 b (-.f64 t 2)) | |
| ▶ | 48.7b | (-.f64 z (*.f64 y z)) |
Compiled 493 to 367 computations (25.6% saved)
Found 6 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 (-.f64 (+.f64 y t) 2) b) | |
| 0.0b | (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) | |
| 0.0b | (*.f64 z (-.f64 y 1)) | |
| 0.0b | (*.f64 z (-.f64 y 1)) | |
| ✓ | 0.0b | (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
| 0.0b | (*.f64 (-.f64 (+.f64 y t) 2) b) |
Compiled 60 to 31 computations (48.3% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
| 0.0ms | b | @ | -inf | (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
| 0.0ms | t | @ | 0 | (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
| 0.0ms | b | @ | inf | (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
| 1× | batch-egg-rewrite |
| 543× | log-prod_binary64 |
| 516× | fma-def_binary64 |
| 424× | pow-prod-down_binary64 |
| 320× | pow2_binary64 |
| 285× | fma-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 11 |
| 1 | 233 | 11 |
| 2 | 3369 | 11 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x))) (/.f64 (*.f64 x x) (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 y (-.f64 t 2)) b x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)) (cbrt.f64 (pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 2)) (cbrt.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)) (sqrt.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 (+.f64 y (-.f64 t 2)) b)) (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (*.f64 x x)) (/.f64 1 (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 y (-.f64 t 2)) b)) (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2)) (+.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 3) (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x)) (-.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 (+.f64 y (-.f64 t 2)) b)) (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (*.f64 (+.f64 y (-.f64 t 2)) (*.f64 b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (*.f64 x x)) (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 y (-.f64 t 2)) b)) (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (*.f64 x x))) (neg.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2)) (-.f64 x (*.f64 (+.f64 y (-.f64 t 2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 y (-.f64 t 2)) b)) (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2)) (+.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 3) (pow.f64 x 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x)) (-.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (*.f64 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (-.f64 t 2)) b))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (+.f64 y (-.f64 t 2)) b)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (-.f64 t 2)) b))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (*.f64 (+.f64 y (-.f64 t 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (-.f64 t 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (-.f64 t 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y (-.f64 t 2)) b x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 y (-.f64 t 2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (+.f64 y (-.f64 t 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 y (-.f64 t 2)) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (+.f64 y (-.f64 t 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (+.f64 y (-.f64 t 2)) b)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 y (-.f64 t 2)) b)) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 y (-.f64 t 2)) b)) 2) (cbrt.f64 (*.f64 (+.f64 y (-.f64 t 2)) b)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (+.f64 y (-.f64 t 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (+.f64 y (-.f64 t 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y (-.f64 t 2))) 2) (*.f64 (cbrt.f64 (+.f64 y (-.f64 t 2))) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b b)) (*.f64 (cbrt.f64 b) (+.f64 y (-.f64 t 2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 y (-.f64 t 2)) b)) (sqrt.f64 (*.f64 (+.f64 y (-.f64 t 2)) b)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (+.f64 y (-.f64 t 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y (-.f64 t 2))) (*.f64 (sqrt.f64 (+.f64 y (-.f64 t 2))) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (+.f64 y (-.f64 t 2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y (-.f64 t 2)) (cbrt.f64 (*.f64 b b))) (cbrt.f64 b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y (-.f64 t 2)) (sqrt.f64 b)) (sqrt.f64 b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 (+.f64 y (-.f64 t 2))) 2)) (cbrt.f64 (+.f64 y (-.f64 t 2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (+.f64 y (-.f64 t 2)))) (sqrt.f64 (+.f64 y (-.f64 t 2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x))))))) |
| 1× | egg-herbie |
| 1016× | fma-neg_binary64 |
| 811× | fma-def_binary64 |
| 201× | distribute-rgt-in_binary64 |
| 143× | unsub-neg_binary64 |
| 117× | sub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 281 |
| 1 | 50 | 281 |
| 2 | 87 | 263 |
| 3 | 164 | 263 |
| 4 | 215 | 263 |
| 5 | 242 | 263 |
| 6 | 301 | 263 |
| 7 | 471 | 263 |
| 8 | 880 | 263 |
| 9 | 1564 | 263 |
| 10 | 2412 | 263 |
| 11 | 3114 | 263 |
| 12 | 3522 | 263 |
| 13 | 3713 | 263 |
| 14 | 3743 | 263 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 b (-.f64 t 2)) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
x |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
x |
x |
| Outputs |
|---|
(+.f64 (*.f64 b (-.f64 t 2)) x) |
(fma.f64 b (+.f64 t -2) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(*.f64 y b) |
(*.f64 b y) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(*.f64 y b) |
(*.f64 b y) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(fma.f64 b (+.f64 y -2) x) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(*.f64 t b) |
(*.f64 b t) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(*.f64 t b) |
(*.f64 b t) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(fma.f64 y b (fma.f64 b (+.f64 t -2) x)) |
(fma.f64 b t (fma.f64 b (+.f64 y -2) x)) |
(fma.f64 b (+.f64 (+.f64 t -2) y) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
x |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 b (+.f64 y (+.f64 t -2))) |
(*.f64 b (+.f64 (+.f64 t -2) y)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 b (+.f64 y (+.f64 t -2))) |
(*.f64 b (+.f64 (+.f64 t -2) y)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 b (+.f64 y (+.f64 t -2))) |
(*.f64 b (+.f64 (+.f64 t -2) y)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
x |
x |
Compiled 11 to 7 computations (36.4% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (-.f64 z (*.f64 y z)) | |
| ✓ | 0.0b | (-.f64 z (*.f64 y z)) |
Compiled 16 to 8 computations (50% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | 0 | (-.f64 z (*.f64 y z)) |
| 0.0ms | z | @ | -inf | (-.f64 z (*.f64 y z)) |
| 0.0ms | z | @ | inf | (-.f64 z (*.f64 y z)) |
| 0.0ms | y | @ | inf | (-.f64 z (*.f64 y z)) |
| 0.0ms | y | @ | 0 | (-.f64 z (*.f64 y z)) |
| 1× | batch-egg-rewrite |
| 651× | pow1_binary64 |
| 606× | add-log-exp_binary64 |
| 606× | log1p-expm1-u_binary64 |
| 606× | expm1-log1p-u_binary64 |
| 593× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 7 |
| 1 | 113 | 7 |
| 2 | 1648 | 7 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 z (*.f64 y z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 z (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 (*.f64 z (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 z y)) (fma.f64 (neg.f64 y) z (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 z y)) (fma.f64 (neg.f64 z) y (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 z y)) (fma.f64 (*.f64 z (neg.f64 y)) 1 (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 z y)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z y))) (pow.f64 (cbrt.f64 (*.f64 z y)) 2) (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 z y)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z y))) (sqrt.f64 (*.f64 z y)) (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (+.f64 1 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 z (*.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 z (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 z (*.f64 z y))) (pow.f64 (cbrt.f64 (-.f64 z (*.f64 z y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 z (*.f64 z y))) 2) (cbrt.f64 (-.f64 z (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 z (*.f64 z y))) (sqrt.f64 (-.f64 z (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 z y) 3)) (/.f64 1 (fma.f64 z z (*.f64 (*.f64 z y) (+.f64 z (*.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 z y) 2)) (/.f64 1 (+.f64 z (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 z y))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 y) 1) z)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 z z (*.f64 (*.f64 z y) (+.f64 z (*.f64 z y)))) (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 z y) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 z (*.f64 z y)) (-.f64 (*.f64 z z) (pow.f64 (*.f64 z y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 z y) 3)) (fma.f64 z z (*.f64 (*.f64 z y) (+.f64 z (*.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 z y) 2)) (+.f64 z (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 z y) 3))) (neg.f64 (fma.f64 z z (*.f64 (*.f64 z y) (+.f64 z (*.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 z y) 2))) (neg.f64 (+.f64 z (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 z (neg.f64 y)) 3)) (+.f64 (*.f64 z z) (-.f64 (*.f64 (*.f64 z (neg.f64 y)) (*.f64 z (neg.f64 y))) (*.f64 z (*.f64 z (neg.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z z) (*.f64 (*.f64 z (neg.f64 y)) (*.f64 z (neg.f64 y)))) (-.f64 z (*.f64 z (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 z (*.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 z (*.f64 z y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 z (*.f64 z y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 z (*.f64 z y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 z (*.f64 z y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 z (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 z (*.f64 z y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (*.f64 z (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 z (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 z (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 z (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 z (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 z (*.f64 z y)))))))) |
| 1× | egg-herbie |
| 145× | fma-def_binary64 |
| 71× | fma-neg_binary64 |
| 21× | cancel-sign-sub-inv_binary64 |
| 19× | sub-neg_binary64 |
| 18× | associate-*r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 160 |
| 1 | 27 | 160 |
| 2 | 49 | 160 |
| 3 | 88 | 160 |
| 4 | 136 | 160 |
| 5 | 223 | 160 |
| 6 | 361 | 160 |
| 7 | 441 | 160 |
| 8 | 510 | 160 |
| 9 | 516 | 160 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 z (-.f64 1 y)) |
(*.f64 z (-.f64 1 y)) |
(*.f64 z (-.f64 1 y)) |
(*.f64 z (-.f64 1 y)) |
(*.f64 z (-.f64 1 y)) |
(*.f64 z (-.f64 1 y)) |
(*.f64 z (-.f64 1 y)) |
(*.f64 z (-.f64 1 y)) |
(*.f64 (+.f64 1 (*.f64 -1 y)) z) |
(*.f64 (+.f64 1 (*.f64 -1 y)) z) |
(*.f64 (+.f64 1 (*.f64 -1 y)) z) |
(*.f64 (+.f64 1 (*.f64 -1 y)) z) |
z |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
| Outputs |
|---|
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(*.f64 (+.f64 1 (*.f64 -1 y)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(*.f64 (+.f64 1 (*.f64 -1 y)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(*.f64 (+.f64 1 (*.f64 -1 y)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(*.f64 (+.f64 1 (*.f64 -1 y)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
z |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(*.f64 -1 (*.f64 y z)) |
(*.f64 (neg.f64 y) z) |
(*.f64 y (neg.f64 z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(*.f64 -1 (*.f64 y z)) |
(*.f64 (neg.f64 y) z) |
(*.f64 y (neg.f64 z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (-.f64 x (*.f64 z y)) | |
| ✓ | 0.0b | (-.f64 x (*.f64 z y)) |
Compiled 17 to 8 computations (52.9% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (-.f64 x (*.f64 z y)) |
| 0.0ms | x | @ | inf | (-.f64 x (*.f64 z y)) |
| 0.0ms | z | @ | -inf | (-.f64 x (*.f64 z y)) |
| 0.0ms | z | @ | inf | (-.f64 x (*.f64 z y)) |
| 0.0ms | y | @ | -inf | (-.f64 x (*.f64 z y)) |
| 1× | batch-egg-rewrite |
| 738× | pow1_binary64 |
| 684× | add-log-exp_binary64 |
| 684× | log1p-expm1-u_binary64 |
| 684× | expm1-log1p-u_binary64 |
| 669× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 7 |
| 1 | 132 | 7 |
| 2 | 1857 | 7 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 x (*.f64 z y)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 z (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (*.f64 z (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z y)) (fma.f64 (neg.f64 y) z (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z y)) (fma.f64 (neg.f64 z) y (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z y)) (fma.f64 (*.f64 z (neg.f64 y)) 1 (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z y)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z y))) (pow.f64 (cbrt.f64 (*.f64 z y)) 2) (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z y)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z y))) (sqrt.f64 (*.f64 z y)) (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (*.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (*.f64 z y))) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z y))) 2) (cbrt.f64 (-.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (*.f64 z y))) (sqrt.f64 (-.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z y) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 z y) (+.f64 x (*.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z y) 2)) (/.f64 1 (+.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z y))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 z y) (+.f64 x (*.f64 z y)))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z y) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 x (*.f64 z y)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z y) 3)) (fma.f64 x x (*.f64 (*.f64 z y) (+.f64 x (*.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z y) 2)) (+.f64 x (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z y) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 z y) (+.f64 x (*.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z y) 2))) (neg.f64 (+.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (neg.f64 y)) 3)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 z (neg.f64 y)) (*.f64 z (neg.f64 y))) (*.f64 x (*.f64 z (neg.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z (neg.f64 y)) (*.f64 z (neg.f64 y)))) (-.f64 x (*.f64 z (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (*.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (*.f64 z y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (*.f64 z y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 x (*.f64 z y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 x (*.f64 z y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (*.f64 z y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 z (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 x (*.f64 z y)))))))) |
| 1× | egg-herbie |
| 101× | fma-def_binary64 |
| 56× | fma-neg_binary64 |
| 27× | cancel-sign-sub-inv_binary64 |
| 17× | sub-neg_binary64 |
| 13× | distribute-rgt-neg-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 250 |
| 1 | 15 | 223 |
| 2 | 31 | 223 |
| 3 | 44 | 223 |
| 4 | 56 | 223 |
| 5 | 87 | 223 |
| 6 | 147 | 223 |
| 7 | 195 | 223 |
| 8 | 252 | 223 |
| 9 | 339 | 223 |
| 10 | 389 | 223 |
| 11 | 395 | 223 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
| Outputs |
|---|
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(fma.f64 -1 (*.f64 y z) x) |
(fma.f64 (neg.f64 y) z x) |
(fma.f64 z (neg.f64 y) x) |
(-.f64 x (*.f64 y z)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (-.f64 (*.f64 t a) (+.f64 a z)) | |
| ✓ | 0.0b | (-.f64 (*.f64 t a) (+.f64 a z)) |
Compiled 32 to 10 computations (68.8% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | t | @ | -inf | (-.f64 (*.f64 t a) (+.f64 a z)) |
| 1.0ms | t | @ | 0 | (-.f64 (*.f64 t a) (+.f64 a z)) |
| 1.0ms | a | @ | 0 | (-.f64 (*.f64 t a) (+.f64 a z)) |
| 0.0ms | a | @ | -inf | (-.f64 (*.f64 t a) (+.f64 a z)) |
| 0.0ms | t | @ | inf | (-.f64 (*.f64 t a) (+.f64 a z)) |
| 1× | batch-egg-rewrite |
| 526× | fma-def_binary64 |
| 419× | log-prod_binary64 |
| 374× | prod-exp_binary64 |
| 311× | pow-prod-down_binary64 |
| 306× | exp-prod_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 10 |
| 1 | 162 | 10 |
| 2 | 2498 | 10 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (*.f64 t a) (+.f64 a z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t a) (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t a) (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 t a) (+.f64 a z)) (fma.f64 (neg.f64 (+.f64 a z)) 1 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 t a) (+.f64 a z)) (fma.f64 (neg.f64 (cbrt.f64 (+.f64 a z))) (pow.f64 (cbrt.f64 (+.f64 a z)) 2) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 t a) (+.f64 a z)) (+.f64 (neg.f64 (+.f64 a z)) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 a z)) (*.f64 t a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 t a) a) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 t a) a) (*.f64 -1 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 t a) a) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 t a) a) (*.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 t a) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 t a) (+.f64 a z)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 t a) (+.f64 a z))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 t a) (+.f64 a z))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 t a) (+.f64 a z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 t a) (+.f64 a z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 t a) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) 2) (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (sqrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 t a) 3) (pow.f64 (+.f64 a z) 3)) (/.f64 1 (fma.f64 (+.f64 a z) (+.f64 (fma.f64 t a a) z) (pow.f64 (*.f64 t a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 t a) 2) (pow.f64 (+.f64 a z) 2)) (/.f64 1 (+.f64 (fma.f64 t a a) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 (+.f64 a z))) (-.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 (+.f64 a z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (+.f64 a z) (+.f64 (fma.f64 t a a) z) (pow.f64 (*.f64 t a) 2)) (-.f64 (pow.f64 (*.f64 t a) 3) (pow.f64 (+.f64 a z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (fma.f64 t a a) z) (-.f64 (pow.f64 (*.f64 t a) 2) (pow.f64 (+.f64 a z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t a) 3) (pow.f64 (+.f64 a z) 3)) (fma.f64 (+.f64 a z) (+.f64 (fma.f64 t a a) z) (pow.f64 (*.f64 t a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t a) 2) (pow.f64 (+.f64 a z) 2)) (+.f64 (fma.f64 t a a) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 t a) 3) (pow.f64 (+.f64 a z) 3))) (neg.f64 (fma.f64 (+.f64 a z) (+.f64 (fma.f64 t a a) z) (pow.f64 (*.f64 t a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 t a) 2) (pow.f64 (+.f64 a z) 2))) (neg.f64 (+.f64 (fma.f64 t a a) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 t a) a) 3) (pow.f64 z 3)) (+.f64 (pow.f64 (-.f64 (*.f64 t a) a) 2) (fma.f64 z z (*.f64 (-.f64 (*.f64 t a) a) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 t a) 3) (pow.f64 (neg.f64 (+.f64 a z)) 3)) (+.f64 (pow.f64 (*.f64 t a) 2) (-.f64 (pow.f64 (neg.f64 (+.f64 a z)) 2) (*.f64 (*.f64 t a) (neg.f64 (+.f64 a z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 t a) a) 2) (*.f64 z z)) (fma.f64 a (-.f64 t 1) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t a) 2) (pow.f64 (neg.f64 (+.f64 a z)) 2)) (-.f64 (*.f64 t a) (neg.f64 (+.f64 a z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 t a) (+.f64 a z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 t a) (+.f64 a z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 t a) (+.f64 a z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (-.f64 (*.f64 t a) (+.f64 a z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (+.f64 a z) (+.f64 (fma.f64 t a a) z) (pow.f64 (*.f64 t a) 2)) (-.f64 (pow.f64 (*.f64 t a) 3) (pow.f64 (+.f64 a z) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (fma.f64 t a a) z) (-.f64 (pow.f64 (*.f64 t a) 2) (pow.f64 (+.f64 a z) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (-.f64 (*.f64 t a) (+.f64 a z)))) 2)) (cbrt.f64 (log.f64 (-.f64 (*.f64 t a) (+.f64 a z)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (-.f64 (*.f64 t a) (+.f64 a z))))) (sqrt.f64 (log.f64 (-.f64 (*.f64 t a) (+.f64 a z)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 t a) (+.f64 a z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (*.f64 t a) (+.f64 a z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 t a) (+.f64 a z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 t a))) (exp.f64 (+.f64 a z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 a) t) (+.f64 1 (expm1.f64 (+.f64 a z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 t a))) (+.f64 1 (expm1.f64 (+.f64 a z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 a) (-.f64 t 1)) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t a))) (exp.f64 (neg.f64 (+.f64 a z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (+.f64 a z))) (+.f64 1 (expm1.f64 (*.f64 t a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 t a) (+.f64 a z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t a (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t a (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a t (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a t (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (-.f64 t 1) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (-.f64 t 1) (*.f64 -1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (-.f64 t 1) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (-.f64 t 1) (*.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t a) 1 (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t a) 1 (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 t a) (+.f64 a z)) 1 (fma.f64 (neg.f64 (+.f64 a z)) 1 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 t a) (+.f64 a z)) 1 (fma.f64 (neg.f64 (cbrt.f64 (+.f64 a z))) (pow.f64 (cbrt.f64 (+.f64 a z)) 2) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 t a) (+.f64 a z)) 1 (+.f64 (neg.f64 (+.f64 a z)) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t a) (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t a) (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 t a) (+.f64 a z)) (fma.f64 (neg.f64 (+.f64 a z)) 1 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 t a) (+.f64 a z)) (fma.f64 (neg.f64 (cbrt.f64 (+.f64 a z))) (pow.f64 (cbrt.f64 (+.f64 a z)) 2) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 t a) (+.f64 a z)) (+.f64 (neg.f64 (+.f64 a z)) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (+.f64 a z)) (*.f64 t a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 t a) a) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 t a) a) (*.f64 -1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 t a) a) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 t a) a) (*.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a z)) 2) (neg.f64 (cbrt.f64 (+.f64 a z))) (*.f64 t a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) t) (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) t) (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) a) (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) a) (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) 2) (fma.f64 (neg.f64 (+.f64 a z)) 1 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) 2) (fma.f64 (neg.f64 (cbrt.f64 (+.f64 a z))) (pow.f64 (cbrt.f64 (+.f64 a z)) 2) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) 2) (+.f64 (neg.f64 (+.f64 a z)) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) 2) (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (fma.f64 (neg.f64 (+.f64 a z)) 1 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) 2) (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (fma.f64 (neg.f64 (cbrt.f64 (+.f64 a z))) (pow.f64 (cbrt.f64 (+.f64 a z)) 2) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) 2) (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (+.f64 (neg.f64 (+.f64 a z)) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t a)) (pow.f64 (cbrt.f64 (*.f64 t a)) 2) (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t a)) (pow.f64 (cbrt.f64 (*.f64 t a)) 2) (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t a)) 2) (cbrt.f64 (*.f64 t a)) (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t a)) 2) (cbrt.f64 (*.f64 t a)) (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a z)) (neg.f64 (sqrt.f64 (+.f64 a z))) (*.f64 t a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) t) (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) t) (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) a) (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) a) (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (sqrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (fma.f64 (neg.f64 (+.f64 a z)) 1 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (sqrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (fma.f64 (neg.f64 (cbrt.f64 (+.f64 a z))) (pow.f64 (cbrt.f64 (+.f64 a z)) 2) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (sqrt.f64 (-.f64 (*.f64 t a) (+.f64 a z))) (+.f64 (neg.f64 (+.f64 a z)) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 (*.f64 t a)) (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 (*.f64 t a)) (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 t a) 3) (pow.f64 (+.f64 a z) 3)) (/.f64 1 (fma.f64 (+.f64 a z) (+.f64 (fma.f64 t a a) z) (pow.f64 (*.f64 t a) 2))) (fma.f64 (neg.f64 (+.f64 a z)) 1 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 t a) 3) (pow.f64 (+.f64 a z) 3)) (/.f64 1 (fma.f64 (+.f64 a z) (+.f64 (fma.f64 t a a) z) (pow.f64 (*.f64 t a) 2))) (fma.f64 (neg.f64 (cbrt.f64 (+.f64 a z))) (pow.f64 (cbrt.f64 (+.f64 a z)) 2) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 t a) 3) (pow.f64 (+.f64 a z) 3)) (/.f64 1 (fma.f64 (+.f64 a z) (+.f64 (fma.f64 t a a) z) (pow.f64 (*.f64 t a) 2))) (+.f64 (neg.f64 (+.f64 a z)) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 t a) 2) (pow.f64 (+.f64 a z) 2)) (/.f64 1 (+.f64 (fma.f64 t a a) z)) (fma.f64 (neg.f64 (+.f64 a z)) 1 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 t a) 2) (pow.f64 (+.f64 a z) 2)) (/.f64 1 (+.f64 (fma.f64 t a a) z)) (fma.f64 (neg.f64 (cbrt.f64 (+.f64 a z))) (pow.f64 (cbrt.f64 (+.f64 a z)) 2) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 t a) 2) (pow.f64 (+.f64 a z) 2)) (/.f64 1 (+.f64 (fma.f64 t a a) z)) (+.f64 (neg.f64 (+.f64 a z)) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (+.f64 a z))) 2) (cbrt.f64 (neg.f64 (+.f64 a z))) (*.f64 t a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 t a) a)) 2) (cbrt.f64 (-.f64 (*.f64 t a) a)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 t a) a)) 2) (cbrt.f64 (-.f64 (*.f64 t a) a)) (*.f64 -1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 t a) a)) 2) (cbrt.f64 (-.f64 (*.f64 t a) a)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 t a) a)) 2) (cbrt.f64 (-.f64 (*.f64 t a) a)) (*.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (+.f64 a z))) (sqrt.f64 (neg.f64 (+.f64 a z))) (*.f64 t a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 t a) a)) (sqrt.f64 (-.f64 (*.f64 t a) a)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 t a) a)) (sqrt.f64 (-.f64 (*.f64 t a) a)) (*.f64 -1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 t a) a)) (sqrt.f64 (-.f64 (*.f64 t a) a)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 t a) a)) (sqrt.f64 (-.f64 (*.f64 t a) a)) (*.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (+.f64 a z))) (sqrt.f64 (+.f64 a z)) (*.f64 t a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (+.f64 a z) (*.f64 t a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 (+.f64 a z))) (-.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 (+.f64 a z))) (fma.f64 (neg.f64 (+.f64 a z)) 1 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 (+.f64 a z))) (-.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 (+.f64 a z))) (fma.f64 (neg.f64 (cbrt.f64 (+.f64 a z))) (pow.f64 (cbrt.f64 (+.f64 a z)) 2) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 (+.f64 a z))) (-.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 (+.f64 a z))) (+.f64 (neg.f64 (+.f64 a z)) (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 a) (sqrt.f64 t) (sqrt.f64 a)) (-.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 a)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 a) (sqrt.f64 t) (sqrt.f64 a)) (-.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 a)) (*.f64 -1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 a) (sqrt.f64 t) (sqrt.f64 a)) (-.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 a)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 a) (sqrt.f64 t) (sqrt.f64 a)) (-.f64 (sqrt.f64 (*.f64 t a)) (sqrt.f64 a)) (*.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (+.f64 a z)) 2)) (cbrt.f64 (+.f64 a z)) (*.f64 t a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a) (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a) (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 a)) (sqrt.f64 a) (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 a)) (sqrt.f64 a) (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 t)) (sqrt.f64 t) (neg.f64 (+.f64 a z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 t)) (sqrt.f64 t) (*.f64 (neg.f64 (+.f64 a z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 t a) (+.f64 a z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 t a) (+.f64 a z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 t a) (+.f64 a z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (-.f64 (*.f64 t a) (+.f64 a z)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (*.f64 t a) (+.f64 a z)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 t a) (+.f64 a z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 (*.f64 t a) (+.f64 a z))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 t a) (+.f64 a z)))))))) |
| 1× | egg-herbie |
| 275× | fma-neg_binary64 |
| 210× | fma-def_binary64 |
| 64× | cancel-sign-sub-inv_binary64 |
| 58× | sub-neg_binary64 |
| 33× | unsub-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 341 |
| 1 | 67 | 314 |
| 2 | 156 | 314 |
| 3 | 309 | 314 |
| 4 | 688 | 314 |
| 5 | 920 | 314 |
| 6 | 1043 | 314 |
| 7 | 1071 | 314 |
| 8 | 1074 | 314 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1 (+.f64 a z)) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(*.f64 a t) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(*.f64 a t) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(*.f64 -1 z) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(*.f64 (-.f64 t 1) a) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1)))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1)))) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1)))) |
(-.f64 (*.f64 a t) a) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(*.f64 -1 z) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(*.f64 -1 z) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
| Outputs |
|---|
(*.f64 -1 (+.f64 a z)) |
(neg.f64 (+.f64 a z)) |
(-.f64 (neg.f64 a) z) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(*.f64 a t) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(*.f64 a t) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(*.f64 -1 z) |
(neg.f64 z) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(*.f64 (-.f64 t 1) a) |
(*.f64 a (+.f64 t -1)) |
(-.f64 (*.f64 a t) a) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1))) |
(*.f64 a (+.f64 t -1)) |
(-.f64 (*.f64 a t) a) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1)))) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1)))) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1)))) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(-.f64 (*.f64 a t) a) |
(*.f64 a (+.f64 t -1)) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(*.f64 -1 z) |
(neg.f64 z) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(*.f64 -1 z) |
(neg.f64 z) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a) |
(fma.f64 -1 (+.f64 a z) (*.f64 a t)) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
Compiled 6438 to 2705 computations (58% saved)
25 alts after pruning (20 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 368 | 8 | 376 |
| Fresh | 2 | 12 | 14 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 5 | 6 |
| Total | 372 | 25 | 397 |
| Status | Error | Program |
|---|---|---|
| ▶ | 21.9b | (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1))) |
| 31.3b | (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) | |
| 47.5b | x | |
| 25.7b | (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) | |
| ✓ | 45.9b | (*.f64 a (-.f64 1 t)) |
| ✓ | 42.5b | (-.f64 x (*.f64 z y)) |
| 43.7b | (-.f64 (*.f64 b y) (*.f64 z (-.f64 y 1))) | |
| 57.7b | (*.f64 z (neg.f64 y)) | |
| 30.6b | (-.f64 x (-.f64 (neg.f64 a) z)) | |
| 28.3b | (-.f64 (+.f64 (*.f64 y b) x) (*.f64 z (-.f64 y 1))) | |
| ▶ | 57.8b | (*.f64 b t) |
| 52.6b | (+.f64 (*.f64 b y) (*.f64 (neg.f64 z) y)) | |
| ✓ | 52.6b | (*.f64 y (-.f64 b z)) |
| ✓ | 57.5b | (*.f64 b y) |
| 38.6b | (-.f64 x (*.f64 t a)) | |
| 51.2b | (*.f64 (-.f64 y 2) b) | |
| 31.3b | (fma.f64 (+.f64 y (+.f64 t -2)) b x) | |
| ▶ | 28.3b | (-.f64 (+.f64 (*.f64 (-.f64 y 2) b) x) (*.f64 -1 a)) |
| ▶ | 33.5b | (-.f64 x (*.f64 z (-.f64 y 1))) |
| 22.5b | (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 z)) | |
| 53.6b | (*.f64 t (neg.f64 a)) | |
| 53.8b | z | |
| 38.6b | (-.f64 x (neg.f64 z)) | |
| ▶ | 51.4b | (*.f64 b (-.f64 t 2)) |
| ✓ | 48.7b | (-.f64 z (*.f64 y z)) |
Compiled 553 to 416 computations (24.8% saved)
Found 6 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (+.f64 (*.f64 b (+.f64 y -2)) x) | |
| 0.0b | (*.f64 b (+.f64 y -2)) | |
| 0.0b | (*.f64 z (-.f64 y 1)) | |
| 0.0b | (*.f64 z (-.f64 y 1)) | |
| ✓ | 0.0b | (*.f64 b (+.f64 y -2)) |
| ✓ | 0.0b | (+.f64 (*.f64 b (+.f64 y -2)) x) |
Compiled 48 to 30 computations (37.5% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | b | @ | -inf | (+.f64 (*.f64 b (+.f64 y -2)) x) |
| 1.0ms | y | @ | -inf | (+.f64 (*.f64 b (+.f64 y -2)) x) |
| 0.0ms | b | @ | 0 | (+.f64 (*.f64 b (+.f64 y -2)) x) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 b (+.f64 y -2)) x) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 b (+.f64 y -2)) x) |
| 1× | batch-egg-rewrite |
| 438× | log-prod_binary64 |
| 380× | prod-exp_binary64 |
| 370× | fma-def_binary64 |
| 329× | exp-prod_binary64 |
| 318× | pow-prod-down_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 186 | 15 |
| 2 | 2659 | 15 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 b (+.f64 y -2)) x) |
(*.f64 b (+.f64 y -2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 b (+.f64 y -2) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (fma.f64 b (+.f64 y -2) (neg.f64 x))) (/.f64 (*.f64 x x) (fma.f64 b (+.f64 y -2) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 b (+.f64 y -2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 b (+.f64 y -2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 b (+.f64 y -2) x)) (pow.f64 (cbrt.f64 (fma.f64 b (+.f64 y -2) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 b (+.f64 y -2) x)) 2) (cbrt.f64 (fma.f64 b (+.f64 y -2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 b (+.f64 y -2) x)) (sqrt.f64 (fma.f64 b (+.f64 y -2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 b (+.f64 y -2))) (pow.f64 (*.f64 b (+.f64 y -2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (*.f64 x x)) (/.f64 1 (fma.f64 b (+.f64 y -2) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 b (+.f64 y -2))) (pow.f64 (*.f64 b (+.f64 y -2)) 2)) (+.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 b (+.f64 y -2) (neg.f64 x)) (-.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 b (+.f64 y -2))) (pow.f64 (*.f64 b (+.f64 y -2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (*.f64 b (*.f64 (+.f64 y -2) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (*.f64 x x)) (fma.f64 b (+.f64 y -2) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 b (+.f64 y -2))) (pow.f64 (*.f64 b (+.f64 y -2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (*.f64 x x))) (neg.f64 (fma.f64 b (+.f64 y -2) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 b (+.f64 y -2)) 2)) (-.f64 x (*.f64 b (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 b (+.f64 y -2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b (+.f64 y -2) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b (+.f64 y -2) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 b (+.f64 y -2) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 b (+.f64 y -2) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 b (+.f64 y -2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 b (+.f64 y -2))) (pow.f64 (*.f64 b (+.f64 y -2)) 2)) (+.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) (pow.f64 x 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 b (+.f64 y -2) (neg.f64 x)) (-.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (*.f64 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 b (+.f64 y -2) x))) 2)) (cbrt.f64 (log.f64 (fma.f64 b (+.f64 y -2) x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 b (+.f64 y -2) x)))) (sqrt.f64 (log.f64 (fma.f64 b (+.f64 y -2) x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 b (+.f64 y -2) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 b (+.f64 y -2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 b (+.f64 y -2) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 b (+.f64 y -2)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 b (+.f64 y -2)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 b) (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 b (+.f64 y -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 b (+.f64 y -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 b (+.f64 y -2) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b y (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 y -2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y b (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y -2) b x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (+.f64 y -2)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 b (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 b (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b y) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y -2)) 2) (*.f64 (cbrt.f64 (+.f64 y -2)) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) y) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b (+.f64 y -2))) (pow.f64 (cbrt.f64 (*.f64 b (+.f64 y -2))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b (+.f64 y -2))) 2) (cbrt.f64 (*.f64 b (+.f64 y -2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) b) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 b (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 b (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y -2)) (*.f64 (sqrt.f64 (+.f64 y -2)) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) y) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b (+.f64 y -2))) (sqrt.f64 (*.f64 b (+.f64 y -2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) b) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 b (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b y)) 2) (cbrt.f64 (*.f64 b y)) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b y)) (sqrt.f64 (*.f64 b y)) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 b)) (sqrt.f64 b) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 (+.f64 y -2)) 2)) (cbrt.f64 (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (+.f64 y -2))) (sqrt.f64 (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -2) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -2) (sqrt.f64 b)) (sqrt.f64 b) x)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 b (+.f64 y -2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 b (+.f64 y -2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 b (+.f64 y -2) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 b (+.f64 y -2) x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 b (+.f64 y -2) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 b (+.f64 y -2) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 b (+.f64 y -2) x)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 b (+.f64 y -2) x))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b -2) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 b (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 b y) 1) (*.f64 (*.f64 b -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 b (+.f64 y -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 b y) 3) (pow.f64 (*.f64 b -2) 3)) (+.f64 (pow.f64 (*.f64 b y) 2) (-.f64 (pow.f64 (*.f64 b -2) 2) (*.f64 (*.f64 b y) (*.f64 b -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 b y) 2) (pow.f64 (*.f64 b -2) 2)) (-.f64 (*.f64 b y) (*.f64 b -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -8 (pow.f64 y 3)) b) (-.f64 (fma.f64 y y 4) (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 y y -4) b) (+.f64 y 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (+.f64 -8 (pow.f64 y 3))) (-.f64 (fma.f64 y y 4) (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (fma.f64 y y -4)) (+.f64 y 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b (+.f64 y -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 b (+.f64 y -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 b (+.f64 y -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 b (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 b (+.f64 y -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 b (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 b (+.f64 y -2))))) (sqrt.f64 (log.f64 (*.f64 b (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 b (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b y (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b -2 (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y b (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 b (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b -2) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) -2) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) b) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) -2) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) b) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b y) 1 (*.f64 (*.f64 b -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b y)) 2) (cbrt.f64 (*.f64 b y)) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b -2)) 2) (cbrt.f64 (*.f64 b -2)) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b y)) (sqrt.f64 (*.f64 b y)) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b -2)) (sqrt.f64 (*.f64 b -2)) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 y)) (sqrt.f64 y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 b)) (sqrt.f64 b) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sqrt.f64 b)) (sqrt.f64 b) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 b (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 b (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 b (+.f64 y -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 b (+.f64 y -2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 b (+.f64 y -2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 b (+.f64 y -2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 b (+.f64 y -2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 b (+.f64 y -2))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 b) 1) (log.f64 (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 b) (*.f64 (log.f64 (+.f64 y -2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 b) 1) (*.f64 (log.f64 (+.f64 y -2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 y -2)) 1) (log.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (+.f64 y -2)) (*.f64 (log.f64 b) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 y -2)) 1) (*.f64 (log.f64 b) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 b (+.f64 y -2)))))))) |
| 1× | egg-herbie |
| 16× | fma-def_binary64 |
| 6× | +-commutative_binary64 |
| 3× | *-commutative_binary64 |
| 3× | associate-+r+_binary64 |
| 2× | associate-+l+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 412 |
| 1 | 28 | 412 |
| 2 | 42 | 412 |
| 3 | 48 | 412 |
| 1× | saturated |
| Inputs |
|---|
x |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(*.f64 (-.f64 y 2) b) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(*.f64 (-.f64 y 2) b) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 -2 b) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(*.f64 (-.f64 y 2) b) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
x |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
x |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 -2 b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
| Outputs |
|---|
x |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 -2 b) x) |
(fma.f64 -2 b x) |
(fma.f64 b -2 x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 (+.f64 y -2) b x) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 (+.f64 y -2) b x) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 (+.f64 y -2) b x) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
x |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
x |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(fma.f64 (+.f64 y -2) b x) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (+.f64 y -2) b) |
(*.f64 -2 b) |
(*.f64 b -2) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 (+.f64 y -2) b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 (+.f64 y -2) b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 (+.f64 y -2) b) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 (+.f64 y -2) b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 (+.f64 y -2) b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 (+.f64 y -2) b) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 (+.f64 y -2) b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 (+.f64 y -2) b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 (+.f64 y -2) b) |
Compiled 11 to 7 computations (36.4% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 b (-.f64 t 2)) | |
| ✓ | 0.0b | (*.f64 b (-.f64 t 2)) |
Compiled 17 to 12 computations (29.4% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | b | @ | 0 | (*.f64 b (-.f64 t 2)) |
| 0.0ms | b | @ | inf | (*.f64 b (-.f64 t 2)) |
| 0.0ms | b | @ | -inf | (*.f64 b (-.f64 t 2)) |
| 0.0ms | t | @ | inf | (*.f64 b (-.f64 t 2)) |
| 0.0ms | t | @ | -inf | (*.f64 b (-.f64 t 2)) |
| 1× | batch-egg-rewrite |
| 675× | pow1_binary64 |
| 630× | add-log-exp_binary64 |
| 629× | log1p-expm1-u_binary64 |
| 629× | expm1-log1p-u_binary64 |
| 619× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 7 |
| 1 | 132 | 7 |
| 2 | 1649 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 b (-.f64 t 2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t b) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b t) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 b (+.f64 t -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 t 3) -8) b) (fma.f64 t t (+.f64 4 (*.f64 t 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 t t -4) b) (+.f64 t 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (+.f64 (pow.f64 t 3) -8)) (fma.f64 t t (+.f64 4 (*.f64 t 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (fma.f64 t t -4)) (+.f64 t 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b (+.f64 t -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b (+.f64 t -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 b (+.f64 t -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 b (+.f64 t -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 b (+.f64 t -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 b) (+.f64 t -2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 b (+.f64 t -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 b 3) (pow.f64 (+.f64 t -2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 t -2) 3) (pow.f64 b 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 b (+.f64 t -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 b (+.f64 t -2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 b (+.f64 t -2)))))))) |
| 1× | egg-herbie |
| 4× | fma-def_binary64 |
| 3× | *-commutative_binary64 |
| 2× | +-commutative_binary64 |
| 2× | distribute-rgt-out_binary64 |
| 1× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 159 |
| 1 | 17 | 159 |
| 2 | 22 | 159 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (-.f64 t 2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 -2 b) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
| Outputs |
|---|
(*.f64 (-.f64 t 2) b) |
(*.f64 (+.f64 t -2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (+.f64 t -2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (+.f64 t -2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (+.f64 t -2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (+.f64 t -2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (+.f64 t -2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (+.f64 t -2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (+.f64 t -2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (+.f64 t -2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (+.f64 t -2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (+.f64 t -2) b) |
(*.f64 (-.f64 t 2) b) |
(*.f64 (+.f64 t -2) b) |
(*.f64 -2 b) |
(*.f64 b -2) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(*.f64 (+.f64 t -2) b) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(*.f64 (+.f64 t -2) b) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(*.f64 (+.f64 t -2) b) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(*.f64 (+.f64 t -2) b) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(*.f64 (+.f64 t -2) b) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(*.f64 (+.f64 t -2) b) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(*.f64 (+.f64 t -2) b) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(*.f64 (+.f64 t -2) b) |
(+.f64 (*.f64 t b) (*.f64 -2 b)) |
(*.f64 (+.f64 t -2) b) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (-.f64 x (*.f64 z (-.f64 y 1))) | |
| 0.0b | (*.f64 z (-.f64 y 1)) | |
| 0.0b | (*.f64 z (-.f64 y 1)) | |
| ✓ | 0.0b | (-.f64 x (*.f64 z (-.f64 y 1))) |
Compiled 25 to 16 computations (36% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (-.f64 x (*.f64 z (-.f64 y 1))) |
| 0.0ms | y | @ | -inf | (-.f64 x (*.f64 z (-.f64 y 1))) |
| 0.0ms | y | @ | 0 | (-.f64 x (*.f64 z (-.f64 y 1))) |
| 0.0ms | y | @ | inf | (-.f64 x (*.f64 z (-.f64 y 1))) |
| 0.0ms | x | @ | inf | (-.f64 x (*.f64 z (-.f64 y 1))) |
| 1× | batch-egg-rewrite |
| 968× | pow1_binary64 |
| 899× | add-log-exp_binary64 |
| 898× | log1p-expm1-u_binary64 |
| 898× | expm1-log1p-u_binary64 |
| 94× | add-sqr-sqrt_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 10 |
| 1 | 177 | 10 |
| 2 | 2459 | 10 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 x (*.f64 z (-.f64 y 1))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 z (neg.f64 (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (*.f64 z (neg.f64 (+.f64 y -1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (+.f64 y -1))) (fma.f64 (neg.f64 (+.f64 y -1)) z (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (+.f64 y -1))) (fma.f64 (*.f64 z (neg.f64 (+.f64 y -1))) 1 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (+.f64 y -1))) (fma.f64 (neg.f64 z) (+.f64 y -1) (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (+.f64 y -1))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (+.f64 y -1)))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2) (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (+.f64 y -1))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z (+.f64 y -1)))) (sqrt.f64 (*.f64 z (+.f64 y -1))) (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 (+.f64 y -1))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (*.f64 z (+.f64 y -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (*.f64 z (+.f64 y -1)))) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (+.f64 y -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (+.f64 y -1)))) 2) (cbrt.f64 (-.f64 x (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (*.f64 z (+.f64 y -1)))) (sqrt.f64 (-.f64 x (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 z (+.f64 y -1)) (+.f64 x (*.f64 z (+.f64 y -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 y -1)) 2)) (/.f64 1 (+.f64 x (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (+.f64 y -1)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 z (+.f64 y -1)) (+.f64 x (*.f64 z (+.f64 y -1))))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 x (*.f64 z (+.f64 y -1))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 y -1)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3)) (fma.f64 x x (*.f64 (*.f64 z (+.f64 y -1)) (+.f64 x (*.f64 z (+.f64 y -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 y -1)) 2)) (+.f64 x (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 z (+.f64 y -1)) (+.f64 x (*.f64 z (+.f64 y -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (+.f64 y -1)) 2))) (neg.f64 (+.f64 x (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (neg.f64 (+.f64 y -1))) 3)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 z (neg.f64 (+.f64 y -1))) (*.f64 z (neg.f64 (+.f64 y -1)))) (*.f64 x (*.f64 z (neg.f64 (+.f64 y -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z (neg.f64 (+.f64 y -1))) (*.f64 z (neg.f64 (+.f64 y -1))))) (-.f64 x (*.f64 z (neg.f64 (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (*.f64 z (+.f64 y -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (*.f64 z (+.f64 y -1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (+.f64 y -1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (+.f64 y -1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 x (*.f64 z (+.f64 y -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 x (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 x (*.f64 z (+.f64 y -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (*.f64 z (+.f64 y -1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 z (neg.f64 (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z (neg.f64 (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z (neg.f64 (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 x (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 x (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 x (*.f64 z (+.f64 y -1))))))))) |
| 1× | egg-herbie |
| 189× | fma-neg_binary64 |
| 186× | fma-def_binary64 |
| 51× | distribute-rgt-in_binary64 |
| 37× | cancel-sign-sub-inv_binary64 |
| 35× | sub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 345 |
| 1 | 51 | 316 |
| 2 | 98 | 256 |
| 3 | 249 | 256 |
| 4 | 517 | 256 |
| 5 | 654 | 256 |
| 6 | 778 | 256 |
| 7 | 868 | 256 |
| 8 | 917 | 256 |
| 9 | 919 | 256 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
x |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
x |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
x |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(-.f64 x (*.f64 -1 z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(*.f64 -1 (*.f64 y z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(*.f64 -1 (*.f64 y z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
| Outputs |
|---|
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(*.f64 (neg.f64 z) (+.f64 y -1)) |
(+.f64 (*.f64 z (neg.f64 y)) z) |
(fma.f64 y (neg.f64 z) z) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
x |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
x |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
x |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(*.f64 z (-.f64 1 y)) |
(*.f64 (neg.f64 z) (+.f64 y -1)) |
(+.f64 (*.f64 z (neg.f64 y)) z) |
(fma.f64 y (neg.f64 z) z) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(*.f64 (neg.f64 z) (+.f64 y -1)) |
(+.f64 (*.f64 z (neg.f64 y)) z) |
(fma.f64 y (neg.f64 z) z) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(-.f64 x (*.f64 -1 z)) |
(-.f64 x (neg.f64 z)) |
(+.f64 z x) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(*.f64 z (neg.f64 y)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(*.f64 z (neg.f64 y)) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z)) |
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x) |
(+.f64 z (fma.f64 (neg.f64 y) z x)) |
(fma.f64 z (-.f64 1 y) x) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (+.f64 (*.f64 (-.f64 y 2) b) x) | |
| 0.0b | (*.f64 (-.f64 y 2) b) | |
| ✓ | 0.0b | (*.f64 (-.f64 y 2) b) |
| ✓ | 0.0b | (+.f64 (*.f64 (-.f64 y 2) b) x) |
Compiled 41 to 26 computations (36.6% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 (-.f64 y 2) b) x) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 (-.f64 y 2) b) x) |
| 0.0ms | b | @ | -inf | (+.f64 (*.f64 (-.f64 y 2) b) x) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 (-.f64 y 2) b) x) |
| 0.0ms | b | @ | inf | (+.f64 (*.f64 (-.f64 y 2) b) x) |
| 1× | batch-egg-rewrite |
| 835× | prod-diff_binary64 |
| 572× | unpow-prod-down_binary64 |
| 416× | log-prod_binary64 |
| 299× | fma-def_binary64 |
| 244× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 182 | 15 |
| 2 | 2476 | 15 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 y 2) b) x) |
(*.f64 (-.f64 y 2) b) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 y -2) b x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (-.f64 (*.f64 (+.f64 y -2) b) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 (+.f64 y -2) b) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 y -2) b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 y -2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x)) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x)) 2) (cbrt.f64 (fma.f64 (+.f64 y -2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 y -2) b x)) (sqrt.f64 (fma.f64 (+.f64 y -2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 (+.f64 y -2) b)) (pow.f64 (*.f64 (+.f64 y -2) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3)) (pow.f64 (/.f64 1 (fma.f64 x (-.f64 x (*.f64 (+.f64 y -2) b)) (pow.f64 (*.f64 (+.f64 y -2) b) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 (+.f64 y -2) b) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 x x)) (pow.f64 (/.f64 1 (-.f64 (*.f64 (+.f64 y -2) b) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (fma.f64 (+.f64 y -2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 2) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x)) 2)) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 2) (sqrt.f64 (fma.f64 (+.f64 y -2) b x))) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 (+.f64 y -2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x))) 2) 3) (cbrt.f64 (fma.f64 (+.f64 y -2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 y -2) b)) (pow.f64 (*.f64 (+.f64 y -2) b) 2)) (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 (+.f64 y -2) b) x) (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 (+.f64 y -2) b)) (pow.f64 (*.f64 (+.f64 y -2) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 (+.f64 y -2) (*.f64 b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 x x)) (-.f64 (*.f64 (+.f64 y -2) b) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 y -2) b)) (pow.f64 (*.f64 (+.f64 y -2) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 (+.f64 y -2) b) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 y -2) b) 2)) (-.f64 x (*.f64 (+.f64 y -2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 y -2) b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 y -2) b x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 y -2) b)) (pow.f64 (*.f64 (+.f64 y -2) b) 2)) (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 (+.f64 y -2) b) x) (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 y -2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 y -2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y -2) b))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y -2) b))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 b) (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (+.f64 y -2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 y -2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y -2) b x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 y -2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -2) b) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (+.f64 y -2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 y -2) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (+.f64 y -2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (+.f64 y -2) b)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 y -2) b)) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 y -2) b)) 2) (cbrt.f64 (*.f64 (+.f64 y -2) b)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (+.f64 y -2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (+.f64 y -2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y -2)) 2) (*.f64 (cbrt.f64 (+.f64 y -2)) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 y -2) b)) (sqrt.f64 (*.f64 (+.f64 y -2) b)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (+.f64 y -2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y -2)) (*.f64 (sqrt.f64 (+.f64 y -2)) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -2) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -2) (sqrt.f64 b)) (sqrt.f64 b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 (+.f64 y -2)) 2)) (cbrt.f64 (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (+.f64 y -2))) (sqrt.f64 (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 y -2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 y -2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 y -2) b x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 y -2) b x))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 y -2) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y b) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 y -2) b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 y 3) -8) b) (fma.f64 y y (fma.f64 y 2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 y y -4) b) (+.f64 y 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (+.f64 (pow.f64 y 3) -8)) (fma.f64 y y (fma.f64 y 2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (fma.f64 y y -4)) (+.f64 y 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 y -2) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 y -2) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 y -2) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y -2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y b (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b y (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 y -2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 y -2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 y -2) b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 y -2) b))))))) |
| 1× | egg-herbie |
| 16× | fma-def_binary64 |
| 5× | +-commutative_binary64 |
| 3× | *-commutative_binary64 |
| 3× | associate-+r+_binary64 |
| 3× | associate-+l+_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 193 |
| 1 | 25 | 184 |
| 2 | 40 | 184 |
| 3 | 47 | 184 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 -2 b) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
x |
(*.f64 (-.f64 y 2) b) |
(*.f64 (-.f64 y 2) b) |
(*.f64 (-.f64 y 2) b) |
x |
x |
(*.f64 -2 b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
| Outputs |
|---|
(+.f64 (*.f64 -2 b) x) |
(fma.f64 -2 b x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 y b (fma.f64 -2 b x)) |
(fma.f64 b (+.f64 -2 y) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 y b (fma.f64 -2 b x)) |
(fma.f64 b (+.f64 -2 y) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 y b (fma.f64 -2 b x)) |
(fma.f64 b (+.f64 -2 y) x) |
(*.f64 y b) |
(*.f64 b y) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 y b (fma.f64 -2 b x)) |
(fma.f64 b (+.f64 -2 y) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 y b (fma.f64 -2 b x)) |
(fma.f64 b (+.f64 -2 y) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 y b (fma.f64 -2 b x)) |
(fma.f64 b (+.f64 -2 y) x) |
(*.f64 y b) |
(*.f64 b y) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 y b (fma.f64 -2 b x)) |
(fma.f64 b (+.f64 -2 y) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 y b (fma.f64 -2 b x)) |
(fma.f64 b (+.f64 -2 y) x) |
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x)) |
(fma.f64 y b (fma.f64 -2 b x)) |
(fma.f64 b (+.f64 -2 y) x) |
x |
(*.f64 (-.f64 y 2) b) |
(*.f64 b (+.f64 y -2)) |
(*.f64 b (+.f64 -2 y)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 b (+.f64 y -2)) |
(*.f64 b (+.f64 -2 y)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 b (+.f64 y -2)) |
(*.f64 b (+.f64 -2 y)) |
x |
x |
(*.f64 -2 b) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 b (+.f64 y -2)) |
(*.f64 b (+.f64 -2 y)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 b (+.f64 y -2)) |
(*.f64 b (+.f64 -2 y)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 b (+.f64 y -2)) |
(*.f64 b (+.f64 -2 y)) |
(*.f64 y b) |
(*.f64 b y) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 b (+.f64 y -2)) |
(*.f64 b (+.f64 -2 y)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 b (+.f64 y -2)) |
(*.f64 b (+.f64 -2 y)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 b (+.f64 y -2)) |
(*.f64 b (+.f64 -2 y)) |
(*.f64 y b) |
(*.f64 b y) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 b (+.f64 y -2)) |
(*.f64 b (+.f64 -2 y)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 b (+.f64 y -2)) |
(*.f64 b (+.f64 -2 y)) |
(+.f64 (*.f64 y b) (*.f64 -2 b)) |
(*.f64 b (+.f64 y -2)) |
(*.f64 b (+.f64 -2 y)) |
Compiled 6205 to 3973 computations (36% saved)
27 alts after pruning (18 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 373 | 8 | 381 |
| Fresh | 5 | 10 | 15 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 9 | 9 |
| Total | 379 | 27 | 406 |
| Status | Error | Program |
|---|---|---|
| ✓ | 21.9b | (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1))) |
| 27.2b | (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) | |
| 31.3b | (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) | |
| 47.5b | x | |
| 25.7b | (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) | |
| ✓ | 45.9b | (*.f64 a (-.f64 1 t)) |
| 56.2b | (*.f64 -2 b) | |
| 43.7b | (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) | |
| ✓ | 42.5b | (-.f64 x (*.f64 z y)) |
| 57.7b | (*.f64 z (neg.f64 y)) | |
| ✓ | 33.5b | (-.f64 x (*.f64 z (-.f64 y 1))) |
| 39.6b | (-.f64 x (*.f64 -1 a)) | |
| 53.6b | (*.f64 t (neg.f64 a)) | |
| 43.7b | (-.f64 (*.f64 y b) (*.f64 z (-.f64 y 1))) | |
| ✓ | 57.8b | (*.f64 b t) |
| 52.6b | (+.f64 (*.f64 b y) (*.f64 (neg.f64 z) y)) | |
| ✓ | 52.6b | (*.f64 y (-.f64 b z)) |
| 38.6b | (+.f64 z x) | |
| ✓ | 57.5b | (*.f64 b y) |
| 38.6b | (-.f64 x (*.f64 t a)) | |
| 51.2b | (*.f64 (-.f64 y 2) b) | |
| 31.3b | (fma.f64 (+.f64 y (+.f64 t -2)) b x) | |
| 30.6b | (-.f64 x (-.f64 (neg.f64 a) z)) | |
| 53.8b | z | |
| 37.4b | (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 z (-.f64 y 1))) | |
| ✓ | 51.4b | (*.f64 b (-.f64 t 2)) |
| ✓ | 48.7b | (-.f64 z (*.f64 y z)) |
Compiled 325 to 249 computations (23.4% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (*.f64 t a)) |
(*.f64 y (-.f64 b z)) |
(-.f64 x (*.f64 -1 a)) |
(-.f64 x (*.f64 z y)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(+.f64 (*.f64 b y) (*.f64 (neg.f64 z) y)) |
(-.f64 (*.f64 y b) (*.f64 z (-.f64 y 1))) |
(-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
(-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) |
(-.f64 (*.f64 (-.f64 y 2) b) (*.f64 z (-.f64 y 1))) |
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) |
(-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1))) |
(fma.f64 (+.f64 y (+.f64 t -2)) b x) |
| Outputs |
|---|
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) |
(-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1))) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1))) |
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) |
6 calls:
| 252.0ms | x |
| 135.0ms | y |
| 113.0ms | z |
| 98.0ms | b |
| 77.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 17.3b | 6 | x |
| 14.3b | 7 | y |
| 13.1b | 5 | z |
| 13.0b | 5 | t |
| 13.3b | 3 | a |
| 14.3b | 7 | b |
Compiled 211 to 126 computations (40.3% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 2916.315739342115 | 151811.30358731226 |
| 56.0ms | 6.410991055704619e-116 | 1.2503500429360544e-108 |
| 31.0ms | 1.0679795993739348e-225 | 5.913457373526676e-223 |
| 31.0ms | -1.5999351883990136e+40 | -4.785060634090287e+38 |
Compiled 36 to 27 computations (25% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (*.f64 t a)) |
(*.f64 y (-.f64 b z)) |
(-.f64 x (*.f64 -1 a)) |
(-.f64 x (*.f64 z y)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(+.f64 (*.f64 b y) (*.f64 (neg.f64 z) y)) |
(-.f64 (*.f64 y b) (*.f64 z (-.f64 y 1))) |
(-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
(-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) |
(-.f64 (*.f64 (-.f64 y 2) b) (*.f64 z (-.f64 y 1))) |
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) |
| Outputs |
|---|
(-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) |
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) |
(-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) |
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
6 calls:
| 184.0ms | x |
| 123.0ms | y |
| 117.0ms | z |
| 112.0ms | b |
| 87.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 15.3b | 12 | x |
| 16.4b | 6 | y |
| 16.0b | 6 | z |
| 15.4b | 4 | t |
| 16.1b | 5 | a |
| 14.9b | 7 | b |
Compiled 190 to 114 computations (40% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 200.0ms | 1.091992425686953e+62 | 2.7144176852838105e+72 |
| 53.0ms | 1.806003588238974e-71 | 1.2523353557905353e-69 |
| 31.0ms | 2.0294780616480287e-103 | 8.018960833648352e-102 |
| 36.0ms | 4.786870050354409e-299 | 4.1817219011102355e-296 |
| 41.0ms | -5.9559471691959226e-186 | -5.240550815404825e-188 |
| 45.0ms | -54.95269838053092 | -9.221595079074506e-7 |
Compiled 376 to 277 computations (26.3% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (*.f64 t a)) |
(*.f64 y (-.f64 b z)) |
(-.f64 x (*.f64 -1 a)) |
(-.f64 x (*.f64 z y)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(+.f64 (*.f64 b y) (*.f64 (neg.f64 z) y)) |
(-.f64 (*.f64 y b) (*.f64 z (-.f64 y 1))) |
(-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
(-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) |
(-.f64 (*.f64 (-.f64 y 2) b) (*.f64 z (-.f64 y 1))) |
| Outputs |
|---|
(*.f64 a (-.f64 1 t)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
(-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) |
(*.f64 a (-.f64 1 t)) |
6 calls:
| 92.0ms | y |
| 83.0ms | a |
| 76.0ms | x |
| 70.0ms | t |
| 62.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 21.1b | 6 | x |
| 21.0b | 8 | y |
| 22.7b | 3 | z |
| 19.3b | 6 | t |
| 16.9b | 7 | a |
| 20.5b | 5 | b |
Compiled 179 to 108 computations (39.7% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 93.0ms | 1.604779261854079e+166 | 1.7707945854981008e+172 |
| 32.0ms | 2.900856420031732e-194 | 1.4083976234536662e-190 |
| 32.0ms | 2.551762021893823e-271 | 3.0388623601802274e-269 |
| 32.0ms | -1.0412127176822209e-215 | -2.279005351007317e-216 |
| 34.0ms | -2.3331988442633054e-167 | -8.704034286399084e-168 |
| 33.0ms | -1.8426532857969448e+28 | -8.442727621979952e+27 |
Compiled 297 to 234 computations (21.2% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (*.f64 t a)) |
(*.f64 y (-.f64 b z)) |
(-.f64 x (*.f64 -1 a)) |
(-.f64 x (*.f64 z y)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(+.f64 (*.f64 b y) (*.f64 (neg.f64 z) y)) |
(-.f64 (*.f64 y b) (*.f64 z (-.f64 y 1))) |
(-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
| Outputs |
|---|
(*.f64 a (-.f64 1 t)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
(-.f64 (*.f64 y b) (*.f64 z (-.f64 y 1))) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(*.f64 a (-.f64 1 t)) |
6 calls:
| 130.0ms | a |
| 91.0ms | y |
| 87.0ms | t |
| 63.0ms | b |
| 60.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 24.9b | 5 | x |
| 22.1b | 8 | y |
| 22.7b | 3 | z |
| 20.2b | 7 | t |
| 16.6b | 10 | a |
| 20.9b | 5 | b |
Compiled 158 to 96 computations (39.2% saved)
| 9× | binary-search |
| Time | Left | Right |
|---|---|---|
| 87.0ms | 1.604779261854079e+166 | 1.7707945854981008e+172 |
| 31.0ms | 29.274290580877597 | 4061.02083506581 |
| 32.0ms | 1.012855454405422e-144 | 1.9326540674348602e-141 |
| 31.0ms | 8.607889128858485e-169 | 7.818304486030865e-164 |
| 31.0ms | 2.551762021893823e-271 | 3.0388623601802274e-269 |
| 34.0ms | -5.4926942540199806e-278 | -2.1611058037107756e-282 |
| 32.0ms | -1.0412127176822209e-215 | -2.279005351007317e-216 |
| 32.0ms | -2.3331988442633054e-167 | -8.704034286399084e-168 |
| 33.0ms | -1.8426532857969448e+28 | -8.442727621979952e+27 |
Compiled 261 to 207 computations (20.7% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (*.f64 t a)) |
(*.f64 y (-.f64 b z)) |
(-.f64 x (*.f64 -1 a)) |
(-.f64 x (*.f64 z y)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(+.f64 (*.f64 b y) (*.f64 (neg.f64 z) y)) |
(-.f64 (*.f64 y b) (*.f64 z (-.f64 y 1))) |
(-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) |
| Outputs |
|---|
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (*.f64 t a)) |
6 calls:
| 89.0ms | t |
| 81.0ms | z |
| 74.0ms | b |
| 60.0ms | y |
| 33.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 27.3b | 3 | x |
| 23.8b | 6 | y |
| 24.5b | 7 | z |
| 19.9b | 9 | t |
| 23.6b | 3 | a |
| 23.9b | 7 | b |
Compiled 149 to 91 computations (38.9% saved)
| 8× | binary-search |
| Time | Left | Right |
|---|---|---|
| 32.0ms | 831441.7102027182 | 7031967114.123438 |
| 31.0ms | 3.3058393724601264e-285 | 2.1564517825815376e-284 |
| 32.0ms | -1.3523958354620057e-250 | -3.1113117540645836e-254 |
| 32.0ms | -3.4882689135838257e-230 | -5.243016373521411e-231 |
| 32.0ms | -3.2352339306147185e-221 | -5.305884555320003e-222 |
| 45.0ms | -3.1488478664116253e-168 | -1.2575424622395236e-169 |
| 31.0ms | -5.928484976876344e-27 | -1.75278588784042e-30 |
| 33.0ms | -1.5999351883990136e+40 | -4.785060634090287e+38 |
Compiled 36 to 27 computations (25% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (*.f64 t a)) |
(*.f64 y (-.f64 b z)) |
(-.f64 x (*.f64 -1 a)) |
(-.f64 x (*.f64 z y)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(+.f64 (*.f64 b y) (*.f64 (neg.f64 z) y)) |
(-.f64 (*.f64 y b) (*.f64 z (-.f64 y 1))) |
| Outputs |
|---|
(-.f64 x (*.f64 t a)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (*.f64 t a)) |
6 calls:
| 79.0ms | x |
| 71.0ms | t |
| 65.0ms | b |
| 42.0ms | z |
| 40.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 24.8b | 7 | x |
| 25.6b | 4 | y |
| 27.0b | 4 | z |
| 22.4b | 7 | t |
| 23.6b | 3 | a |
| 25.3b | 5 | b |
Compiled 140 to 85 computations (39.3% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 831441.7102027182 | 7031967114.123438 |
| 31.0ms | -3.4882689135838257e-230 | -5.243016373521411e-231 |
| 30.0ms | -3.2352339306147185e-221 | -5.305884555320003e-222 |
| 31.0ms | -1.9080861308979917e-156 | -1.2557811553259526e-156 |
| 31.0ms | -3.0663959499885217e-83 | -1.1985188293096451e-91 |
| 30.0ms | -8.511935691559604e+33 | -8.338265370437775e+30 |
Compiled 36 to 27 computations (25% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (*.f64 t a)) |
(*.f64 y (-.f64 b z)) |
(-.f64 x (*.f64 -1 a)) |
(-.f64 x (*.f64 z y)) |
(*.f64 a (-.f64 1 t)) |
| Outputs |
|---|
(-.f64 x (*.f64 t a)) |
(*.f64 b (-.f64 t 2)) |
(*.f64 y (-.f64 b z)) |
(*.f64 a (-.f64 1 t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 a (-.f64 1 t)) |
(-.f64 z (*.f64 y z)) |
(-.f64 x (*.f64 t a)) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (*.f64 t a)) |
(+.f64 z x) |
6 calls:
| 253.0ms | x |
| 72.0ms | t |
| 65.0ms | b |
| 58.0ms | y |
| 40.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 26.2b | 12 | x |
| 28.7b | 7 | y |
| 29.8b | 5 | z |
| 26.3b | 9 | t |
| 27.8b | 3 | a |
| 28.9b | 8 | b |
Compiled 110 to 71 computations (35.5% saved)
| 11× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 4.979418264783029e+196 | 5.979073883403155e+198 |
| 32.0ms | 7.73874449609612e+106 | 2.305289575467548e+115 |
| 84.0ms | 0.8745680873397529 | 0.9655927970511837 |
| 45.0ms | 2.1637418200907455e-9 | 7.239235790576749e-9 |
| 34.0ms | 8.797173011027828e-53 | 1.3738169127061003e-52 |
| 31.0ms | 5.361786587318497e-191 | 1.1653055449965185e-181 |
| 118.0ms | -3.4904607590011354e-231 | -2.9795817517081662e-235 |
| 63.0ms | -1.1140655086702975e-159 | -1.0028157166269523e-161 |
| 31.0ms | -6.432191492546112e-90 | -7.64665919652738e-95 |
| 31.0ms | -1.008545031922205e-77 | -3.166757176037048e-81 |
| 110.0ms | -4.908571517904543e-10 | -2.67120657552258e-10 |
Compiled 36 to 27 computations (25% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (*.f64 t a)) |
(*.f64 y (-.f64 b z)) |
(-.f64 x (*.f64 -1 a)) |
(-.f64 x (*.f64 z y)) |
| Outputs |
|---|
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 -1 a)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (*.f64 -1 a)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (*.f64 -1 a)) |
(-.f64 z (*.f64 y z)) |
(-.f64 x (*.f64 -1 a)) |
(-.f64 x (*.f64 t a)) |
6 calls:
| 145.0ms | t |
| 131.0ms | b |
| 108.0ms | a |
| 98.0ms | x |
| 70.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 30.3b | 9 | x |
| 29.9b | 5 | y |
| 29.8b | 5 | z |
| 26.3b | 9 | t |
| 30.5b | 4 | a |
| 29.9b | 7 | b |
Compiled 105 to 68 computations (35.2% saved)
| 8× | binary-search |
| Time | Left | Right |
|---|---|---|
| 34.0ms | 2.7472433807280564e-27 | 4.964857581765274e-22 |
| 33.0ms | 2.8015929858970816e-221 | 1.3711240020147655e-217 |
| 33.0ms | 3.521420401100466e-239 | 9.257217621675598e-238 |
| 38.0ms | -2.69051687500648e-303 | -2.0979831251585485e-305 |
| 63.0ms | -3.2352339306147185e-221 | -5.305884555320003e-222 |
| 60.0ms | -3.1488478664116253e-168 | -1.2575424622395236e-169 |
| 31.0ms | -3.106378692354201e-75 | -3.0663959499885217e-83 |
| 54.0ms | -3179.6749671733455 | -2.316290388534754e-19 |
Compiled 36 to 27 computations (25% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (*.f64 t a)) |
(*.f64 y (-.f64 b z)) |
| Outputs |
|---|
(-.f64 x (*.f64 t a)) |
(*.f64 b (-.f64 t 2)) |
(-.f64 x (*.f64 t a)) |
(+.f64 z x) |
(*.f64 y (-.f64 b z)) |
6 calls:
| 170.0ms | x |
| 66.0ms | z |
| 59.0ms | b |
| 59.0ms | t |
| 43.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 30.4b | 10 | x |
| 29.9b | 5 | y |
| 31.0b | 5 | z |
| 29.9b | 6 | t |
| 33.6b | 3 | a |
| 30.1b | 7 | b |
Compiled 95 to 63 computations (33.7% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 33.0ms | 506079796276037.4 | 9.197617028802874e+40 |
| 34.0ms | -1.7450287997095854e-185 | -7.310299985834805e-187 |
| 33.0ms | -6.169352425639303e-80 | -2.103158134950079e-80 |
| 35.0ms | -2.988850179617078e-45 | -1.5387805466222065e-45 |
Compiled 36 to 27 computations (25% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
(*.f64 (-.f64 y 2) b) |
(-.f64 x (*.f64 t a)) |
| Outputs |
|---|
(-.f64 x (*.f64 t a)) |
(*.f64 (-.f64 y 2) b) |
(+.f64 z x) |
(*.f64 (-.f64 y 2) b) |
(+.f64 z x) |
(-.f64 x (*.f64 t a)) |
6 calls:
| 73.0ms | x |
| 72.0ms | b |
| 59.0ms | a |
| 49.0ms | y |
| 41.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 30.4b | 10 | x |
| 30.7b | 7 | y |
| 31.0b | 5 | z |
| 29.9b | 6 | t |
| 33.6b | 3 | a |
| 30.1b | 7 | b |
Compiled 90 to 61 computations (32.2% saved)
| 5× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 831441.7102027182 | 7031967114.123438 |
| 31.0ms | -3.4882689135838257e-230 | -5.243016373521411e-231 |
| 32.0ms | -3.2352339306147185e-221 | -5.305884555320003e-222 |
| 33.0ms | -3.1488478664116253e-168 | -1.2575424622395236e-169 |
| 32.0ms | -1.75278588784042e-30 | -1.004987139787051e-30 |
Compiled 36 to 27 computations (25% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
(*.f64 (-.f64 y 2) b) |
| Outputs |
|---|
(*.f64 (-.f64 y 2) b) |
(+.f64 z x) |
(*.f64 t (neg.f64 a)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
6 calls:
| 74.0ms | y |
| 61.0ms | x |
| 57.0ms | t |
| 49.0ms | b |
| 43.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 34.1b | 4 | x |
| 32.9b | 8 | y |
| 35.8b | 5 | z |
| 32.4b | 9 | t |
| 34.8b | 3 | a |
| 32.0b | 5 | b |
Compiled 85 to 59 computations (30.6% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 53.0ms | 1.3110229640825212e-12 | 1.4365110480132014e-8 |
| 31.0ms | 7.932072411628089e-27 | 9.887511769989365e-27 |
| 32.0ms | 2.572648219310054e-62 | 1.627175878828333e-58 |
| 151.0ms | -1.4734104756830015e+32 | -3749703044341639.0 |
Compiled 36 to 27 computations (25% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
| Outputs |
|---|
(*.f64 b (-.f64 t 2)) |
(+.f64 z x) |
(*.f64 t (neg.f64 a)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b (-.f64 t 2)) |
6 calls:
| 53.0ms | y |
| 39.0ms | b |
| 30.0ms | t |
| 30.0ms | x |
| 20.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 34.2b | 4 | x |
| 32.9b | 8 | y |
| 38.6b | 1 | z |
| 35.8b | 5 | t |
| 34.8b | 3 | a |
| 32.7b | 5 | b |
Compiled 80 to 56 computations (30% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 47.0ms | 1.3110229640825212e-12 | 1.4365110480132014e-8 |
| 66.0ms | 7.932072411628089e-27 | 9.887511769989365e-27 |
| 34.0ms | 2.572648219310054e-62 | 1.627175878828333e-58 |
| 49.0ms | -2.9733329038496956e+191 | -1.7562571504573602e+186 |
Compiled 234 to 189 computations (19.2% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
(-.f64 z (*.f64 y z)) |
| Outputs |
|---|
(*.f64 -2 b) |
(+.f64 z x) |
(*.f64 t (neg.f64 a)) |
(-.f64 z (*.f64 y z)) |
(*.f64 b t) |
(+.f64 z x) |
(*.f64 -2 b) |
6 calls:
| 60.0ms | b |
| 36.0ms | t |
| 29.0ms | a |
| 24.0ms | y |
| 19.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 35.5b | 3 | x |
| 34.9b | 4 | y |
| 38.6b | 1 | z |
| 35.8b | 5 | t |
| 34.8b | 3 | a |
| 33.2b | 7 | b |
Compiled 75 to 53 computations (29.3% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 42.0ms | 1.0294353497248386e+225 | 1.6087851604636772e+236 |
| 95.0ms | 3.662490732197169e+136 | 4.54319402382013e+140 |
| 42.0ms | 1.3110229640825212e-12 | 1.4365110480132014e-8 |
| 31.0ms | 7.932072411628089e-27 | 9.887511769989365e-27 |
| 32.0ms | 2.572648219310054e-62 | 1.627175878828333e-58 |
| 46.0ms | -2.9733329038496956e+191 | -1.7562571504573602e+186 |
Compiled 576 to 478 computations (17% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
(*.f64 t (neg.f64 a)) |
(*.f64 z (neg.f64 y)) |
| Outputs |
|---|
(*.f64 -2 b) |
(+.f64 z x) |
(*.f64 t (neg.f64 a)) |
(+.f64 z x) |
(*.f64 -2 b) |
6 calls:
| 38.0ms | t |
| 33.0ms | x |
| 30.0ms | a |
| 28.0ms | b |
| 23.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 37.4b | 3 | x |
| 34.9b | 4 | y |
| 38.6b | 1 | z |
| 35.8b | 5 | t |
| 34.8b | 3 | a |
| 34.4b | 5 | b |
Compiled 70 to 51 computations (27.1% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 40.0ms | 1.0294353497248386e+225 | 1.6087851604636772e+236 |
| 31.0ms | 9.887511769989365e-27 | 1.669629237590086e-23 |
| 33.0ms | 2.572648219310054e-62 | 1.627175878828333e-58 |
| 48.0ms | -2.9733329038496956e+191 | -1.7562571504573602e+186 |
Compiled 416 to 350 computations (15.9% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
(*.f64 -2 b) |
| Outputs |
|---|
(*.f64 -2 b) |
(+.f64 z x) |
(*.f64 -2 b) |
6 calls:
| 24.0ms | t |
| 15.0ms | b |
| 10.0ms | y |
| 6.0ms | z |
| 6.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 38.6b | 1 | x |
| 37.1b | 2 | y |
| 38.6b | 1 | z |
| 36.6b | 5 | t |
| 38.6b | 1 | a |
| 35.4b | 3 | b |
Compiled 62 to 47 computations (24.2% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 41.0ms | 1.0294353497248386e+225 | 1.6087851604636772e+236 |
| 46.0ms | -2.9733329038496956e+191 | -1.7562571504573602e+186 |
Compiled 416 to 350 computations (15.9% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
(*.f64 b t) |
| Outputs |
|---|
(+.f64 z x) |
(*.f64 b t) |
(+.f64 z x) |
(*.f64 b t) |
x |
6 calls:
| 23.0ms | t |
| 10.0ms | y |
| 5.0ms | a |
| 5.0ms | x |
| 5.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 38.6b | 1 | x |
| 37.1b | 2 | y |
| 38.6b | 1 | z |
| 36.6b | 5 | t |
| 38.6b | 1 | a |
| 38.6b | 1 | b |
Compiled 59 to 45 computations (23.7% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 32.0ms | 3.7675554977434736e+305 | 1.4032517583277473e+308 |
| 15.0ms | 7.630946571031916e+210 | 1.434576583256946e+211 |
| 133.0ms | -8.587636820394426e+95 | -4.211579186340038e+85 |
| 40.0ms | -3.359178499392055e+183 | -3.0563133687722922e+181 |
Compiled 600 to 483 computations (19.5% saved)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
(+.f64 z x) |
| Outputs |
|---|
(+.f64 z x) |
(*.f64 b y) |
6 calls:
| 9.0ms | y |
| 6.0ms | t |
| 5.0ms | a |
| 5.0ms | b |
| 4.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 38.6b | 1 | x |
| 37.1b | 2 | y |
| 38.6b | 1 | z |
| 38.6b | 1 | t |
| 38.6b | 1 | a |
| 38.6b | 1 | b |
Compiled 56 to 44 computations (21.4% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 89.0ms | 6.2676329271459944e+60 | 9.942746492509998e+61 |
Compiled 156 to 123 computations (21.2% saved)
Total -22.2b remaining (-54.4%)
Threshold costs -22.2b (-54.4%)
| Inputs |
|---|
z |
x |
(*.f64 b y) |
| Outputs |
|---|
x |
z |
x |
6 calls:
| 22.0ms | y |
| 15.0ms | z |
| 13.0ms | x |
| 11.0ms | t |
| 8.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 40.8b | 3 | x |
| 42.6b | 6 | y |
| 42.2b | 3 | z |
| 46.3b | 3 | t |
| 46.3b | 2 | a |
| 47.5b | 1 | b |
Compiled 53 to 43 computations (18.9% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 35.0ms | 3.162751807186277e+44 | 3.3608175545561235e+55 |
| 35.0ms | -4584861104611533300.0 | -5882750606.519803 |
Compiled 36 to 27 computations (25% saved)
| 1× | egg-herbie |
| 129× | cancel-sign-sub-inv_binary64 |
| 123× | distribute-rgt-neg-in_binary64 |
| 78× | distribute-lft-neg-out_binary64 |
| 77× | distribute-lft-neg-in_binary64 |
| 73× | neg-sub0_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 277 | 1441 |
| 1 | 349 | 1405 |
| 2 | 419 | 1405 |
| 3 | 493 | 1405 |
| 4 | 604 | 1405 |
| 5 | 682 | 1405 |
| 6 | 742 | 1405 |
| 7 | 790 | 1405 |
| 8 | 843 | 1405 |
| 9 | 900 | 1405 |
| 10 | 964 | 1405 |
| 11 | 1023 | 1405 |
| 12 | 1087 | 1405 |
| 13 | 1150 | 1405 |
| 14 | 1205 | 1405 |
| 15 | 1221 | 1405 |
| 1× | saturated |
| Inputs |
|---|
(if (<=.f64 t -15999351883990135915017605607007398658048) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (if (<=.f64 t 7121303382646642/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1))) (if (<=.f64 t 2844089697509089/44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525184) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 1603261532836409/549755813888) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1))) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)))))) |
(if (<=.f64 b -3866952374211911/70368744177664) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (if (<=.f64 b -116709960745322992/19595533242629369747791401605606558418088927130487463844933662202465281465266200982457647235235528838735010358900495684567911298014908298340170885513171109743249504533143507682501017145381579984990109696) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (if (<=.f64 b 2255833904447527/47125446914534694131579097993419809976955095716785201420286055195012674566357244479460731079205201122720511132925006540350105785156086431086764996857554304860885586653967937772270969055149056096849908977391371752266308172471982589601097478449614615258949356272900190565812730839296826751014759649673012612226351104) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 b 4094233966617717/20173827172553973356686868531273530268200826506478308693989526222973809547006571833044104322501076808092993531037089792) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (if (<=.f64 b 8981675494706942/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (if (<=.f64 b 2700000000000000064040261715662493021809766571119019488687602912003620864) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))))))) |
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -24785011019688256/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a -16165015821352382/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 a 2486772218572026368/9745314011399999080353382387875188310876226857595007526867906457212948690766426102465615065882010259225304916231408668183459169865203094046577987296312653419531277699956473029870789655490053648352799593479218378873685597925394874945746363615468965612827738803104277547081828589991914110976) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (if (<=.f64 a 2441423840039360512/84162174424773976115855838126082058648805436845170781751972494449099714468753293153818664580441415219631727501698851483408310916002940861810045036330430093599283578738055113571066620126149163476340692027772502016) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (*.f64 a (-.f64 1 t)))))))) |
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -24785011019688256/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a -16165015821352382/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 a -2192508120024563/39916806190694396233127454260736771321349025208709150830050944848744237837379281315699159309852714021786848936883849904879448759767871873214783435965696628406400113459021713530350754428887259743653067134890878479866616209102417407777777105368960883150142418137515120832847169904606880198557696) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 2486772218572026368/9745314011399999080353382387875188310876226857595007526867906457212948690766426102465615065882010259225304916231408668183459169865203094046577987296312653419531277699956473029870789655490053648352799593479218378873685597925394874945746363615468965612827738803104277547081828589991914110976) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 a 7315163126865865/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 7119920899535735/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (-.f64 (*.f64 y b) (*.f64 z (-.f64 y 1))) (if (<=.f64 a 4119990129736749/140737488355328) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (-.f64 x (-.f64 (neg.f64 a) z)) (*.f64 a (-.f64 1 t))))))))))) |
(if (<=.f64 t -15999351883990135915017605607007398658048) (-.f64 x (*.f64 t a)) (if (<=.f64 t -4131551027582377/696898287454081973172991196020261297061888) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) (if (<=.f64 t -4360738060334635/32244539253885818258809801325470984284597615114509370247067914369303827060346976286280350090799388909587060241287666545341940158661052584060701841947200901910912273193298650156782929545680324771302748590589061792245363054977512313161523248215761503691988438775496704) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 t 8855588353915685/2678771517965668302371062622650004526403512029263834018609375970925877627812340306232995947039239645318986682293882867062967863214230785108996144393674643700983641943706057746355268651265592785469488545538261618745895485316849691889791385986519265728642799119421635541915107457913156096709301417017344) (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) (if (<=.f64 t 3571014953850984/4294967296) (-.f64 x (-.f64 (neg.f64 a) z)) (-.f64 x (*.f64 t a)))))))))) |
(if (<=.f64 t -8511935691559604235658659062874112) (-.f64 x (*.f64 t a)) (if (<=.f64 t -2095930238776277/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -471927708800262976/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 (-.f64 y 2) b) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 (-.f64 y 2) b) (if (<=.f64 t 3571014953850984/4294967296) (-.f64 x (-.f64 (neg.f64 a) z)) (-.f64 x (*.f64 t a)))))))) |
(if (<=.f64 x -4747279076335819/9671406556917033397649408) (-.f64 x (*.f64 t a)) (if (<=.f64 x -5259372835274097/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) (*.f64 b (-.f64 t 2)) (if (<=.f64 x -59008889143750480/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) (*.f64 y (-.f64 b z)) (if (<=.f64 x -8817352624856419/7914572847139345089936080672628710081124203171238778877250017794972711203409019749450124833959777439667125485632516458859243681097816038718961476963260581373331416708758372352) (*.f64 a (-.f64 1 t)) (if (<=.f64 x -3050627755988791/873989987746428259412194333913416701987357762822590714399458303903535888835232670878457161432636363996257309241302481691723537010408733419813385804491106555801784494262060916206872597091033287849274902594962928694944169726768114734355431735427072) (*.f64 (-.f64 y 2) b) (if (<=.f64 x 1075886769271643/20065826040452474621738395244141115820123061381619162977212070095324448220432589806036630768881181530864650607514107580997541169167266097500334986765487216377087492641938951866881041556870737904629872328704) (*.f64 a (-.f64 1 t)) (if (<=.f64 x 4743426303980145/53919893334301279589334030174039261347274288845081144962207220498432) (-.f64 z (*.f64 y z)) (if (<=.f64 x 1307901676643827/604462909807314587353088) (-.f64 x (*.f64 t a)) (if (<=.f64 x 16132933682190084096/18446744073709551616) (-.f64 z (*.f64 y z)) (if (<=.f64 x 77387444960961195054143108871215036933805435381328695698480145791627490923557546837116516814352772872798208) (*.f64 a (-.f64 1 t)) (if (<=.f64 x 49794182647830287688697157720815387484676887762239202682054373234483690541587714692515618537161045510686087340432550246804454792304042310051577505332319730502896656296597390390634519967965070229504) (-.f64 x (*.f64 t a)) (+.f64 z x)))))))))))) |
(if (<=.f64 t -6992179197910729/2199023255552) (-.f64 x (*.f64 t a)) (if (<=.f64 t -197743911013887/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (-.f64 x (*.f64 -1 a)) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 (-.f64 y 2) b) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (*.f64 -1 a)) (if (<=.f64 t -2077357017756101/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (*.f64 (-.f64 y 2) b) (if (<=.f64 t 4130800456649679/117304950450073441093299338992332138457996243649210992760592177980666118165925495436678284352817677825758656549761022853424729541660972550965022826666248518125620733165482852770884817967017897067499683873717228533661411547573197142488509591988118713532416) (-.f64 x (*.f64 -1 a)) (if (<=.f64 t 1425251958085381/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (-.f64 z (*.f64 y z)) (if (<=.f64 t 1914549207248945/696898287454081973172991196020261297061888) (-.f64 x (*.f64 -1 a)) (-.f64 x (*.f64 t a)))))))))) |
(if (<=.f64 y -4802897062216999/1606938044258990275541962092341162602522202993782792835301376) (-.f64 x (*.f64 t a)) (if (<=.f64 y -131776568011927712/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (*.f64 b (-.f64 t 2)) (if (<=.f64 y -341947698540548096/19595533242629369747791401605606558418088927130487463844933662202465281465266200982457647235235528838735010358900495684567911298014908298340170885513171109743249504533143507682501017145381579984990109696) (-.f64 x (*.f64 t a)) (if (<=.f64 y 4048638370208299/8) (+.f64 z x) (*.f64 y (-.f64 b z)))))) |
(if (<=.f64 t -2561699444969274368/1461501637330902918203684832716283019655932542976) (-.f64 x (*.f64 t a)) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 (-.f64 y 2) b) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (+.f64 z x) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 (-.f64 y 2) b) (if (<=.f64 t 3571014953850984/4294967296) (+.f64 z x) (-.f64 x (*.f64 t a))))))) |
(if (<=.f64 b -147341047568300151231422966792192) (*.f64 (-.f64 y 2) b) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 103869940458262528/79228162514264337593543950336) (-.f64 z (*.f64 y z)) (*.f64 b (-.f64 t 2)))))) |
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 b (-.f64 t 2)) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 103869940458262528/79228162514264337593543950336) (-.f64 z (*.f64 y z)) (*.f64 b (-.f64 t 2)))))) |
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 -2 b) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 103869940458262528/79228162514264337593543950336) (-.f64 z (*.f64 y z)) (if (<=.f64 b 37000000000000001008557821853629577750045931195064682787579133345235758228802407311876238916878618698934503414608903601537740395646025728) (*.f64 b t) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 z x) (*.f64 -2 b))))))) |
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 -2 b) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 6890590019687667/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 z x) (*.f64 -2 b))))) |
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 -2 b) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 z x) (*.f64 -2 b))) |
(if (<=.f64 t -30999999999999998904638608932969622982155091030250318048362208305286811988399558162205597385636494640609239417259299346998803994055143086354010813314883855630282430499123311142764544) (+.f64 z x) (if (<=.f64 t -850000000000000024596740969270791447398224915288230182576389346377799502773725039461333450358784) (*.f64 b t) (if (<=.f64 t 13999999999999999855581552454285960023486302440584291807924828886544231683055815344040644936592592831832869934748688494214455139984565754717568158483286513913468982798712029670188107984671825008191110663660109824) (+.f64 z x) (if (<=.f64 t 380000000000000015897605997703851952095060465865211591726156750090311880866128717159840514848443704303060796014175199459210918287854841893985639816765317731761466640034530097685683789446064873905219974457059554176110681853804745135805257967824601875588603788785040202754444178889256663086160725196905906176) (*.f64 b t) x)))) |
(if (<=.f64 y 98000000000000005030673108054973016370438997225780141841448960) (+.f64 z x) (*.f64 b y)) |
(if (<=.f64 x -4584861104611533312) x (if (<=.f64 x 316275180718627704465155828100411226998177792) z x)) |
z |
| Outputs |
|---|
(if (<=.f64 t -15999351883990135915017605607007398658048) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (if (<=.f64 t 7121303382646642/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1))) (if (<=.f64 t 2844089697509089/44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525184) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 1603261532836409/549755813888) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1))) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)))))) |
(if (<=.f64 t -15999351883990135915017605607007398658048) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 t 3560651691323321/3334007216439927137039925895360628898572379161157954080198128905882018618908816035760716100435777145371464955296716620222944400827059682540181678026165415023047578789757007279231539142955907012364482508067943300990845374018738230645581938688) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (*.f64 z (+.f64 y -1))) (if (<=.f64 t 2844089697509089/44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525184) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 1603261532836409/549755813888) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (*.f64 z (+.f64 y -1))) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)))))) |
(if (<=.f64 t -15999351883990135915017605607007398658048) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 t 3560651691323321/3334007216439927137039925895360628898572379161157954080198128905882018618908816035760716100435777145371464955296716620222944400827059682540181678026165415023047578789757007279231539142955907012364482508067943300990845374018738230645581938688) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (*.f64 z (+.f64 y -1))) (if (<=.f64 t 2844089697509089/44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525184) (+.f64 x (+.f64 a z)) (if (<=.f64 t 1603261532836409/549755813888) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (*.f64 z (+.f64 y -1))) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)))))) |
(if (<=.f64 t -15999351883990135915017605607007398658048) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 t 3560651691323321/3334007216439927137039925895360628898572379161157954080198128905882018618908816035760716100435777145371464955296716620222944400827059682540181678026165415023047578789757007279231539142955907012364482508067943300990845374018738230645581938688) (+.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (*.f64 z (-.f64 1 y))) (if (<=.f64 t 2844089697509089/44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525184) (+.f64 x (+.f64 a z)) (if (<=.f64 t 1603261532836409/549755813888) (+.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (*.f64 z (-.f64 1 y))) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)))))) |
(if (<=.f64 b -3866952374211911/70368744177664) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (if (<=.f64 b -116709960745322992/19595533242629369747791401605606558418088927130487463844933662202465281465266200982457647235235528838735010358900495684567911298014908298340170885513171109743249504533143507682501017145381579984990109696) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (if (<=.f64 b 2255833904447527/47125446914534694131579097993419809976955095716785201420286055195012674566357244479460731079205201122720511132925006540350105785156086431086764996857554304860885586653967937772270969055149056096849908977391371752266308172471982589601097478449614615258949356272900190565812730839296826751014759649673012612226351104) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 b 4094233966617717/20173827172553973356686868531273530268200826506478308693989526222973809547006571833044104322501076808092993531037089792) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (if (<=.f64 b 8981675494706942/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (if (<=.f64 b 2700000000000000064040261715662493021809766571119019488687602912003620864) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))))))) |
(if (<=.f64 b -3866952374211911/70368744177664) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (neg.f64 z)) (if (<=.f64 b -7294372546582687/1224720827664335609236962600350409901130557945655466490308353887654080091579137561403602952202220552420938147431280980285494456125931768646260680344573194358953094033321469230156313571586348749061881856) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 b 2255833904447527/47125446914534694131579097993419809976955095716785201420286055195012674566357244479460731079205201122720511132925006540350105785156086431086764996857554304860885586653967937772270969055149056096849908977391371752266308172471982589601097478449614615258949356272900190565812730839296826751014759649673012612226351104) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 b 4094233966617717/20173827172553973356686868531273530268200826506478308693989526222973809547006571833044104322501076808092993531037089792) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 b 4490837747353471/248661618204893321077691124073410420050228075398673858720231988446579748506266687766528) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (neg.f64 z)) (if (<=.f64 b 2700000000000000064040261715662493021809766571119019488687602912003620864) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2))))))))) |
(if (<=.f64 b -3866952374211911/70368744177664) (+.f64 (+.f64 x (*.f64 b (+.f64 y -2))) z) (if (<=.f64 b -7294372546582687/1224720827664335609236962600350409901130557945655466490308353887654080091579137561403602952202220552420938147431280980285494456125931768646260680344573194358953094033321469230156313571586348749061881856) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 b 2255833904447527/47125446914534694131579097993419809976955095716785201420286055195012674566357244479460731079205201122720511132925006540350105785156086431086764996857554304860885586653967937772270969055149056096849908977391371752266308172471982589601097478449614615258949356272900190565812730839296826751014759649673012612226351104) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 b 4094233966617717/20173827172553973356686868531273530268200826506478308693989526222973809547006571833044104322501076808092993531037089792) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 b 4490837747353471/248661618204893321077691124073410420050228075398673858720231988446579748506266687766528) (+.f64 (+.f64 x (*.f64 b (+.f64 y -2))) z) (if (<=.f64 b 2700000000000000064040261715662493021809766571119019488687602912003620864) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))))))))) |
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -24785011019688256/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a -16165015821352382/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 a 2486772218572026368/9745314011399999080353382387875188310876226857595007526867906457212948690766426102465615065882010259225304916231408668183459169865203094046577987296312653419531277699956473029870789655490053648352799593479218378873685597925394874945746363615468965612827738803104277547081828589991914110976) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (if (<=.f64 a 2441423840039360512/84162174424773976115855838126082058648805436845170781751972494449099714468753293153818664580441415219631727501698851483408310916002940861810045036330430093599283578738055113571066620126149163476340692027772502016) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (*.f64 a (-.f64 1 t)))))))) |
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -387265797182629/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2))) (if (<=.f64 a -8082507910676191/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a 4856976989398489/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (neg.f64 z)) (if (<=.f64 a 1192101484394219/41094811730846668025320233460001005199612029709556045777330319555224469955445943922763019814668659775210804444188892325882964314454560967680686052895717819140275184930690973423372373108471271228681978529185792) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2))) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (neg.f64 z)) (*.f64 a (-.f64 1 t)))))))) |
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -387265797182629/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a -8082507910676191/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a 4856976989398489/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) (+.f64 (+.f64 x (*.f64 b (+.f64 y -2))) z) (if (<=.f64 a 1192101484394219/41094811730846668025320233460001005199612029709556045777330319555224469955445943922763019814668659775210804444188892325882964314454560967680686052895717819140275184930690973423372373108471271228681978529185792) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (+.f64 (+.f64 x (*.f64 b (+.f64 y -2))) z) (*.f64 a (-.f64 1 t)))))))) |
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -24785011019688256/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a -16165015821352382/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 a -2192508120024563/39916806190694396233127454260736771321349025208709150830050944848744237837379281315699159309852714021786848936883849904879448759767871873214783435965696628406400113459021713530350754428887259743653067134890878479866616209102417407777777105368960883150142418137515120832847169904606880198557696) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 2486772218572026368/9745314011399999080353382387875188310876226857595007526867906457212948690766426102465615065882010259225304916231408668183459169865203094046577987296312653419531277699956473029870789655490053648352799593479218378873685597925394874945746363615468965612827738803104277547081828589991914110976) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 a 7315163126865865/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 7119920899535735/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (-.f64 (*.f64 y b) (*.f64 z (-.f64 y 1))) (if (<=.f64 a 4119990129736749/140737488355328) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (-.f64 x (-.f64 (neg.f64 a) z)) (*.f64 a (-.f64 1 t))))))))))) |
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -387265797182629/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2))) (if (<=.f64 a -8082507910676191/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a -2192508120024563/39916806190694396233127454260736771321349025208709150830050944848744237837379281315699159309852714021786848936883849904879448759767871873214783435965696628406400113459021713530350754428887259743653067134890878479866616209102417407777777105368960883150142418137515120832847169904606880198557696) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2))) (if (<=.f64 a 4856976989398489/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a 7315163126865865/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2))) (if (<=.f64 a 7119920899535735/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (-.f64 (*.f64 b y) (*.f64 z (+.f64 y -1))) (if (<=.f64 a 4119990129736749/140737488355328) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2))) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (-.f64 x (-.f64 (neg.f64 a) z)) (*.f64 a (-.f64 1 t))))))))))) |
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -387265797182629/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a -8082507910676191/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a -2192508120024563/39916806190694396233127454260736771321349025208709150830050944848744237837379281315699159309852714021786848936883849904879448759767871873214783435965696628406400113459021713530350754428887259743653067134890878479866616209102417407777777105368960883150142418137515120832847169904606880198557696) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 4856976989398489/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a 7315163126865865/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 7119920899535735/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (-.f64 (*.f64 b y) (*.f64 z (+.f64 y -1))) (if (<=.f64 a 4119990129736749/140737488355328) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (+.f64 x (+.f64 a z)) (*.f64 a (-.f64 1 t))))))))))) |
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -387265797182629/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a -8082507910676191/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a -2192508120024563/39916806190694396233127454260736771321349025208709150830050944848744237837379281315699159309852714021786848936883849904879448759767871873214783435965696628406400113459021713530350754428887259743653067134890878479866616209102417407777777105368960883150142418137515120832847169904606880198557696) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 4856976989398489/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a 7315163126865865/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 7119920899535735/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (+.f64 (*.f64 b y) (*.f64 z (-.f64 1 y))) (if (<=.f64 a 4119990129736749/140737488355328) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (+.f64 x (+.f64 a z)) (*.f64 a (-.f64 1 t))))))))))) |
(if (<=.f64 t -15999351883990135915017605607007398658048) (-.f64 x (*.f64 t a)) (if (<=.f64 t -4131551027582377/696898287454081973172991196020261297061888) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) (if (<=.f64 t -4360738060334635/32244539253885818258809801325470984284597615114509370247067914369303827060346976286280350090799388909587060241287666545341940158661052584060701841947200901910912273193298650156782929545680324771302748590589061792245363054977512313161523248215761503691988438775496704) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 t 8855588353915685/2678771517965668302371062622650004526403512029263834018609375970925877627812340306232995947039239645318986682293882867062967863214230785108996144393674643700983641943706057746355268651265592785469488545538261618745895485316849691889791385986519265728642799119421635541915107457913156096709301417017344) (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) (if (<=.f64 t 3571014953850984/4294967296) (-.f64 x (-.f64 (neg.f64 a) z)) (-.f64 x (*.f64 t a)))))))))) |
(if (<=.f64 t -15999351883990135915017605607007398658048) (-.f64 x (*.f64 t a)) (if (<=.f64 t -4131551027582377/696898287454081973172991196020261297061888) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (-.f64 (*.f64 b (+.f64 y -2)) (neg.f64 a)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (-.f64 (*.f64 b (+.f64 y -2)) (neg.f64 a)) (if (<=.f64 t -4360738060334635/32244539253885818258809801325470984284597615114509370247067914369303827060346976286280350090799388909587060241287666545341940158661052584060701841947200901910912273193298650156782929545680324771302748590589061792245363054977512313161523248215761503691988438775496704) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 t 8855588353915685/2678771517965668302371062622650004526403512029263834018609375970925877627812340306232995947039239645318986682293882867062967863214230785108996144393674643700983641943706057746355268651265592785469488545538261618745895485316849691889791385986519265728642799119421635541915107457913156096709301417017344) (-.f64 (*.f64 b (+.f64 y -2)) (neg.f64 a)) (if (<=.f64 t 446376869231373/536870912) (-.f64 x (-.f64 (neg.f64 a) z)) (-.f64 x (*.f64 t a)))))))))) |
(if (<=.f64 t -15999351883990135915017605607007398658048) (-.f64 x (*.f64 t a)) (if (<=.f64 t -4131551027582377/696898287454081973172991196020261297061888) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (+.f64 a (*.f64 b (+.f64 y -2))) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (+.f64 x (+.f64 a z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (+.f64 a (*.f64 b (+.f64 y -2))) (if (<=.f64 t -4360738060334635/32244539253885818258809801325470984284597615114509370247067914369303827060346976286280350090799388909587060241287666545341940158661052584060701841947200901910912273193298650156782929545680324771302748590589061792245363054977512313161523248215761503691988438775496704) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 t 8855588353915685/2678771517965668302371062622650004526403512029263834018609375970925877627812340306232995947039239645318986682293882867062967863214230785108996144393674643700983641943706057746355268651265592785469488545538261618745895485316849691889791385986519265728642799119421635541915107457913156096709301417017344) (+.f64 a (*.f64 b (+.f64 y -2))) (if (<=.f64 t 446376869231373/536870912) (+.f64 x (+.f64 a z)) (-.f64 x (*.f64 t a)))))))))) |
(if (<=.f64 t -8511935691559604235658659062874112) (-.f64 x (*.f64 t a)) (if (<=.f64 t -2095930238776277/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -471927708800262976/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 (-.f64 y 2) b) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 (-.f64 y 2) b) (if (<=.f64 t 3571014953850984/4294967296) (-.f64 x (-.f64 (neg.f64 a) z)) (-.f64 x (*.f64 t a)))))))) |
(if (<=.f64 t -8511935691559604235658659062874112) (-.f64 x (*.f64 t a)) (if (<=.f64 t -2095930238776277/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -7373870450004109/3864537523017258344695351890931987344298927329706434998657235251451519142289560424536193766581922577962463616031502177177365078661042987655742908673467080748696980814823424) (*.f64 b (+.f64 y -2)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 b (+.f64 y -2)) (if (<=.f64 t 446376869231373/536870912) (-.f64 x (-.f64 (neg.f64 a) z)) (-.f64 x (*.f64 t a)))))))) |
(if (<=.f64 t -8511935691559604235658659062874112) (-.f64 x (*.f64 t a)) (if (<=.f64 t -2095930238776277/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (+.f64 x (+.f64 a z)) (if (<=.f64 t -7373870450004109/3864537523017258344695351890931987344298927329706434998657235251451519142289560424536193766581922577962463616031502177177365078661042987655742908673467080748696980814823424) (*.f64 b (+.f64 y -2)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (+.f64 x (+.f64 a z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 b (+.f64 y -2)) (if (<=.f64 t 446376869231373/536870912) (+.f64 x (+.f64 a z)) (-.f64 x (*.f64 t a)))))))) |
(if (<=.f64 x -4747279076335819/9671406556917033397649408) (-.f64 x (*.f64 t a)) (if (<=.f64 x -5259372835274097/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) (*.f64 b (-.f64 t 2)) (if (<=.f64 x -59008889143750480/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) (*.f64 y (-.f64 b z)) (if (<=.f64 x -8817352624856419/7914572847139345089936080672628710081124203171238778877250017794972711203409019749450124833959777439667125485632516458859243681097816038718961476963260581373331416708758372352) (*.f64 a (-.f64 1 t)) (if (<=.f64 x -3050627755988791/873989987746428259412194333913416701987357762822590714399458303903535888835232670878457161432636363996257309241302481691723537010408733419813385804491106555801784494262060916206872597091033287849274902594962928694944169726768114734355431735427072) (*.f64 (-.f64 y 2) b) (if (<=.f64 x 1075886769271643/20065826040452474621738395244141115820123061381619162977212070095324448220432589806036630768881181530864650607514107580997541169167266097500334986765487216377087492641938951866881041556870737904629872328704) (*.f64 a (-.f64 1 t)) (if (<=.f64 x 4743426303980145/53919893334301279589334030174039261347274288845081144962207220498432) (-.f64 z (*.f64 y z)) (if (<=.f64 x 1307901676643827/604462909807314587353088) (-.f64 x (*.f64 t a)) (if (<=.f64 x 16132933682190084096/18446744073709551616) (-.f64 z (*.f64 y z)) (if (<=.f64 x 77387444960961195054143108871215036933805435381328695698480145791627490923557546837116516814352772872798208) (*.f64 a (-.f64 1 t)) (if (<=.f64 x 49794182647830287688697157720815387484676887762239202682054373234483690541587714692515618537161045510686087340432550246804454792304042310051577505332319730502896656296597390390634519967965070229504) (-.f64 x (*.f64 t a)) (+.f64 z x)))))))))))) |
(if (<=.f64 x -4747279076335819/9671406556917033397649408) (-.f64 x (*.f64 t a)) (if (<=.f64 x -5259372835274097/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) (*.f64 b (+.f64 t -2)) (if (<=.f64 x -3688055571484405/573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638656) (*.f64 y (-.f64 b z)) (if (<=.f64 x -8817352624856419/7914572847139345089936080672628710081124203171238778877250017794972711203409019749450124833959777439667125485632516458859243681097816038718961476963260581373331416708758372352) (*.f64 a (-.f64 1 t)) (if (<=.f64 x -3050627755988791/873989987746428259412194333913416701987357762822590714399458303903535888835232670878457161432636363996257309241302481691723537010408733419813385804491106555801784494262060916206872597091033287849274902594962928694944169726768114734355431735427072) (*.f64 b (+.f64 y -2)) (if (<=.f64 x 1075886769271643/20065826040452474621738395244141115820123061381619162977212070095324448220432589806036630768881181530864650607514107580997541169167266097500334986765487216377087492641938951866881041556870737904629872328704) (*.f64 a (-.f64 1 t)) (if (<=.f64 x 4743426303980145/53919893334301279589334030174039261347274288845081144962207220498432) (-.f64 z (*.f64 y z)) (if (<=.f64 x 1307901676643827/604462909807314587353088) (-.f64 x (*.f64 t a)) (if (<=.f64 x 7877409024506877/9007199254740992) (-.f64 z (*.f64 y z)) (if (<=.f64 x 77387444960961195054143108871215036933805435381328695698480145791627490923557546837116516814352772872798208) (*.f64 a (-.f64 1 t)) (if (<=.f64 x 49794182647830287688697157720815387484676887762239202682054373234483690541587714692515618537161045510686087340432550246804454792304042310051577505332319730502896656296597390390634519967965070229504) (-.f64 x (*.f64 t a)) (+.f64 x z)))))))))))) |
(if (<=.f64 t -6992179197910729/2199023255552) (-.f64 x (*.f64 t a)) (if (<=.f64 t -197743911013887/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (-.f64 x (*.f64 -1 a)) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 (-.f64 y 2) b) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (*.f64 -1 a)) (if (<=.f64 t -2077357017756101/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (*.f64 (-.f64 y 2) b) (if (<=.f64 t 4130800456649679/117304950450073441093299338992332138457996243649210992760592177980666118165925495436678284352817677825758656549761022853424729541660972550965022826666248518125620733165482852770884817967017897067499683873717228533661411547573197142488509591988118713532416) (-.f64 x (*.f64 -1 a)) (if (<=.f64 t 1425251958085381/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (-.f64 z (*.f64 y z)) (if (<=.f64 t 1914549207248945/696898287454081973172991196020261297061888) (-.f64 x (*.f64 -1 a)) (-.f64 x (*.f64 t a)))))))))) |
(if (<=.f64 t -6992179197910729/2199023255552) (-.f64 x (*.f64 t a)) (if (<=.f64 t -197743911013887/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (-.f64 x (neg.f64 a)) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 b (+.f64 y -2)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (neg.f64 a)) (if (<=.f64 t -2077357017756101/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (*.f64 b (+.f64 y -2)) (if (<=.f64 t 4130800456649679/117304950450073441093299338992332138457996243649210992760592177980666118165925495436678284352817677825758656549761022853424729541660972550965022826666248518125620733165482852770884817967017897067499683873717228533661411547573197142488509591988118713532416) (-.f64 x (neg.f64 a)) (if (<=.f64 t 1425251958085381/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (-.f64 z (*.f64 y z)) (if (<=.f64 t 1914549207248945/696898287454081973172991196020261297061888) (-.f64 x (neg.f64 a)) (-.f64 x (*.f64 t a)))))))))) |
(if (<=.f64 t -6992179197910729/2199023255552) (-.f64 x (*.f64 t a)) (if (<=.f64 t -197743911013887/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (+.f64 x a) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 b (+.f64 y -2)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (+.f64 x a) (if (<=.f64 t -2077357017756101/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (*.f64 b (+.f64 y -2)) (if (<=.f64 t 4130800456649679/117304950450073441093299338992332138457996243649210992760592177980666118165925495436678284352817677825758656549761022853424729541660972550965022826666248518125620733165482852770884817967017897067499683873717228533661411547573197142488509591988118713532416) (+.f64 x a) (if (<=.f64 t 1425251958085381/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (-.f64 z (*.f64 y z)) (if (<=.f64 t 1914549207248945/696898287454081973172991196020261297061888) (+.f64 x a) (-.f64 x (*.f64 t a)))))))))) |
(if (<=.f64 y -4802897062216999/1606938044258990275541962092341162602522202993782792835301376) (-.f64 x (*.f64 t a)) (if (<=.f64 y -131776568011927712/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (*.f64 b (-.f64 t 2)) (if (<=.f64 y -341947698540548096/19595533242629369747791401605606558418088927130487463844933662202465281465266200982457647235235528838735010358900495684567911298014908298340170885513171109743249504533143507682501017145381579984990109696) (-.f64 x (*.f64 t a)) (if (<=.f64 y 4048638370208299/8) (+.f64 z x) (*.f64 y (-.f64 b z)))))) |
(if (<=.f64 y -4802897062216999/1606938044258990275541962092341162602522202993782792835301376) (-.f64 x (*.f64 t a)) (if (<=.f64 y -4118017750372741/66749594872528440074844428317798503581334516323645399060845050244444366430645017188217565216768) (*.f64 b (+.f64 t -2)) (if (<=.f64 y -83483324839001/4784065733063810973581885157618788676291241975216665977767007373648750357731006099232824032039924032894289638403441329240212719241920971274455782595989040464660523567661989180298099889009174801022976) (-.f64 x (*.f64 t a)) (if (<=.f64 y 4048638370208299/8) (+.f64 x z) (*.f64 y (-.f64 b z)))))) |
(if (<=.f64 t -2561699444969274368/1461501637330902918203684832716283019655932542976) (-.f64 x (*.f64 t a)) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 (-.f64 y 2) b) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (+.f64 z x) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 (-.f64 y 2) b) (if (<=.f64 t 3571014953850984/4294967296) (+.f64 z x) (-.f64 x (*.f64 t a))))))) |
(if (<=.f64 t -2501659614227807/1427247692705959881058285969449495136382746624) (-.f64 x (*.f64 t a)) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 b (+.f64 y -2)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (+.f64 x z) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 b (+.f64 y -2)) (if (<=.f64 t 446376869231373/536870912) (+.f64 x z) (-.f64 x (*.f64 t a))))))) |
(if (<=.f64 b -147341047568300151231422966792192) (*.f64 (-.f64 y 2) b) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 103869940458262528/79228162514264337593543950336) (-.f64 z (*.f64 y z)) (*.f64 b (-.f64 t 2)))))) |
(if (<=.f64 b -147341047568300151231422966792192) (*.f64 b (+.f64 y -2)) (if (<=.f64 b 744730780466431/28948022309329048855892746252171976963317496166410141009864396001978282409984) (+.f64 x z) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 25358872182193/19342813113834066795298816) (-.f64 z (*.f64 y z)) (*.f64 b (+.f64 t -2)))))) |
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 b (-.f64 t 2)) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 103869940458262528/79228162514264337593543950336) (-.f64 z (*.f64 y z)) (*.f64 b (-.f64 t 2)))))) |
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 b (+.f64 t -2)) (if (<=.f64 b 744730780466431/28948022309329048855892746252171976963317496166410141009864396001978282409984) (+.f64 x z) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 25358872182193/19342813113834066795298816) (-.f64 z (*.f64 y z)) (*.f64 b (+.f64 t -2)))))) |
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 -2 b) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 103869940458262528/79228162514264337593543950336) (-.f64 z (*.f64 y z)) (if (<=.f64 b 37000000000000001008557821853629577750045931195064682787579133345235758228802407311876238916878618698934503414608903601537740395646025728) (*.f64 b t) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 z x) (*.f64 -2 b))))))) |
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 b -2) (if (<=.f64 b 744730780466431/28948022309329048855892746252171976963317496166410141009864396001978282409984) (+.f64 x z) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 25358872182193/19342813113834066795298816) (-.f64 z (*.f64 y z)) (if (<=.f64 b 37000000000000001008557821853629577750045931195064682787579133345235758228802407311876238916878618698934503414608903601537740395646025728) (*.f64 t b) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 x z) (*.f64 b -2))))))) |
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 -2 b) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 6890590019687667/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 z x) (*.f64 -2 b))))) |
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 b -2) (if (<=.f64 b 744730780466431/28948022309329048855892746252171976963317496166410141009864396001978282409984) (+.f64 x z) (if (<=.f64 b 6890590019687667/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 x z) (*.f64 b -2))))) |
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 -2 b) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 z x) (*.f64 -2 b))) |
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 b -2) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 x z) (*.f64 b -2))) |
(if (<=.f64 t -30999999999999998904638608932969622982155091030250318048362208305286811988399558162205597385636494640609239417259299346998803994055143086354010813314883855630282430499123311142764544) (+.f64 z x) (if (<=.f64 t -850000000000000024596740969270791447398224915288230182576389346377799502773725039461333450358784) (*.f64 b t) (if (<=.f64 t 13999999999999999855581552454285960023486302440584291807924828886544231683055815344040644936592592831832869934748688494214455139984565754717568158483286513913468982798712029670188107984671825008191110663660109824) (+.f64 z x) (if (<=.f64 t 380000000000000015897605997703851952095060465865211591726156750090311880866128717159840514848443704303060796014175199459210918287854841893985639816765317731761466640034530097685683789446064873905219974457059554176110681853804745135805257967824601875588603788785040202754444178889256663086160725196905906176) (*.f64 b t) x)))) |
(if (<=.f64 t -30999999999999998904638608932969622982155091030250318048362208305286811988399558162205597385636494640609239417259299346998803994055143086354010813314883855630282430499123311142764544) (+.f64 x z) (if (<=.f64 t -850000000000000024596740969270791447398224915288230182576389346377799502773725039461333450358784) (*.f64 t b) (if (<=.f64 t 13999999999999999855581552454285960023486302440584291807924828886544231683055815344040644936592592831832869934748688494214455139984565754717568158483286513913468982798712029670188107984671825008191110663660109824) (+.f64 x z) (if (<=.f64 t 380000000000000015897605997703851952095060465865211591726156750090311880866128717159840514848443704303060796014175199459210918287854841893985639816765317731761466640034530097685683789446064873905219974457059554176110681853804745135805257967824601875588603788785040202754444178889256663086160725196905906176) (*.f64 t b) x)))) |
(if (<=.f64 y 98000000000000005030673108054973016370438997225780141841448960) (+.f64 z x) (*.f64 b y)) |
(if (<=.f64 y 98000000000000005030673108054973016370438997225780141841448960) (+.f64 x z) (*.f64 b y)) |
(if (<=.f64 x -4584861104611533312) x (if (<=.f64 x 316275180718627704465155828100411226998177792) z x)) |
z |
| 1× | fuel |
Compiled 2066 to 1163 computations (43.7% saved)
Loading profile data...