Time bar (total: 36.1s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 6 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 7 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 8 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 9 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 10 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 11 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 12 |
Compiled 28 to 20 computations (28.6% saved)
| 2.7s | 8254× | body | 256 | valid |
| 1.4s | 4539× | body | 256 | infinite |
| 1.0ms | 1× | body | 1024 | valid |
| 1.0ms | 1× | body | 512 | valid |
| 2× | egg-herbie |
| 853× | 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 | 7029 | 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 (+.f64 y (-.f64 t 2)) b) (-.f64 (-.f64 x (*.f64 z (+.f64 t -1))) (*.f64 (+.f64 y -1) a))) |
(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 (*.f64 z (+.f64 b -1)) (*.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 (+.f64 y (-.f64 t 2)) b) (-.f64 (-.f64 x (*.f64 z (+.f64 t -1))) (*.f64 (+.f64 y -1) a))) |
(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 (+.f64 y -1) z) (*.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 |
| 471× | distribute-neg-in_binary64 |
| 457× | associate--l-_binary64 |
| 369× | associate--r-_binary64 |
| 344× | +-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 31 |
| 1 | 49 | 27 |
| 2 | 145 | 25 |
| 3 | 616 | 25 |
| 4 | 2231 | 25 |
| 5 | 5563 | 25 |
| 6 | 7040 | 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 y -1) z)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (-.f64 t 2)) b))) |
(fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (-.f64 y 1) z (*.f64 (+.f64 t -1) a)))) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))) |
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 (+.f64 y t) -2) b (fma.f64 z (-.f64 1 y) 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 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) |
| ✓ | 0.0b | (*.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 | |
|---|---|---|---|---|
| 97.0ms | t | @ | 0 | (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 3.0ms | a | @ | -inf | (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 2.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 | x | @ | 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 | 6974 | 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 t 1) a) |
(-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) |
| 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 y (+.f64 t -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 t (+.f64 y 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 t (+.f64 y 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 y (+.f64 t -2))) b))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x (+.f64 (*.f64 (+.f64 y -1) z) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -2)) b)))) (/.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2) (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 y (+.f64 t -2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) (cbrt.f64 (pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.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 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 2)) (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) (sqrt.f64 (fma.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -2)) b) (-.f64 (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -2)) b) 2)) (/.f64 1 (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -2)) b) (-.f64 (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -2)) b))) (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -2)) b) 3)) (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -2)) b) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2) (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -2)) b) 2)) (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -2)) b) (-.f64 (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -2)) b) 2))) (neg.f64 (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -2)) b)) 3)) (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (+.f64 (*.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b))) (*.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -2)) b)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b)))) (+.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2) (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2)) (-.f64 (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2)) (cbrt.f64 (*.f64 (+.f64 y (+.f64 t -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 y (+.f64 t -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 y (+.f64 t -2)) b))))))) (#(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)) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t a) (*.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a t) (*.f64 a -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 t -1) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 t 3) -1) a) (fma.f64 t t (+.f64 t 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 t t -1) a) (+.f64 t 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 (pow.f64 t 3) -1)) (fma.f64 t t (+.f64 t 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (fma.f64 t t -1)) (+.f64 t 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 t -1) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 t -1) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 t -1) a)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 t -1) a)) 1)))))) |
((#(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 x (-.f64 (*.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 x (-.f64 (*.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 x (-.f64 (*.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 x (-.f64 (*.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 x (-.f64 (*.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 x (-.f64 (*.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 x (-.f64 (*.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 x (-.f64 (*.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 expm1.f64 (log1p.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) 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 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))))))) |
| 1× | egg-herbie |
| 821× | sub-neg_binary64 |
| 539× | +-commutative_binary64 |
| 535× | fma-def_binary64 |
| 427× | distribute-neg-in_binary64 |
| 361× | associate--r-_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 104 | 2826 |
| 1 | 368 | 2820 |
| 2 | 988 | 2602 |
| 3 | 3577 | 2602 |
| 4 | 5704 | 2602 |
| 5 | 7740 | 2602 |
| 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 a) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(*.f64 a t) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(*.f64 a t) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(*.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))) |
| 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 y -1)))) |
(-.f64 (*.f64 b (+.f64 t (+.f64 y -2))) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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) (+.f64 z (*.f64 a (-.f64 1 t)))) |
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z))) |
(+.f64 z (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) x))) |
(-.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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 a (-.f64 1 t) (fma.f64 b (+.f64 t (+.f64 y -2)) x)) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 a (-.f64 1 t) x)) |
(+.f64 a (fma.f64 b (+.f64 y -2) (fma.f64 t (-.f64 b a) x))) |
(-.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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z))) |
(*.f64 z (-.f64 1 y)) |
(-.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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z))) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(*.f64 z (-.f64 1 y)) |
(-.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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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))) |
(-.f64 (fma.f64 b (+.f64 y -2) x) (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(+.f64 (fma.f64 b (+.f64 y -2) x) (fma.f64 z (-.f64 1 y) a)) |
(fma.f64 b (+.f64 y -2) (fma.f64 z (-.f64 1 y) (+.f64 a x))) |
(-.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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (*.f64 z (+.f64 y -1))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x))) |
(fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) (+.f64 z 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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (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 y -1)))) |
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z)) |
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z))) |
(*.f64 -1 a) |
(neg.f64 a) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(fma.f64 a t (neg.f64 a)) |
(-.f64 (*.f64 t a) a) |
(fma.f64 t a (neg.f64 a)) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(fma.f64 a t (neg.f64 a)) |
(-.f64 (*.f64 t a) a) |
(fma.f64 t a (neg.f64 a)) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(fma.f64 a t (neg.f64 a)) |
(-.f64 (*.f64 t a) a) |
(fma.f64 t a (neg.f64 a)) |
(*.f64 a t) |
(*.f64 t a) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(fma.f64 a t (neg.f64 a)) |
(-.f64 (*.f64 t a) a) |
(fma.f64 t a (neg.f64 a)) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(fma.f64 a t (neg.f64 a)) |
(-.f64 (*.f64 t a) a) |
(fma.f64 t a (neg.f64 a)) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(fma.f64 a t (neg.f64 a)) |
(-.f64 (*.f64 t a) a) |
(fma.f64 t a (neg.f64 a)) |
(*.f64 a t) |
(*.f64 t a) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(fma.f64 a t (neg.f64 a)) |
(-.f64 (*.f64 t a) a) |
(fma.f64 t a (neg.f64 a)) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(fma.f64 a t (neg.f64 a)) |
(-.f64 (*.f64 t a) a) |
(fma.f64 t a (neg.f64 a)) |
(+.f64 (*.f64 a t) (*.f64 -1 a)) |
(fma.f64 a t (neg.f64 a)) |
(-.f64 (*.f64 t a) a) |
(fma.f64 t a (neg.f64 a)) |
(*.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)) (*.f64 z (+.f64 y -1))) |
(fma.f64 a (-.f64 1 t) (-.f64 z (*.f64 y z))) |
(-.f64 (fma.f64 z (-.f64 1 y) a) (*.f64 t 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 (+.f64 z (*.f64 a (-.f64 1 t)))) |
(+.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))) |
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(*.f64 z (-.f64 1 y)) |
(-.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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(*.f64 z (-.f64 1 y)) |
(-.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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 (neg.f64 z) (+.f64 y -1) x) a) |
(+.f64 a (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 z (-.f64 1 y) (+.f64 a 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (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 y -1)))) |
(fma.f64 a (-.f64 1 t) (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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (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 y -1)))) |
(fma.f64 a (-.f64 1 t) (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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (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 y -1)))) |
(fma.f64 a (-.f64 1 t) (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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(-.f64 x (*.f64 z (+.f64 y -1))) |
(fma.f64 (neg.f64 z) (+.f64 y -1) x) |
(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 y -1)))) |
(fma.f64 a (-.f64 1 t) (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 y -1)))) |
(fma.f64 a (-.f64 1 t) (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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (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 y -1)))) |
(fma.f64 a (-.f64 1 t) (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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) 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 y -1)))) |
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 a (-.f64 1 t) x) |
Compiled 63 to 36 computations (42.9% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a | @ | -inf | (fma.f64 a (-.f64 1 t) x) |
| 1.0ms | a | @ | 0 | (fma.f64 a (-.f64 1 t) x) |
| 0.0ms | a | @ | inf | (fma.f64 a (-.f64 1 t) x) |
| 0.0ms | t | @ | inf | (fma.f64 a (-.f64 1 t) x) |
| 0.0ms | t | @ | 0 | (fma.f64 a (-.f64 1 t) x) |
| 1× | batch-egg-rewrite |
| 719× | pow1_binary64 |
| 664× | add-log-exp_binary64 |
| 664× | log1p-expm1-u_binary64 |
| 664× | expm1-log1p-u_binary64 |
| 650× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 8 |
| 1 | 142 | 8 |
| 2 | 1737 | 8 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 a (-.f64 1 t) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 a (-.f64 1 t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (-.f64 1 t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a (-.f64 1 t)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a (-.f64 1 t) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (-.f64 1 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (-.f64 1 t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (-.f64 1 t) x)) (pow.f64 (cbrt.f64 (fma.f64 a (-.f64 1 t) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a (-.f64 1 t) x)) 2) (cbrt.f64 (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (-.f64 1 t) x)) (sqrt.f64 (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a (-.f64 1 t)) 3) (pow.f64 x 3)) (+.f64 (*.f64 (*.f64 a (-.f64 1 t)) (*.f64 a (-.f64 1 t))) (-.f64 (*.f64 x x) (*.f64 (*.f64 a (-.f64 1 t)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a (-.f64 1 t)) (*.f64 a (-.f64 1 t))) (*.f64 x x)) (-.f64 (*.f64 a (-.f64 1 t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (-.f64 1 t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (-.f64 1 t) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (-.f64 1 t) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (-.f64 1 t) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (-.f64 1 t) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (-.f64 1 t) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (-.f64 1 t) x))))))) |
| 1× | egg-herbie |
| 213× | fma-def_binary64 |
| 210× | fma-neg_binary64 |
| 52× | cancel-sign-sub-inv_binary64 |
| 38× | associate--r+_binary64 |
| 36× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 256 |
| 1 | 32 | 256 |
| 2 | 58 | 256 |
| 3 | 105 | 256 |
| 4 | 182 | 256 |
| 5 | 327 | 256 |
| 6 | 601 | 256 |
| 7 | 790 | 256 |
| 8 | 929 | 256 |
| 9 | 953 | 256 |
| 1× | saturated |
| Inputs |
|---|
x |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(*.f64 a (-.f64 1 t)) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(*.f64 a (-.f64 1 t)) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 a x) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(*.f64 -1 (*.f64 a t)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(*.f64 -1 (*.f64 a t)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(*.f64 a (-.f64 1 t)) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
x |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
x |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
| Outputs |
|---|
x |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(*.f64 a (-.f64 1 t)) |
(fma.f64 a (neg.f64 t) a) |
(-.f64 a (*.f64 a t)) |
(fma.f64 t (neg.f64 a) a) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(*.f64 a (-.f64 1 t)) |
(fma.f64 a (neg.f64 t) a) |
(-.f64 a (*.f64 a t)) |
(fma.f64 t (neg.f64 a) a) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 a x) |
(+.f64 x a) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(fma.f64 a (-.f64 1 t) x) |
(*.f64 -1 (*.f64 a t)) |
(neg.f64 (*.f64 a t)) |
(*.f64 a (neg.f64 t)) |
(*.f64 t (neg.f64 a)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(fma.f64 a (-.f64 1 t) x) |
(*.f64 -1 (*.f64 a t)) |
(neg.f64 (*.f64 a t)) |
(*.f64 a (neg.f64 t)) |
(*.f64 t (neg.f64 a)) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x)) |
(fma.f64 a (-.f64 1 t) x) |
(*.f64 a (-.f64 1 t)) |
(fma.f64 a (neg.f64 t) a) |
(-.f64 a (*.f64 a t)) |
(fma.f64 t (neg.f64 a) a) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
x |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
x |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
(+.f64 (*.f64 a (-.f64 1 t)) x) |
(fma.f64 a (-.f64 1 t) x) |
Compiled 6103 to 3709 computations (39.2% saved)
12 alts after pruning (12 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 228 | 12 | 240 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 230 | 12 | 242 |
| Status | Error | Program |
|---|---|---|
| ▶ | 41.5b | (+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 16.5b | (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) | |
| 38.6b | (+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) | |
| 18.6b | (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) | |
| 49.8b | (*.f64 t (-.f64 b a)) | |
| ▶ | 52.2b | (*.f64 (-.f64 b z) y) |
| ▶ | 47.2b | (*.f64 (-.f64 (+.f64 y t) 2) b) |
| 50.0b | x | |
| 46.9b | (-.f64 z (*.f64 y z)) | |
| ▶ | 45.1b | (*.f64 a (-.f64 1 t)) |
| ▶ | 15.9b | (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
| 18.6b | (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) |
Compiled 353 to 258 computations (26.9% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 (-.f64 t 1) a) | |
| 0.0b | (*.f64 (-.f64 (+.f64 y t) 2) b) |
Compiled 60 to 31 computations (48.3% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 a (-.f64 1 t)) |
Compiled 17 to 12 computations (29.4% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a | @ | inf | (*.f64 a (-.f64 1 t)) |
| 1.0ms | a | @ | 0 | (*.f64 a (-.f64 1 t)) |
| 1.0ms | a | @ | -inf | (*.f64 a (-.f64 1 t)) |
| 1.0ms | t | @ | inf | (*.f64 a (-.f64 1 t)) |
| 0.0ms | t | @ | -inf | (*.f64 a (-.f64 1 t)) |
| 1× | batch-egg-rewrite |
| 617× | pow1_binary64 |
| 572× | add-log-exp_binary64 |
| 572× | log1p-expm1-u_binary64 |
| 572× | expm1-log1p-u_binary64 |
| 561× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 7 |
| 1 | 122 | 7 |
| 2 | 1510 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a (-.f64 1 t)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 a (*.f64 (neg.f64 t) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 a (*.f64 a (neg.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a (-.f64 1 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 t 3)) a) (+.f64 1 (fma.f64 t t t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 t t)) a) (+.f64 1 t))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (-.f64 1 (pow.f64 t 3))) (+.f64 1 (fma.f64 t t t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (-.f64 1 (*.f64 t t))) (+.f64 1 t))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a (-.f64 1 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a (-.f64 1 t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a (-.f64 1 t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a (-.f64 1 t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a (-.f64 1 t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a) (-.f64 1 t)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a (-.f64 1 t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a (-.f64 1 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a (-.f64 1 t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a (-.f64 1 t)))))))) |
| 1× | egg-herbie |
| 133× | fma-def_binary64 |
| 90× | fma-neg_binary64 |
| 22× | cancel-sign-sub-inv_binary64 |
| 21× | associate-*r*_binary64 |
| 17× | associate-*l*_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 94 |
| 1 | 13 | 76 |
| 2 | 30 | 76 |
| 3 | 46 | 76 |
| 4 | 64 | 76 |
| 5 | 128 | 76 |
| 6 | 253 | 76 |
| 7 | 359 | 76 |
| 8 | 457 | 76 |
| 9 | 533 | 76 |
| 1× | saturated |
| Inputs |
|---|
a |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(*.f64 -1 (*.f64 a t)) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(*.f64 -1 (*.f64 a t)) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
| Outputs |
|---|
a |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (neg.f64 (*.f64 a t))) |
(-.f64 a (*.f64 a t)) |
(fma.f64 a (neg.f64 t) a) |
(*.f64 a (-.f64 1 t)) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (neg.f64 (*.f64 a t))) |
(-.f64 a (*.f64 a t)) |
(fma.f64 a (neg.f64 t) a) |
(*.f64 a (-.f64 1 t)) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (neg.f64 (*.f64 a t))) |
(-.f64 a (*.f64 a t)) |
(fma.f64 a (neg.f64 t) a) |
(*.f64 a (-.f64 1 t)) |
(*.f64 -1 (*.f64 a t)) |
(neg.f64 (*.f64 a t)) |
(*.f64 a (neg.f64 t)) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (neg.f64 (*.f64 a t))) |
(-.f64 a (*.f64 a t)) |
(fma.f64 a (neg.f64 t) a) |
(*.f64 a (-.f64 1 t)) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (neg.f64 (*.f64 a t))) |
(-.f64 a (*.f64 a t)) |
(fma.f64 a (neg.f64 t) a) |
(*.f64 a (-.f64 1 t)) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (neg.f64 (*.f64 a t))) |
(-.f64 a (*.f64 a t)) |
(fma.f64 a (neg.f64 t) a) |
(*.f64 a (-.f64 1 t)) |
(*.f64 -1 (*.f64 a t)) |
(neg.f64 (*.f64 a t)) |
(*.f64 a (neg.f64 t)) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (neg.f64 (*.f64 a t))) |
(-.f64 a (*.f64 a t)) |
(fma.f64 a (neg.f64 t) a) |
(*.f64 a (-.f64 1 t)) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (neg.f64 (*.f64 a t))) |
(-.f64 a (*.f64 a t)) |
(fma.f64 a (neg.f64 t) a) |
(*.f64 a (-.f64 1 t)) |
(+.f64 a (*.f64 -1 (*.f64 a t))) |
(+.f64 a (neg.f64 (*.f64 a t))) |
(-.f64 a (*.f64 a t)) |
(fma.f64 a (neg.f64 t) a) |
(*.f64 a (-.f64 1 t)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (-.f64 b z) y) |
Compiled 17 to 8 computations (52.9% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | b | @ | -inf | (*.f64 (-.f64 b z) y) |
| 1.0ms | b | @ | 0 | (*.f64 (-.f64 b z) y) |
| 0.0ms | y | @ | inf | (*.f64 (-.f64 b z) y) |
| 0.0ms | y | @ | -inf | (*.f64 (-.f64 b z) y) |
| 0.0ms | y | @ | 0 | (*.f64 (-.f64 b z) y) |
| 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 | 1784 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 b z) y) |
| 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 (-.f64 b z) y)) 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 (-.f64 b z) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 b z) y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 b z) y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 b z) y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 b z) y) 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 (-.f64 b z) y) 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 cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 b z) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 b z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 b z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 b z) y))))))) |
| 1× | egg-herbie |
| 217× | fma-def_binary64 |
| 132× | fma-neg_binary64 |
| 41× | cancel-sign-sub-inv_binary64 |
| 25× | distribute-rgt-in_binary64 |
| 25× | sub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 210 |
| 1 | 17 | 210 |
| 2 | 35 | 156 |
| 3 | 58 | 156 |
| 4 | 86 | 156 |
| 5 | 138 | 156 |
| 6 | 254 | 156 |
| 7 | 410 | 156 |
| 8 | 576 | 156 |
| 9 | 730 | 156 |
| 10 | 744 | 156 |
| 1× | saturated |
| Inputs |
|---|
(*.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 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(*.f64 y b) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z))) |
(fma.f64 y b (neg.f64 (*.f64 y z))) |
(-.f64 (*.f64 y b) (*.f64 y z)) |
(*.f64 y (-.f64 b z)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 (-.f64 (+.f64 y t) 2) b) |
Compiled 25 to 13 computations (48% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 (-.f64 (+.f64 y t) 2) b) | |
| ✓ | 0.0b | (+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
Compiled 44 to 19 computations (56.8% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | 0 | (+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 1.0ms | y | @ | inf | (+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 1.0ms | t | @ | 0 | (+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 0.0ms | z | @ | 0 | (+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 0.0ms | z | @ | inf | (+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 1× | batch-egg-rewrite |
| 630× | log-prod_binary64 |
| 575× | fma-def_binary64 |
| 349× | pow2_binary64 |
| 308× | fma-neg_binary64 |
| 240× | expm1-udef_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 16 |
| 1 | 278 | 14 |
| 2 | 4069 | 14 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y z) 2) (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b))) (/.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2) (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) (pow.f64 (cbrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) 2) (cbrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) (sqrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) (pow.f64 (*.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2)) (/.f64 1 (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) (pow.f64 (*.f64 y z) 2)) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b)) (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3)) (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) (pow.f64 (*.f64 y z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2)) (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3))) (neg.f64 (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) (pow.f64 (*.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2))) (neg.f64 (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2) (pow.f64 (*.f64 y z) 2)) (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) (pow.f64 (*.f64 y z) 2)) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b)) (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 b) (+.f64 y (+.f64 t -2))) (pow.f64 (exp.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (+.f64 t -2)) b))) (pow.f64 (exp.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 b) (+.f64 y (+.f64 t -2))) (+.f64 1 (expm1.f64 (*.f64 y z)))))))) (#(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 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y z))) (pow.f64 (exp.f64 b) (+.f64 y (+.f64 t -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) z) (+.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 (*.f64 y z))) (+.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 (*.f64 (+.f64 y (+.f64 t -2)) b))) (pow.f64 (exp.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 b) (+.f64 y (+.f64 t -2))) (+.f64 1 (expm1.f64 (*.f64 y z)))))))) (#(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 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z y (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y z) 1 (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y (+.f64 t -2)) b (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 y (+.f64 t -2)) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 1 (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 y (+.f64 t -2)) b) (*.f64 y z))))) (#(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) (*.f64 y z))))) (#(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)) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y z)) (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (cbrt.f64 (*.f64 y z)) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) z) (*.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) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) y) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (+.f64 y (+.f64 t -2))) (*.f64 y z))))) (#(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)) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y z)) (sqrt.f64 (*.f64 y z)) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) z) (*.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) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) y) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (+.f64 y (+.f64 t -2))) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 y) z (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) (sqrt.f64 b)) (sqrt.f64 b) (*.f64 y z))))) (#(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))) (*.f64 y z))))) (#(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))) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y -1) z (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (+.f64 y (+.f64 t -2)) b)))))) |
| 1× | egg-herbie |
| 1086× | fma-neg_binary64 |
| 473× | fma-def_binary64 |
| 200× | cancel-sign-sub-inv_binary64 |
| 198× | distribute-rgt-in_binary64 |
| 155× | unsub-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 31 | 633 |
| 1 | 76 | 594 |
| 2 | 184 | 594 |
| 3 | 419 | 592 |
| 4 | 925 | 592 |
| 5 | 1812 | 592 |
| 6 | 3282 | 592 |
| 7 | 3601 | 592 |
| 8 | 3601 | 592 |
| 9 | 4057 | 592 |
| 10 | 4057 | 592 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (-.f64 t 2) b) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 (-.f64 t 2) b)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 (-.f64 t 2) b)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 (-.f64 t 2) b)) |
(*.f64 (+.f64 (*.f64 -1 z) b) y) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 b (-.f64 t 2))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 b (-.f64 t 2))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 b (-.f64 t 2))) |
(*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (*.f64 b (-.f64 t 2))) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (*.f64 b (-.f64 t 2))) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (*.f64 b (-.f64 t 2))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| Outputs |
|---|
(*.f64 (-.f64 t 2) b) |
(*.f64 (+.f64 t -2) b) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 (-.f64 t 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 (-.f64 t 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 (-.f64 t 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(*.f64 (+.f64 (*.f64 -1 z) b) y) |
(*.f64 (fma.f64 -1 z b) y) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 b (-.f64 t 2))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 b (-.f64 t 2))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 b (-.f64 t 2))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) |
(*.f64 (fma.f64 -1 z b) y) |
(*.f64 (-.f64 b z) y) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (*.f64 b (-.f64 t 2))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (*.f64 b (-.f64 t 2))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (*.f64 b (-.f64 t 2))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(*.f64 b (+.f64 (+.f64 t -2) y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(*.f64 (neg.f64 z) y) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(*.f64 (neg.f64 z) y) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)) |
(fma.f64 -1 (*.f64 z y) (*.f64 b (+.f64 y -2))) |
(-.f64 (*.f64 b (+.f64 y -2)) (*.f64 z y)) |
(fma.f64 (-.f64 b z) y (*.f64 b -2)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(*.f64 (neg.f64 z) y) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(*.f64 b (+.f64 (+.f64 t -2) y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 b (+.f64 (+.f64 t y) -2)) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(*.f64 b (+.f64 (+.f64 t -2) y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b)) |
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y)) |
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b)) |
Compiled 3716 to 2019 computations (45.7% saved)
19 alts after pruning (16 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 253 | 10 | 263 |
| Fresh | 1 | 6 | 7 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 3 | 4 |
| Total | 256 | 19 | 275 |
| Status | Error | Program |
|---|---|---|
| ▶ | 16.5b | (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
| 25.0b | (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) | |
| ▶ | 57.0b | (*.f64 (neg.f64 z) y) |
| 27.4b | (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) | |
| ✓ | 45.1b | (*.f64 a (-.f64 1 t)) |
| 58.0b | (*.f64 y b) | |
| 18.6b | (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) | |
| 51.2b | (*.f64 (-.f64 y 2) b) | |
| 49.8b | (*.f64 t (-.f64 b a)) | |
| ▶ | 58.5b | (*.f64 t b) |
| ✓ | 52.2b | (*.f64 (-.f64 b z) y) |
| 54.1b | (*.f64 a (neg.f64 t)) | |
| 18.6b | (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) | |
| ▶ | 27.4b | (-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) |
| ✓ | 47.2b | (*.f64 (-.f64 (+.f64 y t) 2) b) |
| 50.0b | x | |
| 53.8b | a | |
| ▶ | 46.9b | (-.f64 z (*.f64 y z)) |
| 52.8b | (+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) |
Compiled 441 to 327 computations (25.9% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 z (-.f64 y 1)) |
| ✓ | 0.0b | (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))) |
| 0.0b | (*.f64 (-.f64 t 1) a) |
Compiled 52 to 32 computations (38.5% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | 0 | (*.f64 z (-.f64 y 1)) |
| 1.0ms | t | @ | 0 | (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))) |
| 1.0ms | z | @ | inf | (*.f64 z (-.f64 y 1)) |
| 1.0ms | z | @ | -inf | (*.f64 z (-.f64 y 1)) |
| 1.0ms | t | @ | inf | (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))) |
| 1× | batch-egg-rewrite |
| 572× | log-prod_binary64 |
| 441× | fma-def_binary64 |
| 434× | pow-prod-down_binary64 |
| 311× | pow2_binary64 |
| 271× | fma-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 21 |
| 1 | 242 | 21 |
| 2 | 3383 | 21 |
| 1× | node limit |
| Inputs |
|---|
(+.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 (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) z) (+.f64 y -1)))))))) (#(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 (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2) 1/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 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 (/.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))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.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))) -1)))) (#(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 (exp.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 (+.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)))) (exp.f64 (*.f64 (+.f64 t -1) a))))))) (#(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 expm1.f64 (log1p.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(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 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 (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 (cbrt.f64 (pow.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)) (cbrt.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.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 (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 (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 (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 (*.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 fma.f64 (*.f64 z (cbrt.f64 (pow.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 +.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 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (+.f64 y -1))) 2)) (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) (+.f64 (fma.f64 y y 1) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 y y -1) z) (+.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 (pow.f64 y 3) -1)) (+.f64 (fma.f64 y y 1) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (fma.f64 y y -1)) (+.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (+.f64 y -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2) 1/2)))) (#(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 expm1.f64 (log1p.f64 (*.f64 z (+.f64 y -1))))))) (#(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 fma.f64 z y (*.f64 z -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y z (*.f64 -1 z)))))) |
| 1× | egg-herbie |
| 986× | fma-neg_binary64 |
| 272× | cancel-sign-sub-inv_binary64 |
| 182× | fma-def_binary64 |
| 137× | sub-neg_binary64 |
| 121× | distribute-rgt-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 405 |
| 1 | 64 | 404 |
| 2 | 123 | 404 |
| 3 | 259 | 404 |
| 4 | 528 | 404 |
| 5 | 894 | 404 |
| 6 | 1799 | 404 |
| 7 | 2574 | 404 |
| 8 | 2745 | 404 |
| 9 | 2784 | 404 |
| 10 | 2800 | 404 |
| 11 | 2800 | 404 |
| 1× | saturated |
| Inputs |
|---|
(+.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 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(fma.f64 z (+.f64 y -1) (neg.f64 a)) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z (-.f64 y 1)) a) |
(-.f64 (fma.f64 z y (neg.f64 z)) 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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a)) |
(*.f64 a t) |
(+.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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) 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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) 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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a)) |
(*.f64 a t) |
(+.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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) 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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) 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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 y -1)) |
(-.f64 (*.f64 z y) z) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 (-.f64 t 1) a) |
(*.f64 a (+.f64 t -1)) |
(-.f64 (*.f64 a t) a) |
(fma.f64 a t (neg.f64 a)) |
(*.f64 (-.f64 t 1) a) |
(*.f64 a (+.f64 t -1)) |
(-.f64 (*.f64 a t) a) |
(fma.f64 a t (neg.f64 a)) |
(*.f64 (-.f64 t 1) a) |
(*.f64 a (+.f64 t -1)) |
(-.f64 (*.f64 a t) a) |
(fma.f64 a t (neg.f64 a)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 y -1)) |
(-.f64 (*.f64 z y) z) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 y -1)) |
(-.f64 (*.f64 z y) z) |
(fma.f64 z y (neg.f64 z)) |
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)) |
(fma.f64 -1 z (*.f64 a (+.f64 t -1))) |
(-.f64 (-.f64 (*.f64 a t) a) z) |
(-.f64 (*.f64 a t) (+.f64 a z)) |
(fma.f64 a t (-.f64 (neg.f64 a) z)) |
(-.f64 (fma.f64 a t (neg.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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a)) |
(+.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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a)) |
(+.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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a)) |
(*.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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a)) |
(+.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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a)) |
(+.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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a)) |
(*.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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a)) |
(+.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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a)) |
(+.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 z (+.f64 y -1) (-.f64 (*.f64 a t) a)) |
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a) |
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z) |
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a)) |
(*.f64 -1 z) |
(neg.f64 z) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(*.f64 z (+.f64 y -1)) |
(-.f64 (*.f64 z y) z) |
(*.f64 z (-.f64 y 1)) |
(fma.f64 z y (neg.f64 z)) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(*.f64 z (+.f64 y -1)) |
(-.f64 (*.f64 z y) z) |
(*.f64 z (-.f64 y 1)) |
(fma.f64 z y (neg.f64 z)) |
(+.f64 (*.f64 y z) (*.f64 -1 z)) |
(*.f64 z (+.f64 y -1)) |
(-.f64 (*.f64 z y) z) |
(*.f64 z (-.f64 y 1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 y -1)) |
(-.f64 (*.f64 z y) z) |
(*.f64 z (-.f64 y 1)) |
(fma.f64 z y (neg.f64 z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 y -1)) |
(-.f64 (*.f64 z y) z) |
(*.f64 z (-.f64 y 1)) |
(fma.f64 z y (neg.f64 z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 y -1)) |
(-.f64 (*.f64 z y) z) |
(*.f64 z (-.f64 y 1)) |
(fma.f64 z y (neg.f64 z)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 y -1)) |
(-.f64 (*.f64 z y) z) |
(*.f64 z (-.f64 y 1)) |
(fma.f64 z y (neg.f64 z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 y -1)) |
(-.f64 (*.f64 z y) z) |
(*.f64 z (-.f64 y 1)) |
(fma.f64 z y (neg.f64 z)) |
(+.f64 (*.f64 -1 z) (*.f64 y z)) |
(*.f64 z (+.f64 y -1)) |
(-.f64 (*.f64 z y) z) |
(*.f64 z (-.f64 y 1)) |
(fma.f64 z y (neg.f64 z)) |
Compiled 11 to 7 computations (36.4% saved)
Compiled 14 to 8 computations (42.9% saved)
Compiled 16 to 8 computations (50% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 y b) x) |
| 0.0b | (*.f64 (-.f64 t 1) a) |
Compiled 39 to 18 computations (53.8% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | inf | (+.f64 (*.f64 y b) x) |
| 1.0ms | y | @ | 0 | (+.f64 (*.f64 y b) x) |
| 1.0ms | y | @ | -inf | (+.f64 (*.f64 y b) x) |
| 1.0ms | x | @ | 0 | (+.f64 (*.f64 y b) x) |
| 1.0ms | b | @ | -inf | (+.f64 (*.f64 y b) x) |
| 1× | batch-egg-rewrite |
| 707× | pow1_binary64 |
| 655× | add-log-exp_binary64 |
| 655× | log1p-expm1-u_binary64 |
| 655× | expm1-log1p-u_binary64 |
| 640× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 5 |
| 1 | 129 | 5 |
| 2 | 1775 | 5 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y b) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 y b x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y b) 2) (-.f64 (*.f64 y b) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 y b) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y b x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y b x)) (pow.f64 (cbrt.f64 (fma.f64 y b x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y b x)) 2) (cbrt.f64 (fma.f64 y b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y b x)) (sqrt.f64 (fma.f64 y b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y b) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x (-.f64 x (*.f64 y b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 y b) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x (-.f64 x (*.f64 y b)))) (+.f64 (pow.f64 (*.f64 y b) 3) (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y b) x) (-.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y b) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x (-.f64 x (*.f64 y b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y b) 3) (pow.f64 x 3)) (+.f64 (*.f64 x x) (-.f64 (pow.f64 (*.f64 y b) 2) (*.f64 y (*.f64 b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x x)) (-.f64 (*.f64 y b) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y b) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x (-.f64 x (*.f64 y b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 y b) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y b) 2)) (-.f64 x (*.f64 y b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y b x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y b x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y b x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y b x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y b x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y b x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y b x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y b x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y b x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b y x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 y b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y b)) 2) (cbrt.f64 (*.f64 y b)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y b)) (sqrt.f64 (*.f64 y b)) x))))) |
| 1× | egg-herbie |
| 1× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 24 |
| 1 | 6 | 24 |
| 1× | saturated |
| Inputs |
|---|
x |
(*.f64 y b) |
(*.f64 y b) |
x |
(*.f64 y b) |
(*.f64 y b) |
(*.f64 y b) |
x |
x |
| Outputs |
|---|
x |
(*.f64 y b) |
(*.f64 y b) |
x |
(*.f64 y b) |
(*.f64 y b) |
(*.f64 y b) |
x |
x |
Compiled 3421 to 2028 computations (40.7% saved)
22 alts after pruning (16 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 194 | 5 | 199 |
| Fresh | 0 | 11 | 11 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 6 | 7 |
| Total | 196 | 22 | 218 |
| Status | Error | Program |
|---|---|---|
| ✓ | 57.0b | (*.f64 (neg.f64 z) y) |
| ▶ | 32.0b | (-.f64 x (*.f64 (-.f64 t 1) a)) |
| 27.4b | (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) | |
| ✓ | 45.1b | (*.f64 a (-.f64 1 t)) |
| ▶ | 58.0b | (*.f64 y b) |
| ▶ | 25.1b | (-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))) |
| 18.6b | (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) | |
| ▶ | 51.2b | (*.f64 (-.f64 y 2) b) |
| 49.8b | (*.f64 t (-.f64 b a)) | |
| ✓ | 58.5b | (*.f64 t b) |
| 41.5b | (-.f64 x (*.f64 a t)) | |
| ✓ | 52.2b | (*.f64 (-.f64 b z) y) |
| 54.1b | (*.f64 a (neg.f64 t)) | |
| ✓ | 47.2b | (*.f64 (-.f64 (+.f64 y t) 2) b) |
| 50.0b | x | |
| 53.8b | a | |
| 25.0b | (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) | |
| ✓ | 46.9b | (-.f64 z (*.f64 y z)) |
| 36.0b | (-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) | |
| 34.4b | (-.f64 x (*.f64 z (-.f64 y 1))) | |
| 52.8b | (+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) | |
| ▶ | 18.6b | (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) |
Compiled 473 to 352 computations (25.6% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) |
| ✓ | 0.0b | (fma.f64 z (-.f64 1 y) x) |
Compiled 43 to 25 computations (41.9% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | z | @ | -inf | (fma.f64 z (-.f64 1 y) x) |
| 1.0ms | z | @ | 0 | (fma.f64 z (-.f64 1 y) x) |
| 0.0ms | b | @ | -inf | (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) |
| 0.0ms | y | @ | 0 | (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) |
| 0.0ms | y | @ | inf | (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) |
| 1× | batch-egg-rewrite |
| 888× | prod-diff_binary64 |
| 620× | log-prod_binary64 |
| 400× | fma-def_binary64 |
| 261× | expm1-udef_binary64 |
| 260× | log1p-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 26 |
| 1 | 283 | 26 |
| 2 | 3776 | 26 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 z (-.f64 1 y) x) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 z (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 z (-.f64 1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 1 y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z (-.f64 1 y)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x))) (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (-.f64 1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (-.f64 1 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) x)) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) x)) 2) (cbrt.f64 (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) x)) (sqrt.f64 (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 z (-.f64 1 y)) (*.f64 z (-.f64 1 y)) (-.f64 (*.f64 x x) (*.f64 (*.f64 z (-.f64 1 y)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 z (-.f64 1 y)) (*.f64 z (-.f64 1 y)) (neg.f64 (*.f64 x x))) (-.f64 (*.f64 z (-.f64 1 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (-.f64 1 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (exp.f64 (*.f64 z (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 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 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) x)) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (-.f64 1 y) x) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 z (-.f64 1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 1) (fma.f64 z (-.f64 1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (*.f64 z (-.f64 1 y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)))) (cbrt.f64 (exp.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) 2) (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) (sqrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3) (pow.f64 (fma.f64 z (-.f64 1 y) x) 3)) (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 (pow.f64 (fma.f64 z (-.f64 1 y) x) 2) (*.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 z (-.f64 1 y) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (*.f64 (+.f64 y (+.f64 t -2)) b) (neg.f64 (pow.f64 (fma.f64 z (-.f64 1 y) x) 2))) (-.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x)) (exp.f64 (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) x))) (exp.f64 (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) 1)))))) |
| 1× | egg-herbie |
| 860× | fma-def_binary64 |
| 622× | unsub-neg_binary64 |
| 585× | sub-neg_binary64 |
| 529× | fma-neg_binary64 |
| 396× | associate-+l+_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 44 | 1233 |
| 1 | 129 | 1186 |
| 2 | 318 | 1184 |
| 3 | 838 | 1184 |
| 4 | 2737 | 1184 |
| 5 | 5021 | 1184 |
| 6 | 7507 | 1184 |
| 7 | 7942 | 1184 |
| 1× | node limit |
| Inputs |
|---|
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 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 z x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z 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) |
x |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(+.f64 (*.f64 z (-.f64 1 y)) 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 (*.f64 b (-.f64 t 2)) x)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(*.f64 (+.f64 (*.f64 -1 z) b) y) |
(+.f64 z (+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(+.f64 z (+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(+.f64 z (+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(*.f64 t b) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
x |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
x |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
| Outputs |
|---|
x |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 z x) |
(+.f64 x z) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 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 -1 (*.f64 y z)) (+.f64 z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 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 -1 (*.f64 y z)) (+.f64 z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)) |
(fma.f64 z (-.f64 1 y) x) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
x |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
x |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(+.f64 z (fma.f64 b (-.f64 t 2) x)) |
(+.f64 x (fma.f64 b (+.f64 t -2) z)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(*.f64 (+.f64 (*.f64 -1 z) b) y) |
(*.f64 y (fma.f64 -1 z b)) |
(*.f64 y (-.f64 b z)) |
(+.f64 z (+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 z (+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 z (+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) |
(*.f64 y (fma.f64 -1 z b)) |
(*.f64 y (-.f64 b z)) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 (+.f64 y -2) b x)) |
(fma.f64 z (-.f64 1 y) (fma.f64 b (+.f64 y -2) x)) |
(+.f64 (fma.f64 y (-.f64 b z) z) (fma.f64 b -2 x)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(*.f64 t b) |
(*.f64 b t) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(*.f64 t b) |
(*.f64 b t) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) x) |
(fma.f64 z (-.f64 1 y) x) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 b (+.f64 y (-.f64 t 2))) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(*.f64 b (+.f64 y (+.f64 t -2))) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(*.f64 b (+.f64 y (-.f64 t 2))) |
(*.f64 b (+.f64 t (+.f64 y -2))) |
(*.f64 b (+.f64 y (+.f64 t -2))) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) |
(fma.f64 (+.f64 y (-.f64 t 2)) b x) |
(fma.f64 b (+.f64 y (-.f64 t 2)) x) |
(fma.f64 b (+.f64 t (+.f64 y -2)) x) |
(fma.f64 b (+.f64 y (+.f64 t -2)) x) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (*.f64 z (-.f64 1 y))) |
(fma.f64 (+.f64 y (-.f64 t 2)) b (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 b (+.f64 y (-.f64 t 2)))) |
(fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
x |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
x |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) |
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x))) |
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x))) |
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x)) |
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))) |
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z)) |
Compiled 11 to 7 computations (36.4% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (-.f64 y 2) b) |
Compiled 17 to 12 computations (29.4% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | 0 | (*.f64 (-.f64 y 2) b) |
| 1.0ms | y | @ | -inf | (*.f64 (-.f64 y 2) b) |
| 0.0ms | b | @ | 0 | (*.f64 (-.f64 y 2) b) |
| 0.0ms | b | @ | inf | (*.f64 (-.f64 y 2) b) |
| 0.0ms | b | @ | -inf | (*.f64 (-.f64 y 2) b) |
| 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 | 1650 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 y 2) b) |
| Outputs |
|---|
((#(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 (+.f64 1 (*.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 (+.f64 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 (pow.f64 y 3) -8)) (fma.f64 y y (+.f64 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 (+.f64 y -2) b) 1)))) (#(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 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 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 cbrt.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 y -2) 3) (pow.f64 b 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 b 3) (pow.f64 (+.f64 y -2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 y -2) b)))))) (#(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))))))) |
| 1× | egg-herbie |
| 4× | fma-def_binary64 |
| 3× | *-commutative_binary64 |
| 2× | +-commutative_binary64 |
| 2× | distribute-rgt-out_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 75 |
| 1 | 13 | 75 |
| 2 | 19 | 75 |
| 1× | saturated |
| Inputs |
|---|
(*.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 -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)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 (-.f64 t 1) a) |
Compiled 25 to 16 computations (36% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (*.f64 z (-.f64 y 1)) | |
| ✓ | 0.0b | (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))) |
Compiled 39 to 22 computations (43.6% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a | @ | 0 | (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))) |
| 0.0ms | y | @ | 0 | (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))) |
| 0.0ms | a | @ | inf | (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))) |
| 0.0ms | y | @ | -inf | (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))) |
| 0.0ms | z | @ | 0 | (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))) |
| 1× | batch-egg-rewrite |
| 953× | pow1_binary64 |
| 885× | add-log-exp_binary64 |
| 884× | log1p-expm1-u_binary64 |
| 884× | expm1-log1p-u_binary64 |
| 101× | add-sqr-sqrt_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 12 |
| 1 | 194 | 8 |
| 2 | 2719 | 8 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (+.f64 y -1)) a)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 a (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (+.f64 y -1) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 a a) (-.f64 a (*.f64 z (+.f64 y -1)))) (/.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2) (-.f64 a (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 z (+.f64 y -1)) 0) a)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (+.f64 y -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (+.f64 y -1) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) a)) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) a)) 2) (cbrt.f64 (fma.f64 z (+.f64 y -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (+.f64 y -1) a)) (sqrt.f64 (fma.f64 z (+.f64 y -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 a 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3)) (/.f64 1 (fma.f64 a a (*.f64 (*.f64 z (+.f64 y -1)) (fma.f64 z (+.f64 y -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 a a) (pow.f64 (*.f64 z (+.f64 y -1)) 2)) (/.f64 1 (-.f64 a (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 a a (*.f64 (*.f64 z (+.f64 y -1)) (fma.f64 z (+.f64 y -1) a))) (+.f64 (pow.f64 a 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 a (*.f64 z (+.f64 y -1))) (-.f64 (*.f64 a a) (pow.f64 (*.f64 z (+.f64 y -1)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3)) (fma.f64 a a (*.f64 (*.f64 z (+.f64 y -1)) (fma.f64 z (+.f64 y -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3)) (+.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2) (-.f64 (*.f64 a a) (*.f64 a (*.f64 z (+.f64 y -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 a a) (pow.f64 (*.f64 z (+.f64 y -1)) 2)) (-.f64 a (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 a 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3))) (neg.f64 (fma.f64 a a (*.f64 (*.f64 z (+.f64 y -1)) (fma.f64 z (+.f64 y -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 a a) (pow.f64 (*.f64 z (+.f64 y -1)) 2))) (neg.f64 (-.f64 a (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2) (*.f64 a a)) (fma.f64 z (+.f64 y -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (+.f64 y -1) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (+.f64 y -1) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (+.f64 y -1) a)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (+.f64 y -1) a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (+.f64 y -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (+.f64 y -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (+.f64 y -1) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (+.f64 y -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (+.f64 y -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (+.f64 y -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 y -1) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (+.f64 y -1)) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y -1) z 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))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 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))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 a (*.f64 z (+.f64 y -1))))))) |
| 1× | egg-herbie |
| 243× | fma-neg_binary64 |
| 238× | fma-def_binary64 |
| 78× | cancel-sign-sub-inv_binary64 |
| 54× | sub-neg_binary64 |
| 41× | distribute-rgt-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 314 |
| 1 | 41 | 314 |
| 2 | 68 | 314 |
| 3 | 113 | 314 |
| 4 | 213 | 314 |
| 5 | 330 | 314 |
| 6 | 650 | 314 |
| 7 | 1020 | 314 |
| 8 | 1079 | 314 |
| 9 | 1092 | 314 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 z (-.f64 y 1)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(*.f64 -1 a) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(*.f64 -1 a) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(*.f64 -1 a) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(*.f64 z (-.f64 y 1)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(*.f64 z (-.f64 y 1)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 -1 z) a) |
(-.f64 (+.f64 (*.f64 y z) (*.f64 -1 z)) a) |
(-.f64 (+.f64 (*.f64 y z) (*.f64 -1 z)) a) |
(-.f64 (+.f64 (*.f64 y z) (*.f64 -1 z)) a) |
(*.f64 y z) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a) |
(*.f64 y z) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a) |
| Outputs |
|---|
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 z y) z) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(*.f64 -1 a) |
(neg.f64 a) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(*.f64 -1 a) |
(neg.f64 a) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(*.f64 -1 a) |
(neg.f64 a) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 z y) z) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(*.f64 z (-.f64 y 1)) |
(*.f64 z (+.f64 -1 y)) |
(-.f64 (*.f64 z y) z) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(-.f64 (*.f64 -1 z) a) |
(-.f64 (neg.f64 z) a) |
(neg.f64 (+.f64 z a)) |
(-.f64 (neg.f64 a) z) |
(-.f64 (+.f64 (*.f64 y z) (*.f64 -1 z)) a) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(-.f64 (+.f64 (*.f64 y z) (*.f64 -1 z)) a) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(-.f64 (+.f64 (*.f64 y z) (*.f64 -1 z)) a) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(*.f64 y z) |
(*.f64 z y) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(*.f64 y z) |
(*.f64 z y) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a) |
(-.f64 (*.f64 z (+.f64 -1 y)) a) |
(-.f64 (-.f64 (*.f64 z y) z) a) |
(-.f64 (*.f64 z y) (+.f64 z a)) |
Compiled 3061 to 1839 computations (39.9% saved)
24 alts after pruning (16 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 210 | 8 | 218 |
| Fresh | 3 | 8 | 11 |
| Picked | 1 | 0 | 1 |
| Done | 2 | 8 | 10 |
| Total | 216 | 24 | 240 |
| Status | Error | Program |
|---|---|---|
| 41.5b | (-.f64 x (*.f64 t a)) | |
| 25.0b | (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) | |
| ✓ | 57.0b | (*.f64 (neg.f64 z) y) |
| 27.4b | (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) | |
| ✓ | 45.1b | (*.f64 a (-.f64 1 t)) |
| ✓ | 58.0b | (*.f64 y b) |
| 52.8b | (+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) | |
| 34.4b | (-.f64 x (-.f64 (*.f64 z y) z)) | |
| 49.8b | (*.f64 t (-.f64 b a)) | |
| ✓ | 58.5b | (*.f64 t b) |
| ✓ | 52.2b | (*.f64 (-.f64 b z) y) |
| 54.1b | (*.f64 a (neg.f64 t)) | |
| 55.8b | (*.f64 -2 b) | |
| 29.2b | (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) | |
| 40.7b | (-.f64 x (neg.f64 a)) | |
| 41.5b | (fma.f64 (+.f64 y (+.f64 t -2)) b (*.f64 z (neg.f64 y))) | |
| ✓ | 47.2b | (*.f64 (-.f64 (+.f64 y t) 2) b) |
| 50.0b | x | |
| 53.8b | a | |
| ✓ | 46.9b | (-.f64 z (*.f64 y z)) |
| 31.0b | (-.f64 x (-.f64 (neg.f64 a) z)) | |
| 36.0b | (-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) | |
| ✓ | 51.2b | (*.f64 (-.f64 y 2) b) |
| 25.1b | (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
Compiled 285 to 215 computations (24.6% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (*.f64 z (neg.f64 y))) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
| Outputs |
|---|
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
7 calls:
| 93.0ms | x |
| 80.0ms | a |
| 69.0ms | (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 54.0ms | z |
| 35.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 0b | 1 | x |
| 0b | 1 | y |
| 0b | 1 | z |
| 0b | 1 | t |
| 0b | 1 | a |
| 0b | 1 | b |
| 0b | 1 | (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
Compiled 375 to 205 computations (45.3% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (*.f64 z (neg.f64 y))) |
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) |
| Outputs |
|---|
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
7 calls:
| 62.0ms | (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| 58.0ms | b |
| 37.0ms | a |
| 23.0ms | z |
| 22.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | t |
| 0.0b | 1 | a |
| 0.0b | 1 | b |
| 0.0b | 1 | (+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
Compiled 357 to 195 computations (45.4% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
| Outputs |
|---|
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) |
(-.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 z (-.f64 y 1))) |
6 calls:
| 173.0ms | t |
| 146.0ms | x |
| 114.0ms | a |
| 104.0ms | b |
| 90.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 9.7b | 7 | x |
| 10.3b | 5 | y |
| 5.3b | 3 | z |
| 6.9b | 7 | t |
| 4.6b | 5 | a |
| 4.5b | 5 | b |
Compiled 285 to 151 computations (47% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 66.0ms | 1.1264080799462302e+135 | 4.4763439514441485e+155 |
| 33.0ms | 1.545697060885485e-25 | 4.30510637317661e-25 |
| 33.0ms | 9.343694871062982e-99 | 1.3102731854410503e-96 |
| 86.0ms | -2.7640760695843058e-45 | -9.970345116254656e-46 |
Compiled 80 to 59 computations (26.3% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) |
| Outputs |
|---|
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.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) (neg.f64 a)) |
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
6 calls:
| 374.0ms | t |
| 241.0ms | b |
| 230.0ms | z |
| 222.0ms | y |
| 192.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 10.2b | 9 | x |
| 10.4b | 6 | y |
| 8.4b | 5 | z |
| 6.9b | 10 | t |
| 5.3b | 5 | a |
| 6.0b | 5 | b |
Compiled 270 to 143 computations (47% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 109.0ms | 8.769709989442563e+139 | 1.2043850819282623e+141 |
| 121.0ms | 8.198797283533816e+103 | 2.7041970316794664e+105 |
| 31.0ms | 1.0963018935707672e-63 | 2.7423846303244063e-50 |
| 32.0ms | -1.7689553345826852e+71 | -9.774405492706228e+61 |
Compiled 543 to 404 computations (25.6% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
| Outputs |
|---|
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) |
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) |
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
6 calls:
| 109.0ms | x |
| 106.0ms | y |
| 102.0ms | t |
| 98.0ms | a |
| 81.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 12.7b | 7 | x |
| 10.7b | 8 | y |
| 9.4b | 3 | z |
| 11.3b | 6 | t |
| 10.7b | 7 | a |
| 7.1b | 5 | b |
Compiled 255 to 135 computations (47.1% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 61.0ms | 4.4763439514441485e+155 | 3.680104837854175e+158 |
| 31.0ms | 3.792676665638031e+45 | 6.27180312678745e+50 |
| 40.0ms | 10108.087501823318 | 1135220207786460700.0 |
| 29.0ms | -2.7640760695843058e-45 | -9.970345116254656e-46 |
Compiled 316 to 235 computations (25.6% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
| Outputs |
|---|
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) |
6 calls:
| 286.0ms | x |
| 242.0ms | y |
| 128.0ms | a |
| 126.0ms | t |
| 89.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 14.1b | 13 | x |
| 15.4b | 11 | y |
| 13.0b | 4 | z |
| 12.9b | 6 | t |
| 15.0b | 6 | a |
| 15.2b | 3 | b |
Compiled 242 to 127 computations (47.5% saved)
| 5× | binary-search |
| Time | Left | Right |
|---|---|---|
| 103.0ms | 9.808528475433741e+128 | 5.792970204843395e+130 |
| 53.0ms | 1.0935382680264517e-104 | 2.6604918875159326e-104 |
| 50.0ms | 1.5013318416864768e-273 | 8.978810645251403e-273 |
| 52.0ms | -1.7833082974561152e-268 | -1.086151574666714e-275 |
| 50.0ms | -1.36922473738972e+28 | -528407892902.6605 |
Compiled 274 to 202 computations (26.3% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) |
| Outputs |
|---|
(*.f64 -2 b) |
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) |
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
6 calls:
| 576.0ms | z |
| 434.0ms | y |
| 413.0ms | x |
| 239.0ms | b |
| 161.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 17.7b | 8 | x |
| 16.4b | 9 | y |
| 14.0b | 6 | z |
| 14.5b | 5 | t |
| 16.2b | 4 | a |
| 13.2b | 10 | b |
Compiled 206 to 113 computations (45.1% saved)
| 9× | binary-search |
| Time | Left | Right |
|---|---|---|
| 212.0ms | 6.479949926087661e+111 | 9.130407798418577e+123 |
| 177.0ms | 7.953342530625983e+107 | 1.9027089625875e+109 |
| 132.0ms | 4.164434884335978e+101 | 6.727516903312039e+106 |
| 284.0ms | 6.27180312678745e+50 | 5.755152451681224e+51 |
| 60.0ms | 4.4713982082351455e-7 | 57.67571031381888 |
| 66.0ms | -7.996736896677263e-158 | -7.105375234755856e-159 |
| 54.0ms | -1.3770496042313516e+23 | -238270294475805.75 |
| 388.0ms | -1.348405072739092e+87 | -1.1402635093014792e+76 |
| 115.0ms | -3.7806798341957194e+258 | -9.271870647754896e+226 |
Compiled 1534 to 1144 computations (25.4% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))) |
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) |
| Outputs |
|---|
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) |
6 calls:
| 207.0ms | x |
| 201.0ms | a |
| 193.0ms | y |
| 134.0ms | t |
| 128.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 18.5b | 9 | x |
| 17.1b | 9 | y |
| 15.3b | 6 | z |
| 14.5b | 5 | t |
| 16.9b | 4 | a |
| 16.0b | 6 | b |
Compiled 195 to 109 computations (44.1% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 208.0ms | 9.808528475433741e+128 | 5.792970204843395e+130 |
| 53.0ms | 1.1358656511994088e-272 | 4.9852143853421065e-263 |
| 54.0ms | -1.094737742957119e-238 | -8.295056017925053e-243 |
| 55.0ms | -1.36922473738972e+28 | -528407892902.6605 |
Compiled 274 to 202 computations (26.3% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))) |
| Outputs |
|---|
(*.f64 -2 b) |
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
6 calls:
| 279.0ms | b |
| 161.0ms | x |
| 114.0ms | y |
| 102.0ms | a |
| 69.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 19.8b | 9 | x |
| 19.1b | 9 | y |
| 17.6b | 6 | z |
| 16.4b | 5 | t |
| 16.8b | 5 | a |
| 14.7b | 9 | b |
Compiled 184 to 104 computations (43.5% saved)
| 8× | binary-search |
| Time | Left | Right |
|---|---|---|
| 125.0ms | 6.799206453707975e+58 | 8.721886084642752e+59 |
| 51.0ms | 4.615857294395282e+30 | 1.8204591834662585e+36 |
| 50.0ms | 10108.087501823318 | 1135220207786460700.0 |
| 85.0ms | -2.223803935549301e-157 | -7.996736896677263e-158 |
| 51.0ms | -2.4883411941156667e-76 | -3.0048393927658006e-78 |
| 51.0ms | -238270294475805.75 | -7955699993614.494 |
| 120.0ms | -7.311529477970765e+96 | -2.874880999643506e+88 |
| 66.0ms | -3.7806798341957194e+258 | -9.271870647754896e+226 |
Compiled 770 to 592 computations (23.1% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
| Outputs |
|---|
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 z (*.f64 y z)) |
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
6 calls:
| 305.0ms | z |
| 255.0ms | x |
| 183.0ms | y |
| 81.0ms | b |
| 60.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 21.3b | 10 | x |
| 18.4b | 11 | y |
| 19.8b | 7 | z |
| 18.0b | 6 | t |
| 17.4b | 5 | a |
| 17.8b | 8 | b |
Compiled 165 to 94 computations (43% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 162.0ms | 8.769709989442563e+139 | 1.2043850819282623e+141 |
| 56.0ms | 8.921950101163558e+36 | 2.1697852041057955e+38 |
| 54.0ms | 1.0963018935707672e-63 | 2.7423846303244063e-50 |
| 54.0ms | -1.7689553345826852e+71 | -9.774405492706228e+61 |
Compiled 216 to 165 computations (23.6% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) |
| Outputs |
|---|
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
6 calls:
| 160.0ms | b |
| 99.0ms | z |
| 90.0ms | x |
| 85.0ms | y |
| 73.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 24.9b | 8 | x |
| 22.2b | 8 | y |
| 20.0b | 9 | z |
| 20.8b | 4 | t |
| 20.1b | 7 | a |
| 17.9b | 11 | b |
Compiled 156 to 89 computations (42.9% saved)
| 10× | binary-search |
| Time | Left | Right |
|---|---|---|
| 153.0ms | 7.12192127334732e+62 | 2.5147409721018106e+72 |
| 29.0ms | 1.545697060885485e-25 | 4.30510637317661e-25 |
| 29.0ms | 5.119743500842987e-262 | 3.781316291058683e-259 |
| 29.0ms | -2.490543879657481e-278 | -5.438640429744022e-280 |
| 30.0ms | -2.223803935549301e-157 | -7.996736896677263e-158 |
| 29.0ms | -2.4883411941156667e-76 | -3.0048393927658006e-78 |
| 30.0ms | -2.7640760695843058e-45 | -9.970345116254656e-46 |
| 29.0ms | -238270294475805.75 | -7955699993614.494 |
| 30.0ms | -1.7437564707793253e+42 | -1.5953486971606876e+38 |
| 51.0ms | -3.9665700965915045e+167 | -2.3004209354257e+166 |
Compiled 477 to 372 computations (22% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
| Outputs |
|---|
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(*.f64 (-.f64 (+.f64 y t) 2) b) |
6 calls:
| 789.0ms | b |
| 133.0ms | a |
| 109.0ms | z |
| 84.0ms | x |
| 74.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 24.9b | 8 | x |
| 24.1b | 6 | y |
| 20.0b | 9 | z |
| 20.8b | 4 | t |
| 20.1b | 7 | a |
| 19.2b | 9 | b |
Compiled 140 to 85 computations (39.3% saved)
| 8× | binary-search |
| Time | Left | Right |
|---|---|---|
| 158.0ms | 7.12192127334732e+62 | 2.5147409721018106e+72 |
| 35.0ms | 1.545697060885485e-25 | 4.30510637317661e-25 |
| 35.0ms | 5.119743500842987e-262 | 3.781316291058683e-259 |
| 34.0ms | -2.490543879657481e-278 | -5.438640429744022e-280 |
| 29.0ms | -2.223803935549301e-157 | -7.996736896677263e-158 |
| 34.0ms | -1.5070348261666303e+31 | -2.0363998701979344e+30 |
| 35.0ms | -1.7437564707793253e+42 | -1.5953486971606876e+38 |
| 54.0ms | -3.9665700965915045e+167 | -2.3004209354257e+166 |
Compiled 477 to 372 computations (22% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(-.f64 x (*.f64 (-.f64 t 1) a)) |
(-.f64 x (*.f64 z (-.f64 y 1))) |
| Outputs |
|---|
(*.f64 t (-.f64 b a)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 x (-.f64 (*.f64 z y) z)) |
(*.f64 t (-.f64 b a)) |
6 calls:
| 144.0ms | x |
| 83.0ms | b |
| 79.0ms | y |
| 68.0ms | z |
| 34.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 25.6b | 8 | x |
| 24.1b | 6 | y |
| 22.2b | 7 | z |
| 20.8b | 4 | t |
| 22.5b | 3 | a |
| 20.9b | 10 | b |
Compiled 133 to 81 computations (39.1% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 93.0ms | 1.863374536376173e+212 | 4.5677958474185876e+228 |
| 60.0ms | 1.2203878813626119e-5 | 5.616584632100459e-5 |
| 59.0ms | -528407892902.6605 | -2093910185.8524642 |
Compiled 296 to 217 computations (26.7% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
| Outputs |
|---|
(*.f64 t (-.f64 b a)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(-.f64 z (*.f64 y z)) |
(-.f64 x (-.f64 (neg.f64 a) z)) |
(*.f64 t (-.f64 b a)) |
6 calls:
| 391.0ms | z |
| 230.0ms | y |
| 143.0ms | t |
| 137.0ms | x |
| 98.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 27.7b | 7 | x |
| 24.6b | 7 | y |
| 25.7b | 9 | z |
| 21.3b | 5 | t |
| 26.2b | 6 | a |
| 24.5b | 7 | b |
Compiled 112 to 70 computations (37.5% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 124.0ms | 1.863374536376173e+212 | 4.5677958474185876e+228 |
| 138.0ms | 2.076874871766668e+100 | 4.7377923017062304e+100 |
| 51.0ms | 3820833205.9777083 | 2158243478230.8765 |
| 48.0ms | -528407892902.6605 | -2093910185.8524642 |
Compiled 411 to 312 computations (24.1% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 z (*.f64 y z)) |
(*.f64 a (-.f64 1 t)) |
| Outputs |
|---|
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 x (neg.f64 a)) |
(-.f64 z (*.f64 y z)) |
(-.f64 x (neg.f64 a)) |
(-.f64 z (*.f64 y z)) |
(*.f64 t (-.f64 b a)) |
6 calls:
| 206.0ms | b |
| 173.0ms | y |
| 161.0ms | x |
| 155.0ms | a |
| 121.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 29.6b | 10 | x |
| 29.2b | 9 | y |
| 27.6b | 8 | z |
| 26.7b | 7 | t |
| 27.4b | 10 | a |
| 27.9b | 13 | b |
Compiled 106 to 68 computations (35.8% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 133.0ms | 5.792970204843395e+130 | 1.1161312070759376e+148 |
| 52.0ms | 1.2203878813626119e-5 | 5.616584632100459e-5 |
| 30.0ms | 5.913069836290875e-283 | 4.479817783971875e-277 |
| 34.0ms | -7.975557453407681e-306 | -5.281471761514972e-306 |
| 31.0ms | -9.435137475197939e-22 | -4.814759385712623e-24 |
| 30.0ms | -1.36922473738972e+28 | -528407892902.6605 |
Compiled 276 to 207 computations (25% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
| Outputs |
|---|
(*.f64 t (-.f64 b a)) |
(*.f64 (-.f64 b z) y) |
(-.f64 x (neg.f64 a)) |
(*.f64 t (-.f64 b a)) |
6 calls:
| 267.0ms | x |
| 151.0ms | b |
| 119.0ms | z |
| 86.0ms | t |
| 47.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 34.6b | 6 | x |
| 33.4b | 6 | y |
| 35.0b | 8 | z |
| 30.3b | 4 | t |
| 35.5b | 5 | a |
| 31.1b | 9 | b |
Compiled 96 to 63 computations (34.4% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 60.0ms | 500875773360867700.0 | 11670032118385056000.0 |
| 31.0ms | -9.435137475197939e-22 | -4.814759385712623e-24 |
| 29.0ms | -1.36922473738972e+28 | -528407892902.6605 |
Compiled 36 to 27 computations (25% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
(*.f64 t (-.f64 b a)) |
| Outputs |
|---|
(*.f64 t (-.f64 b a)) |
(-.f64 x (neg.f64 a)) |
(*.f64 t (-.f64 b a)) |
6 calls:
| 180.0ms | z |
| 166.0ms | x |
| 96.0ms | b |
| 73.0ms | y |
| 67.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 33.5b | 8 | x |
| 35.6b | 6 | y |
| 35.3b | 8 | z |
| 31.3b | 3 | t |
| 36.7b | 3 | a |
| 32.2b | 7 | b |
Compiled 91 to 61 computations (33% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 100.0ms | 500875773360867700.0 | 11670032118385056000.0 |
| 60.0ms | -9.435137475197939e-22 | -4.814759385712623e-24 |
Compiled 36 to 27 computations (25% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
(*.f64 (-.f64 y 2) b) |
| Outputs |
|---|
(*.f64 (-.f64 y 2) b) |
(-.f64 x (neg.f64 a)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(-.f64 x (*.f64 t a)) |
(*.f64 (-.f64 y 2) b) |
6 calls:
| 187.0ms | b |
| 112.0ms | a |
| 96.0ms | x |
| 94.0ms | z |
| 30.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 35.3b | 7 | x |
| 37.0b | 4 | y |
| 35.3b | 9 | z |
| 32.4b | 3 | t |
| 36.7b | 3 | a |
| 32.2b | 7 | b |
Compiled 86 to 59 computations (31.4% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 296.0ms | 7.12192127334732e+62 | 2.5147409721018106e+72 |
| 115.0ms | 4.4281852361523377e-187 | 6.25888562155353e-182 |
| 44.0ms | 8.297458056809556e-224 | 1.8579555821055898e-221 |
| 52.0ms | 1.85089774569972e-297 | 9.687813478049033e-293 |
| 71.0ms | -2.4883411941156667e-76 | -3.0048393927658006e-78 |
| 54.0ms | -3.9665700965915045e+167 | -2.3004209354257e+166 |
Compiled 413 to 331 computations (19.9% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
(-.f64 x (*.f64 t a)) |
(-.f64 x (*.f64 a t)) |
| Outputs |
|---|
(-.f64 x (*.f64 t a)) |
(-.f64 x (neg.f64 a)) |
(-.f64 x (*.f64 t a)) |
6 calls:
| 102.0ms | z |
| 94.0ms | b |
| 91.0ms | x |
| 74.0ms | y |
| 37.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 36.1b | 8 | x |
| 37.0b | 4 | y |
| 37.2b | 6 | z |
| 32.4b | 3 | t |
| 36.7b | 3 | a |
| 33.0b | 7 | b |
Compiled 81 to 56 computations (30.9% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 55.0ms | 5.616584632100459e-5 | 0.006488642191195358 |
| 84.0ms | -1.36922473738972e+28 | -528407892902.6605 |
Compiled 36 to 27 computations (25% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(*.f64 a (neg.f64 t)) |
| Outputs |
|---|
(*.f64 a (neg.f64 t)) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
(-.f64 x (neg.f64 a)) |
(*.f64 a (neg.f64 t)) |
6 calls:
| 61.0ms | x |
| 61.0ms | a |
| 59.0ms | z |
| 47.0ms | t |
| 47.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 37.1b | 7 | x |
| 38.0b | 5 | y |
| 38.3b | 5 | z |
| 33.8b | 5 | t |
| 37.5b | 5 | a |
| 36.4b | 3 | b |
Compiled 71 to 52 computations (26.8% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 97.0ms | 1.863374536376173e+212 | 4.5677958474185876e+228 |
| 130.0ms | 2.076874871766668e+100 | 4.7377923017062304e+100 |
| 70.0ms | 2158243478230.8765 | 69613124901964.664 |
| 28.0ms | -1.36922473738972e+28 | -528407892902.6605 |
Compiled 366 to 297 computations (18.9% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
(-.f64 x (neg.f64 a)) |
(*.f64 (neg.f64 z) y) |
| Outputs |
|---|
(*.f64 -2 b) |
(-.f64 x (neg.f64 a)) |
(*.f64 -2 b) |
6 calls:
| 172.0ms | z |
| 155.0ms | b |
| 67.0ms | x |
| 42.0ms | a |
| 32.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 37.1b | 7 | x |
| 39.1b | 3 | y |
| 38.3b | 5 | z |
| 39.0b | 3 | t |
| 39.0b | 3 | a |
| 36.4b | 3 | b |
Compiled 67 to 50 computations (25.4% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 331.0ms | 7.12192127334732e+62 | 2.5147409721018106e+72 |
| 69.0ms | -3.7806798341957194e+258 | -9.271870647754896e+226 |
Compiled 456 to 387 computations (15.1% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
(*.f64 y b) |
(*.f64 t b) |
| Outputs |
|---|
x |
(*.f64 -2 b) |
x |
a |
(*.f64 y b) |
a |
(*.f64 -2 b) |
a |
x |
6 calls:
| 73.0ms | z |
| 43.0ms | x |
| 23.0ms | a |
| 22.0ms | b |
| 16.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 41.2b | 9 | x |
| 47.4b | 3 | y |
| 45.2b | 7 | z |
| 46.5b | 4 | t |
| 42.1b | 4 | a |
| 44.3b | 3 | b |
Compiled 59 to 46 computations (22% saved)
| 8× | binary-search |
| Time | Left | Right |
|---|---|---|
| 33.0ms | 3.569972792810432e+28 | 7.373674784911095e+30 |
| 31.0ms | 7.88677610134669e+25 | 3.739193684896451e+26 |
| 30.0ms | 2.646713859794029e-137 | 6.561957051251495e-132 |
| 30.0ms | 6.979039657148071e-271 | 5.625737712421515e-268 |
| 29.0ms | -1.9739833837803e-169 | -1.076003712009633e-179 |
| 32.0ms | -9.837857309242515e+67 | -2.0604784690024708e+67 |
| 60.0ms | -2.6105758989348154e+79 | -1.7720133731045418e+68 |
| 30.0ms | -1.154345676514136e+102 | -1.6343098863320732e+99 |
Compiled 36 to 27 computations (25% saved)
| Inputs |
|---|
a |
x |
(*.f64 -2 b) |
| Outputs |
|---|
a |
x |
(*.f64 -2 b) |
a |
6 calls:
| 28.0ms | x |
| 19.0ms | z |
| 17.0ms | a |
| 11.0ms | t |
| 10.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 42.5b | 7 | x |
| 47.4b | 3 | y |
| 46.4b | 5 | z |
| 47.6b | 3 | t |
| 42.1b | 4 | a |
| 44.3b | 3 | b |
Compiled 53 to 44 computations (17% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 235.0ms | 1.2043850819282623e+141 | 3.7042609335100727e+170 |
| 30.0ms | 5.863795410539976e-87 | 3.760911456296836e-83 |
| 103.0ms | -6.071512312803115e+123 | -4.116310770013601e+122 |
Compiled 330 to 287 computations (13% saved)
Total -19.5b remaining (-45.1%)
Threshold costs -19.5b (-45.1%)
| Inputs |
|---|
a |
x |
| Outputs |
|---|
a |
x |
a |
6 calls:
| 98.0ms | b |
| 25.0ms | t |
| 17.0ms | x |
| 17.0ms | y |
| 9.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 44.7b | 3 | x |
| 47.4b | 3 | y |
| 48.6b | 2 | z |
| 47.6b | 3 | t |
| 43.1b | 3 | a |
| 48.7b | 2 | b |
Compiled 50 to 42 computations (16% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 100.0ms | 1.0710054516178734e-42 | 9.356323262256003e-37 |
| 241.0ms | -6.071512312803115e+123 | -4.116310770013601e+122 |
Compiled 132 to 111 computations (15.9% saved)
| 1× | egg-herbie |
| 179× | cancel-sign-sub-inv_binary64 |
| 138× | distribute-rgt-neg-in_binary64 |
| 92× | distribute-lft-neg-out_binary64 |
| 88× | distribute-lft-neg-in_binary64 |
| 84× | unsub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 310 | 1928 |
| 1 | 410 | 1890 |
| 2 | 499 | 1878 |
| 3 | 572 | 1878 |
| 4 | 675 | 1878 |
| 5 | 776 | 1878 |
| 6 | 863 | 1878 |
| 7 | 945 | 1878 |
| 8 | 1008 | 1878 |
| 9 | 1076 | 1878 |
| 10 | 1168 | 1878 |
| 11 | 1253 | 1878 |
| 12 | 1321 | 1878 |
| 13 | 1385 | 1878 |
| 14 | 1446 | 1878 |
| 15 | 1469 | 1878 |
| 16 | 1474 | 1878 |
| 17 | 1483 | 1878 |
| 18 | 1487 | 1878 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 5752505050106921/615656346818663737691860001564743965704370926101022604186692084441339402679643915803347910232576806887603562348544) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) (if (<=.f64 b 999999999999999980835596172437374590573120014030318793091164810154100112203678582976298268616221151962702060266176005440567032331208403948233373515776) (-.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 z (-.f64 y 1))))))) |
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) (if (<=.f64 a 82000000000000003339954070052877346164154708575399121557449253300174496203696530105042144779084389941248) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))))))) |
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3792676665638031184704740728782178317894680576) (+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) (if (<=.f64 b 449999999999999973457990046261517499935973494258555676005057340905580228432358972138214490305813912545954144924079784244337481911369963359210018733490700288) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))))) |
(if (<=.f64 t -13692247373897200269885702144) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 t -3237072255061/18152061871066687778296661354368903321914797383537530017770652579540291225102592450502542901564408576535628952517004065557306948798155587253306037366972590646764780767180906664339433713797579795779287057890032192456881698082005372169886461674177955114893128728688280185836979355648) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (if (<=.f64 t 3657737558137047/2436328502849999770088345596968797077719056714398751881716976614303237172691606525616403766470502564806326229057852167045864792466300773511644496824078163354882819424989118257467697413872513412088199898369804594718421399481348718736436590903867241403206934700776069386770457147497978527744) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 t 7059472648236685/645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873344) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))))))) |
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -11500000000000000059110133425215817612704913916697844622259617830295136370688) (-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b -137704960423135161614336) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 b -4944590367824939/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 8446232412053215/18889465931478580854784) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 b 627180312678744963009896073221800376108269864747008) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 420000000000000002793876481647707437832230146038664005086002079321130185927531185076357168995569238016) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 b 799999999999999975051072376239415867482970152490237515253153694022332201093365163162032019163167078442074112) (+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) (if (<=.f64 b 8999999999999999652605816159272590287429321379020729985548590597192429698802873253937734959910540968681630299590518215016448) (-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))))))))))) |
(if (<=.f64 t -13692247373897200269885702144) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 t -802613479333813/7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 t 6918354653563489/609082125712499942522086399242199269429764178599687970429244153575809293172901631404100941617625641201581557264463041761466198116575193377911124206019540838720704856247279564366924353468128353022049974592451148679605349870337179684109147725966810350801733675194017346692614286874494631936) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)))))) |
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -7200000000000000264147029094534602431484582176039793377940457662313566412391349051485669109530624) (-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) (if (<=.f64 b -953081177903223/4) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 b 4615857294395282238126833008640) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b 849999999999999992660257320161913063376247495598776971689984) (-.f64 x (*.f64 (-.f64 t 1) a)) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))))))))) |
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 a 8921950101163558475044126994861129728) (-.f64 z (*.f64 y z)) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (-.f64 x (*.f64 (-.f64 t 1) a)))))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -953081177903223/4) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))))))))))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -15070348261666302569633435090944) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))))))))) |
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (-.f64 (*.f64 z y) z)) (*.f64 t (-.f64 b a))))) |
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 8012867999582563/2097152) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (-.f64 z (*.f64 y z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (-.f64 (neg.f64 a) z)) (*.f64 t (-.f64 b a)))))) |
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 (-.f64 b z) y) (if (<=.f64 t -6305745312311057/790633801981682102939434948120770730662330663141180149831645929794649763937481823796720248833738767559324522907487546528866440380413255769011771093518509804380927438580337349079948858367551626332967842494034160424070341732127705853976966233004529516956289283251401443563802400840744150516352841830648461966045733363646464) (-.f64 x (neg.f64 a)) (if (<=.f64 t 6187407445780435/10463951242053391806136963369726580181263718864311851635192874886429209483641954321222640418122029864527291727710479949464718215680589004332016189037791576956967351342601788071700268169006221818240189631008834448226154239518944108944497601509840881752510934060240763835605888507473266002770708660224) (-.f64 z (*.f64 y z)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (neg.f64 a)) (if (<=.f64 t 10999999999999999403058485614769959891976047213831097848630840046557381709698796098024659144535785904550726971241041855691147752314385416240309993472) (-.f64 z (*.f64 y z)) (*.f64 t (-.f64 b a)))))))) |
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 (-.f64 b z) y) (if (<=.f64 t 500875773360867712) (-.f64 x (neg.f64 a)) (*.f64 t (-.f64 b a))))) |
(if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 t (-.f64 b a)) (if (<=.f64 t 500875773360867712) (-.f64 x (neg.f64 a)) (*.f64 t (-.f64 b a)))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 (-.f64 y 2) b) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (neg.f64 a)) (if (<=.f64 b 85180061971879/46020944252475287237870212884199033180620210660923048261998100776379565006208246561973370194536329221406749153247076699560650180816490655358168942243705375840708580716765564230733368217919000094579989235733761476822566574679670497657321756298451772713817730735254092349426494960250807374037851220383801379127296) (-.f64 x (*.f64 t a)) (if (<=.f64 b 4322466412423543/52093862756873861516248842115009826540193424393093032503095764154406540920450250558761189069309017896429139926511197190983506262922807539690338719158834609735118418589953238737992799108686047068195039188561614077981958969042784853837217792) (-.f64 x (neg.f64 a)) (if (<=.f64 b 2169316274988593/4898883310657342436947850401401639604522231782621865961233415550616320366316550245614411808808882209683752589725123921141977824503727074585042721378292777435812376133285876920625254286345394996247527424) (*.f64 (neg.f64 z) y) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 t a)) (*.f64 (-.f64 y 2) b))))))) |
(if (<=.f64 t -13692247373897200269885702144) (-.f64 x (*.f64 t a)) (if (<=.f64 t 8288615942134983/147573952589676412928) (-.f64 x (neg.f64 a)) (-.f64 x (*.f64 t a)))) |
(if (<=.f64 t -13692247373897200269885702144) (*.f64 a (neg.f64 t)) (if (<=.f64 t 4420082643416835/2048) (-.f64 x (neg.f64 a)) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (*.f64 (neg.f64 z) y) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (neg.f64 a)) (*.f64 a (neg.f64 t)))))) |
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (neg.f64 a)) (*.f64 -2 b))) |
(if (<=.f64 x -1154345676514135978491665221774440311799935753856125890360308941451122628335947877494491099755433689088) x (if (<=.f64 x -26105758989348153717801203241870470068973107643960842709430052336716597398863872) (*.f64 -2 b) (if (<=.f64 x -98378573092425149495243024414904905481884728708035649970960968187904) x (if (<=.f64 x -6710128462814199/33992831540273094316133645219357992149093959534530043084764424844825827831094543535306400144974674282808917087119776064982181077609773263322209278641061590524405201333465166018030600192) a (if (<=.f64 x 3320943992037175/4758454107128905800953799994079681792420032645310062268978469949811010102913293995344538606387700321887355916128617513761454672785743698264930657859527662802505506689431871596616596511469752757984765426503524599059416795862009216282102716609115705865638544337453260521036049116206989312) (*.f64 y b) (if (<=.f64 x 5544786105880525/209496998905353079680844140596966345741865090946756146526930647558152562969899171512529285908857866057656747784163844544589904418936665155413025765720064) a (if (<=.f64 x 78867761013466901663186944) (*.f64 -2 b) (if (<=.f64 x 35699727928104320201513762816) a x)))))))) |
(if (<=.f64 a -6000000000000000159827641235153931506532980384236657886312818549514931583750410757993327492375101223070919930521795982000128) a (if (<=.f64 a 6566702469981625/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) x (if (<=.f64 a 1219999999999999915788184104263273213404077420797770780784941982750802122902547842975392852639294428338846833170399820058803297869346658844672) (*.f64 -2 b) a))) |
(if (<=.f64 a -6000000000000000159827641235153931506532980384236657886312818549514931583750410757993327492375101223070919930521795982000128) a (if (<=.f64 a 6722810178959149/6277101735386680763835789423207666416102355444464034512896) x a)) |
a |
| Outputs |
|---|
(fma.f64 (+.f64 y (+.f64 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))) |
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) |
(+.f64 (-.f64 (-.f64 x (*.f64 z (-.f64 y 1))) (*.f64 a (+.f64 t -1))) (*.f64 b (+.f64 (+.f64 y t) -2))) |
(+.f64 (+.f64 (-.f64 x (*.f64 z (-.f64 y 1))) (*.f64 a (-.f64 1 t))) (*.f64 b (+.f64 -2 (+.f64 y t)))) |
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 5752505050106921/615656346818663737691860001564743965704370926101022604186692084441339402679643915803347910232576806887603562348544) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) (if (<=.f64 b 999999999999999980835596172437374590573120014030318793091164810154100112203678582976298268616221151962702060266176005440567032331208403948233373515776) (-.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 z (-.f64 y 1))))))) |
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (*.f64 a (+.f64 t -1))) (if (<=.f64 b 5752505050106921/615656346818663737691860001564743965704370926101022604186692084441339402679643915803347910232576806887603562348544) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (*.f64 z (-.f64 y 1))) (if (<=.f64 b 999999999999999980835596172437374590573120014030318793091164810154100112203678582976298268616221151962702060266176005440567032331208403948233373515776) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (*.f64 a (+.f64 t -1))) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (*.f64 z (-.f64 y 1))))))) |
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (+.f64 (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t)))) (*.f64 a (-.f64 1 t))) (if (<=.f64 b 5752505050106921/615656346818663737691860001564743965704370926101022604186692084441339402679643915803347910232576806887603562348544) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (+.f64 (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t)))) (*.f64 z (-.f64 1 y))) (if (<=.f64 b 999999999999999980835596172437374590573120014030318793091164810154100112203678582976298268616221151962702060266176005440567032331208403948233373515776) (+.f64 (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t)))) (*.f64 a (-.f64 1 t))) (+.f64 (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t)))) (*.f64 z (-.f64 1 y))))))) |
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) (if (<=.f64 a 82000000000000003339954070052877346164154708575399121557449253300174496203696530105042144779084389941248) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))))))) |
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (*.f64 z (-.f64 y 1))) (if (<=.f64 a 82000000000000003339954070052877346164154708575399121557449253300174496203696530105042144779084389941248) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (neg.f64 a)) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))))))) |
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t)))) (*.f64 z (-.f64 1 y))) (if (<=.f64 a 82000000000000003339954070052877346164154708575399121557449253300174496203696530105042144779084389941248) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))))))) |
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3792676665638031184704740728782178317894680576) (+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) (if (<=.f64 b 449999999999999973457990046261517499935973494258555676005057340905580228432358972138214490305813912545954144924079784244337481911369963359210018733490700288) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))))) |
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (neg.f64 a)) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3792676665638031184704740728782178317894680576) (+.f64 (*.f64 b (+.f64 (+.f64 y t) -2)) (*.f64 a (neg.f64 t))) (if (<=.f64 b 449999999999999973457990046261517499935973494258555676005057340905580228432358972138214490305813912545954144924079784244337481911369963359210018733490700288) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (neg.f64 a)) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))))))) |
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3792676665638031184704740728782178317894680576) (-.f64 (*.f64 b (+.f64 -2 (+.f64 y t))) (*.f64 t a)) (if (<=.f64 b 449999999999999973457990046261517499935973494258555676005057340905580228432358972138214490305813912545954144924079784244337481911369963359210018733490700288) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))))))) |
(if (<=.f64 t -13692247373897200269885702144) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 t -3237072255061/18152061871066687778296661354368903321914797383537530017770652579540291225102592450502542901564408576535628952517004065557306948798155587253306037366972590646764780767180906664339433713797579795779287057890032192456881698082005372169886461674177955114893128728688280185836979355648) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (if (<=.f64 t 3657737558137047/2436328502849999770088345596968797077719056714398751881716976614303237172691606525616403766470502564806326229057852167045864792466300773511644496824078163354882819424989118257467697413872513412088199898369804594718421399481348718736436590903867241403206934700776069386770457147497978527744) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 t 7059472648236685/645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873344) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))))))) |
(if (<=.f64 t -13692247373897200269885702144) (-.f64 (+.f64 x (*.f64 t b)) (*.f64 a (+.f64 t -1))) (if (<=.f64 t -3237072255061/18152061871066687778296661354368903321914797383537530017770652579540291225102592450502542901564408576535628952517004065557306948798155587253306037366972590646764780767180906664339433713797579795779287057890032192456881698082005372169886461674177955114893128728688280185836979355648) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (neg.f64 a)) (if (<=.f64 t 3657737558137047/2436328502849999770088345596968797077719056714398751881716976614303237172691606525616403766470502564806326229057852167045864792466300773511644496824078163354882819424989118257467697413872513412088199898369804594718421399481348718736436590903867241403206934700776069386770457147497978527744) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 t 7059472648236685/645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873344) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (neg.f64 a)) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (-.f64 (+.f64 x (*.f64 t b)) (*.f64 a (+.f64 t -1)))))))) |
(if (<=.f64 t -13692247373897200269885702144) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 t -3237072255061/18152061871066687778296661354368903321914797383537530017770652579540291225102592450502542901564408576535628952517004065557306948798155587253306037366972590646764780767180906664339433713797579795779287057890032192456881698082005372169886461674177955114893128728688280185836979355648) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (if (<=.f64 t 3657737558137047/2436328502849999770088345596968797077719056714398751881716976614303237172691606525616403766470502564806326229057852167045864792466300773511644496824078163354882819424989118257467697413872513412088199898369804594718421399481348718736436590903867241403206934700776069386770457147497978527744) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 t 7059472648236685/645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873344) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t)))))))) |
(if (<=.f64 t -13692247373897200269885702144) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 t -3237072255061/18152061871066687778296661354368903321914797383537530017770652579540291225102592450502542901564408576535628952517004065557306948798155587253306037366972590646764780767180906664339433713797579795779287057890032192456881698082005372169886461674177955114893128728688280185836979355648) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (if (<=.f64 t 3657737558137047/2436328502849999770088345596968797077719056714398751881716976614303237172691606525616403766470502564806326229057852167045864792466300773511644496824078163354882819424989118257467697413872513412088199898369804594718421399481348718736436590903867241403206934700776069386770457147497978527744) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 t 7059472648236685/645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873344) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (+.f64 x (-.f64 a (*.f64 z (-.f64 y 1)))) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t)))))))) |
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -11500000000000000059110133425215817612704913916697844622259617830295136370688) (-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b -137704960423135161614336) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 b -4944590367824939/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 8446232412053215/18889465931478580854784) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 b 627180312678744963009896073221800376108269864747008) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 420000000000000002793876481647707437832230146038664005086002079321130185927531185076357168995569238016) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 b 799999999999999975051072376239415867482970152490237515253153694022332201093365163162032019163167078442074112) (+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) (if (<=.f64 b 8999999999999999652605816159272590287429321379020729985548590597192429698802873253937734959910540968681630299590518215016448) (-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))))))))))) |
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -11500000000000000059110133425215817612704913916697844622259617830295136370688) (-.f64 (+.f64 x (*.f64 y b)) (*.f64 a (+.f64 t -1))) (if (<=.f64 b -137704960423135161614336) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b -4944590367824939/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (-.f64 (+.f64 x (*.f64 y b)) (*.f64 a (+.f64 t -1))) (if (<=.f64 b 8446232412053215/18889465931478580854784) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 b 627180312678744963009896073221800376108269864747008) (-.f64 (+.f64 x (*.f64 t b)) (*.f64 a (+.f64 t -1))) (if (<=.f64 b 420000000000000002793876481647707437832230146038664005086002079321130185927531185076357168995569238016) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b 799999999999999975051072376239415867482970152490237515253153694022332201093365163162032019163167078442074112) (+.f64 (*.f64 t b) (*.f64 y (neg.f64 z))) (if (<=.f64 b 8999999999999999652605816159272590287429321379020729985548590597192429698802873253937734959910540968681630299590518215016448) (-.f64 (+.f64 x (*.f64 y b)) (*.f64 a (+.f64 t -1))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2))))))))))))) |
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -11500000000000000059110133425215817612704913916697844622259617830295136370688) (+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 b -137704960423135161614336) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b -4944590367824939/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 b 8446232412053215/18889465931478580854784) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 b 627180312678744963009896073221800376108269864747008) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 b 420000000000000002793876481647707437832230146038664005086002079321130185927531185076357168995569238016) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b 799999999999999975051072376239415867482970152490237515253153694022332201093365163162032019163167078442074112) (-.f64 (*.f64 t b) (*.f64 y z)) (if (<=.f64 b 8999999999999999652605816159272590287429321379020729985548590597192429698802873253937734959910540968681630299590518215016448) (+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (-.f64 1 t))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2))))))))))))) |
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -11500000000000000059110133425215817612704913916697844622259617830295136370688) (+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 b -137704960423135161614336) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b -4944590367824939/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 b 8446232412053215/18889465931478580854784) (+.f64 x (-.f64 a (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 627180312678744963009896073221800376108269864747008) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 b 420000000000000002793876481647707437832230146038664005086002079321130185927531185076357168995569238016) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b 799999999999999975051072376239415867482970152490237515253153694022332201093365163162032019163167078442074112) (-.f64 (*.f64 t b) (*.f64 y z)) (if (<=.f64 b 8999999999999999652605816159272590287429321379020729985548590597192429698802873253937734959910540968681630299590518215016448) (+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (-.f64 1 t))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2))))))))))))) |
(if (<=.f64 t -13692247373897200269885702144) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 t -802613479333813/7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 t 6918354653563489/609082125712499942522086399242199269429764178599687970429244153575809293172901631404100941617625641201581557264463041761466198116575193377911124206019540838720704856247279564366924353468128353022049974592451148679605349870337179684109147725966810350801733675194017346692614286874494631936) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)))))) |
(if (<=.f64 t -13692247373897200269885702144) (-.f64 (+.f64 x (*.f64 t b)) (*.f64 a (+.f64 t -1))) (if (<=.f64 t -802613479333813/7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 t 6918354653563489/609082125712499942522086399242199269429764178599687970429244153575809293172901631404100941617625641201581557264463041761466198116575193377911124206019540838720704856247279564366924353468128353022049974592451148679605349870337179684109147725966810350801733675194017346692614286874494631936) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (-.f64 (+.f64 x (*.f64 t b)) (*.f64 a (+.f64 t -1))))))) |
(if (<=.f64 t -13692247373897200269885702144) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 t -802613479333813/7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 t 6918354653563489/609082125712499942522086399242199269429764178599687970429244153575809293172901631404100941617625641201581557264463041761466198116575193377911124206019540838720704856247279564366924353468128353022049974592451148679605349870337179684109147725966810350801733675194017346692614286874494631936) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))))))) |
(if (<=.f64 t -13692247373897200269885702144) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 t -802613479333813/7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776) (+.f64 x (-.f64 a (*.f64 z (-.f64 y 1)))) (if (<=.f64 t 6918354653563489/609082125712499942522086399242199269429764178599687970429244153575809293172901631404100941617625641201581557264463041761466198116575193377911124206019540838720704856247279564366924353468128353022049974592451148679605349870337179684109147725966810350801733675194017346692614286874494631936) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (+.f64 x (-.f64 a (*.f64 z (-.f64 y 1)))) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))))))) |
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -7200000000000000264147029094534602431484582176039793377940457662313566412391349051485669109530624) (-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) (if (<=.f64 b -953081177903223/4) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 b 4615857294395282238126833008640) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b 849999999999999992660257320161913063376247495598776971689984) (-.f64 x (*.f64 (-.f64 t 1) a)) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))))))))) |
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -7200000000000000264147029094534602431484582176039793377940457662313566412391349051485669109530624) (-.f64 (+.f64 x (*.f64 y b)) (neg.f64 a)) (if (<=.f64 b -953081177903223/4) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 a (+.f64 t -1))) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 b 4615857294395282238126833008640) (*.f64 b (+.f64 (+.f64 y t) -2)) (if (<=.f64 b 849999999999999992660257320161913063376247495598776971689984) (-.f64 x (*.f64 a (+.f64 t -1))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))))))))))) |
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -7200000000000000264147029094534602431484582176039793377940457662313566412391349051485669109530624) (+.f64 a (+.f64 x (*.f64 y b))) (if (<=.f64 b -953081177903223/4) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 b 4615857294395282238126833008640) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b 849999999999999992660257320161913063376247495598776971689984) (+.f64 x (*.f64 a (-.f64 1 t))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))))))))))) |
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -7200000000000000264147029094534602431484582176039793377940457662313566412391349051485669109530624) (+.f64 a (+.f64 x (*.f64 y b))) (if (<=.f64 b -953081177903223/4) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (+.f64 x (-.f64 a (*.f64 z (-.f64 y 1)))) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b 5556979871415999/549755813888) (+.f64 x (-.f64 a (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 4615857294395282238126833008640) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b 849999999999999992660257320161913063376247495598776971689984) (+.f64 x (*.f64 a (-.f64 1 t))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))))))))))) |
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 a 8921950101163558475044126994861129728) (-.f64 z (*.f64 y z)) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (-.f64 x (*.f64 (-.f64 t 1) a)))))) |
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (*.f64 a (+.f64 t -1))) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 a 8921950101163558475044126994861129728) (-.f64 z (*.f64 y z)) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (-.f64 x (*.f64 a (+.f64 t -1))))))) |
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 a 8921950101163558475044126994861129728) (-.f64 z (*.f64 y z)) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (+.f64 x (*.f64 a (-.f64 1 t))))))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -953081177903223/4) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))))))))))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 (+.f64 y t) -2)) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -953081177903223/4) (*.f64 b (+.f64 (+.f64 y t) -2)) (if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 x (*.f64 y b)) (neg.f64 a)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 a (+.f64 t -1))) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (-.f64 x (*.f64 a (+.f64 t -1))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 a (+.f64 t -1))) (*.f64 b (+.f64 (+.f64 y t) -2)))))))))))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (neg.f64 (+.f64 a z))) (if (<=.f64 b -953081177903223/4) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (+.f64 a (+.f64 x (*.f64 y b))) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (neg.f64 (+.f64 a z))) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (+.f64 x (*.f64 a (-.f64 1 t))) (*.f64 b (+.f64 -2 (+.f64 y t))))))))))))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -1743756470779325255054377702722890385850368) (+.f64 x (+.f64 z a)) (if (<=.f64 b -953081177903223/4) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (+.f64 a (+.f64 x (*.f64 y b))) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (+.f64 x (+.f64 z a)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (+.f64 x (-.f64 z (*.f64 y z))) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (+.f64 x (-.f64 z (*.f64 y z))) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (+.f64 x (*.f64 a (-.f64 1 t))) (*.f64 b (+.f64 -2 (+.f64 y t))))))))))))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -15070348261666302569633435090944) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))))))))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 (+.f64 y t) -2)) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -15070348261666302569633435090944) (*.f64 b (+.f64 (+.f64 y t) -2)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 a (+.f64 t -1))) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (-.f64 x (*.f64 a (+.f64 t -1))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 a (+.f64 t -1))) (*.f64 b (+.f64 (+.f64 y t) -2)))))))))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (neg.f64 (+.f64 a z))) (if (<=.f64 b -15070348261666302569633435090944) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (+.f64 x (*.f64 a (-.f64 1 t))) (*.f64 b (+.f64 -2 (+.f64 y t))))))))))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -1743756470779325255054377702722890385850368) (+.f64 x (+.f64 z a)) (if (<=.f64 b -15070348261666302569633435090944) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (+.f64 x (-.f64 z (*.f64 y z))) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (+.f64 x (-.f64 z (*.f64 y z))) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (+.f64 x (*.f64 a (-.f64 1 t))) (*.f64 b (+.f64 -2 (+.f64 y t))))))))))) |
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (-.f64 (*.f64 z y) z)) (*.f64 t (-.f64 b a))))) |
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (-.f64 (*.f64 y z) z)) (*.f64 t (-.f64 b a))))) |
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (neg.f64 (+.f64 a z))) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (-.f64 (*.f64 y z) z)) (*.f64 t (-.f64 b a))))) |
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 7203898533808869/590295810358705651712) (+.f64 x (+.f64 z a)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (+.f64 x (-.f64 z (*.f64 y z))) (*.f64 t (-.f64 b a))))) |
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 8012867999582563/2097152) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (-.f64 z (*.f64 y z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (-.f64 (neg.f64 a) z)) (*.f64 t (-.f64 b a)))))) |
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 8012867999582563/2097152) (-.f64 x (neg.f64 (+.f64 a z))) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (-.f64 z (*.f64 y z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (neg.f64 (+.f64 a z))) (*.f64 t (-.f64 b a)))))) |
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 8012867999582563/2097152) (+.f64 x (+.f64 z a)) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (-.f64 z (*.f64 y z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (+.f64 x (+.f64 z a)) (*.f64 t (-.f64 b a)))))) |
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 (-.f64 b z) y) (if (<=.f64 t -6305745312311057/790633801981682102939434948120770730662330663141180149831645929794649763937481823796720248833738767559324522907487546528866440380413255769011771093518509804380927438580337349079948858367551626332967842494034160424070341732127705853976966233004529516956289283251401443563802400840744150516352841830648461966045733363646464) (-.f64 x (neg.f64 a)) (if (<=.f64 t 6187407445780435/10463951242053391806136963369726580181263718864311851635192874886429209483641954321222640418122029864527291727710479949464718215680589004332016189037791576956967351342601788071700268169006221818240189631008834448226154239518944108944497601509840881752510934060240763835605888507473266002770708660224) (-.f64 z (*.f64 y z)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (neg.f64 a)) (if (<=.f64 t 10999999999999999403058485614769959891976047213831097848630840046557381709698796098024659144535785904550726971241041855691147752314385416240309993472) (-.f64 z (*.f64 y z)) (*.f64 t (-.f64 b a)))))))) |
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 y (-.f64 b z)) (if (<=.f64 t -6305745312311057/790633801981682102939434948120770730662330663141180149831645929794649763937481823796720248833738767559324522907487546528866440380413255769011771093518509804380927438580337349079948858367551626332967842494034160424070341732127705853976966233004529516956289283251401443563802400840744150516352841830648461966045733363646464) (-.f64 x (neg.f64 a)) (if (<=.f64 t 6187407445780435/10463951242053391806136963369726580181263718864311851635192874886429209483641954321222640418122029864527291727710479949464718215680589004332016189037791576956967351342601788071700268169006221818240189631008834448226154239518944108944497601509840881752510934060240763835605888507473266002770708660224) (-.f64 z (*.f64 y z)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (neg.f64 a)) (if (<=.f64 t 10999999999999999403058485614769959891976047213831097848630840046557381709698796098024659144535785904550726971241041855691147752314385416240309993472) (-.f64 z (*.f64 y z)) (*.f64 t (-.f64 b a)))))))) |
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 y (-.f64 b z)) (if (<=.f64 t -6305745312311057/790633801981682102939434948120770730662330663141180149831645929794649763937481823796720248833738767559324522907487546528866440380413255769011771093518509804380927438580337349079948858367551626332967842494034160424070341732127705853976966233004529516956289283251401443563802400840744150516352841830648461966045733363646464) (+.f64 a x) (if (<=.f64 t 6187407445780435/10463951242053391806136963369726580181263718864311851635192874886429209483641954321222640418122029864527291727710479949464718215680589004332016189037791576956967351342601788071700268169006221818240189631008834448226154239518944108944497601509840881752510934060240763835605888507473266002770708660224) (-.f64 z (*.f64 y z)) (if (<=.f64 t 7203898533808869/590295810358705651712) (+.f64 a x) (if (<=.f64 t 10999999999999999403058485614769959891976047213831097848630840046557381709698796098024659144535785904550726971241041855691147752314385416240309993472) (-.f64 z (*.f64 y z)) (*.f64 t (-.f64 b a)))))))) |
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 (-.f64 b z) y) (if (<=.f64 t 500875773360867712) (-.f64 x (neg.f64 a)) (*.f64 t (-.f64 b a))))) |
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 y (-.f64 b z)) (if (<=.f64 t 500875773360867712) (-.f64 x (neg.f64 a)) (*.f64 t (-.f64 b a))))) |
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 y (-.f64 b z)) (if (<=.f64 t 500875773360867712) (+.f64 a x) (*.f64 t (-.f64 b a))))) |
(if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 t (-.f64 b a)) (if (<=.f64 t 500875773360867712) (-.f64 x (neg.f64 a)) (*.f64 t (-.f64 b a)))) |
(if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 t (-.f64 b a)) (if (<=.f64 t 500875773360867712) (+.f64 a x) (*.f64 t (-.f64 b a)))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 (-.f64 y 2) b) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (neg.f64 a)) (if (<=.f64 b 85180061971879/46020944252475287237870212884199033180620210660923048261998100776379565006208246561973370194536329221406749153247076699560650180816490655358168942243705375840708580716765564230733368217919000094579989235733761476822566574679670497657321756298451772713817730735254092349426494960250807374037851220383801379127296) (-.f64 x (*.f64 t a)) (if (<=.f64 b 4322466412423543/52093862756873861516248842115009826540193424393093032503095764154406540920450250558761189069309017896429139926511197190983506262922807539690338719158834609735118418589953238737992799108686047068195039188561614077981958969042784853837217792) (-.f64 x (neg.f64 a)) (if (<=.f64 b 2169316274988593/4898883310657342436947850401401639604522231782621865961233415550616320366316550245614411808808882209683752589725123921141977824503727074585042721378292777435812376133285876920625254286345394996247527424) (*.f64 (neg.f64 z) y) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 t a)) (*.f64 (-.f64 y 2) b))))))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 y -2)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (neg.f64 a)) (if (<=.f64 b 85180061971879/46020944252475287237870212884199033180620210660923048261998100776379565006208246561973370194536329221406749153247076699560650180816490655358168942243705375840708580716765564230733368217919000094579989235733761476822566574679670497657321756298451772713817730735254092349426494960250807374037851220383801379127296) (-.f64 x (*.f64 t a)) (if (<=.f64 b 4322466412423543/52093862756873861516248842115009826540193424393093032503095764154406540920450250558761189069309017896429139926511197190983506262922807539690338719158834609735118418589953238737992799108686047068195039188561614077981958969042784853837217792) (-.f64 x (neg.f64 a)) (if (<=.f64 b 2169316274988593/4898883310657342436947850401401639604522231782621865961233415550616320366316550245614411808808882209683752589725123921141977824503727074585042721378292777435812376133285876920625254286345394996247527424) (*.f64 y (neg.f64 z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 t a)) (*.f64 b (+.f64 y -2)))))))) |
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 y -2)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (+.f64 a x) (if (<=.f64 b 85180061971879/46020944252475287237870212884199033180620210660923048261998100776379565006208246561973370194536329221406749153247076699560650180816490655358168942243705375840708580716765564230733368217919000094579989235733761476822566574679670497657321756298451772713817730735254092349426494960250807374037851220383801379127296) (-.f64 x (*.f64 t a)) (if (<=.f64 b 4322466412423543/52093862756873861516248842115009826540193424393093032503095764154406540920450250558761189069309017896429139926511197190983506262922807539690338719158834609735118418589953238737992799108686047068195039188561614077981958969042784853837217792) (+.f64 a x) (if (<=.f64 b 2169316274988593/4898883310657342436947850401401639604522231782621865961233415550616320366316550245614411808808882209683752589725123921141977824503727074585042721378292777435812376133285876920625254286345394996247527424) (*.f64 y (neg.f64 z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 t a)) (*.f64 b (+.f64 y -2)))))))) |
(if (<=.f64 t -13692247373897200269885702144) (-.f64 x (*.f64 t a)) (if (<=.f64 t 8288615942134983/147573952589676412928) (-.f64 x (neg.f64 a)) (-.f64 x (*.f64 t a)))) |
(if (<=.f64 t -13692247373897200269885702144) (-.f64 x (*.f64 t a)) (if (<=.f64 t 8288615942134983/147573952589676412928) (+.f64 a x) (-.f64 x (*.f64 t a)))) |
(if (<=.f64 t -13692247373897200269885702144) (*.f64 a (neg.f64 t)) (if (<=.f64 t 4420082643416835/2048) (-.f64 x (neg.f64 a)) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (*.f64 (neg.f64 z) y) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (neg.f64 a)) (*.f64 a (neg.f64 t)))))) |
(if (<=.f64 t -13692247373897200269885702144) (*.f64 a (neg.f64 t)) (if (<=.f64 t 4420082643416835/2048) (-.f64 x (neg.f64 a)) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (*.f64 y (neg.f64 z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (neg.f64 a)) (*.f64 a (neg.f64 t)))))) |
(if (<=.f64 t -13692247373897200269885702144) (*.f64 a (neg.f64 t)) (if (<=.f64 t 4420082643416835/2048) (+.f64 a x) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (*.f64 y (neg.f64 z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (+.f64 a x) (*.f64 a (neg.f64 t)))))) |
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (neg.f64 a)) (*.f64 -2 b))) |
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (+.f64 a x) (*.f64 -2 b))) |
(if (<=.f64 x -1154345676514135978491665221774440311799935753856125890360308941451122628335947877494491099755433689088) x (if (<=.f64 x -26105758989348153717801203241870470068973107643960842709430052336716597398863872) (*.f64 -2 b) (if (<=.f64 x -98378573092425149495243024414904905481884728708035649970960968187904) x (if (<=.f64 x -6710128462814199/33992831540273094316133645219357992149093959534530043084764424844825827831094543535306400144974674282808917087119776064982181077609773263322209278641061590524405201333465166018030600192) a (if (<=.f64 x 3320943992037175/4758454107128905800953799994079681792420032645310062268978469949811010102913293995344538606387700321887355916128617513761454672785743698264930657859527662802505506689431871596616596511469752757984765426503524599059416795862009216282102716609115705865638544337453260521036049116206989312) (*.f64 y b) (if (<=.f64 x 5544786105880525/209496998905353079680844140596966345741865090946756146526930647558152562969899171512529285908857866057656747784163844544589904418936665155413025765720064) a (if (<=.f64 x 78867761013466901663186944) (*.f64 -2 b) (if (<=.f64 x 35699727928104320201513762816) a x)))))))) |
(if (<=.f64 a -6000000000000000159827641235153931506532980384236657886312818549514931583750410757993327492375101223070919930521795982000128) a (if (<=.f64 a 6566702469981625/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) x (if (<=.f64 a 1219999999999999915788184104263273213404077420797770780784941982750802122902547842975392852639294428338846833170399820058803297869346658844672) (*.f64 -2 b) a))) |
(if (<=.f64 a -6000000000000000159827641235153931506532980384236657886312818549514931583750410757993327492375101223070919930521795982000128) a (if (<=.f64 a 6722810178959149/6277101735386680763835789423207666416102355444464034512896) x a)) |
a |
Compiled 1445 to 869 computations (39.9% saved)
| 1× | egg-herbie |
| 494× | fma-neg_binary64 |
| 471× | distribute-neg-in_binary64 |
| 457× | associate--l-_binary64 |
| 369× | associate--r-_binary64 |
| 344× | +-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 31 |
| 1 | 49 | 27 |
| 2 | 145 | 25 |
| 3 | 616 | 25 |
| 4 | 2231 | 25 |
| 5 | 5563 | 25 |
| 6 | 7040 | 25 |
| 1× | node limit |
Compiled 657 to 457 computations (30.4% saved)
Compiled 1301 to 668 computations (48.7% saved)
Loading profile data...