
Time bar (total: 3.2s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 10 to 6 computations (40% saved)
| 714.0ms | 7238× | body | 256 | valid |
| 94.0ms | 1017× | body | 256 | infinite |
| 0.0ms | 1× | body | 512 | valid |
| 2× | egg-herbie |
| 100× | fma-def |
| 14× | +-commutative |
| 10× | *-commutative |
| 10× | associate-*l* |
| 8× | distribute-rgt-in |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 30 |
| 1 | 24 | 30 |
| 2 | 37 | 30 |
| 3 | 46 | 30 |
| 4 | 60 | 30 |
| 5 | 72 | 30 |
| 6 | 98 | 30 |
| 7 | 113 | 30 |
| 8 | 115 | 30 |
| 0 | 2 | 2 |
| 1 | 2 | 2 |
| 1× | unsound |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
| Outputs |
|---|
0 |
1 |
0 |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) x) y) |
(+.f64 (+.f64 (*.f64 y x) y) x) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x y) x) y) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 x (fma.f64 x y y)) |
(+.f64 (+.f64 (*.f64 y x) y) x) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 x (fma.f64 x y y)) |
(sort x y)
Compiled 11 to 7 computations (36.4% saved)
| 1× | egg-herbie |
| 96× | fma-def |
| 12× | *-commutative |
| 12× | distribute-rgt-in |
| 12× | +-commutative |
| 8× | associate-*r* |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 15 |
| 1 | 14 | 15 |
| 2 | 27 | 15 |
| 3 | 38 | 15 |
| 4 | 48 | 15 |
| 5 | 61 | 15 |
| 6 | 83 | 15 |
| 7 | 105 | 15 |
| 8 | 112 | 15 |
| 9 | 113 | 15 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) x) y) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x y) x) y) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 x (fma.f64 x y y)) |
Compiled 21 to 9 computations (57.1% saved)
4 alts after pruning (4 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 3 | 3 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 4 | 4 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (+.f64 (+.f64 (*.f64 x y) x) y) |
| ▶ | 100.0% | (+.f64 y (fma.f64 x y x)) |
| ▶ | 100.0% | (+.f64 x (fma.f64 x y y)) |
Compiled 25 to 13 computations (48% saved)
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 x (fma.f64 x y y)) |
Compiled 15 to 5 computations (66.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | y | @ | 0 | (+.f64 x (fma.f64 x y y)) |
| 0.0ms | x | @ | -inf | (+.f64 x (fma.f64 x y y)) |
| 0.0ms | y | @ | inf | (+.f64 x (fma.f64 x y y)) |
| 0.0ms | x | @ | inf | (+.f64 x (fma.f64 x y y)) |
| 0.0ms | y | @ | -inf | (+.f64 x (fma.f64 x y y)) |
| 1× | batch-egg-rewrite |
| 1654× | pow1 |
| 1528× | add-exp-log |
| 1528× | log1p-expm1-u |
| 1528× | expm1-log1p-u |
| 1498× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 15 |
| 1 | 149 | 15 |
| 2 | 2032 | 15 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 x (fma.f64 x y y)) |
| Outputs |
|---|
(-.f64 (+.f64 1 (+.f64 x (fma.f64 x y y))) 1) |
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (fma.f64 x y y))) (/.f64 (pow.f64 (fma.f64 x y y) 2) (-.f64 x (fma.f64 x y y)))) |
(*.f64 (+.f64 x (fma.f64 x y y)) 1) |
(*.f64 1 (+.f64 x (fma.f64 x y y))) |
(*.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2) (cbrt.f64 (+.f64 x (fma.f64 x y y)))) |
(*.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) (sqrt.f64 (+.f64 x (fma.f64 x y y)))) |
(*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))) |
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (/.f64 1 (-.f64 x (fma.f64 x y y)))) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))) (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)))) |
(/.f64 1 (/.f64 (-.f64 x (fma.f64 x y y)) (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (fma.f64 x y y) 2) (-.f64 (*.f64 x x) (*.f64 x (fma.f64 x y y))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2))) (neg.f64 (-.f64 x (fma.f64 x y y)))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y y) 2) (*.f64 x x)) (-.f64 (fma.f64 x y y) x)) |
(pow.f64 (+.f64 x (fma.f64 x y y)) 1) |
(pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 3) |
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) 2) |
(sqrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2)) |
(log.f64 (exp.f64 (+.f64 x (fma.f64 x y y)))) |
(cbrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3)) |
(expm1.f64 (log1p.f64 (+.f64 x (fma.f64 x y y)))) |
(exp.f64 (log.f64 (+.f64 x (fma.f64 x y y)))) |
(log1p.f64 (expm1.f64 (+.f64 x (fma.f64 x y y)))) |
(fma.f64 1 x (fma.f64 x y y)) |
(fma.f64 1 (fma.f64 x y y) x) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y y)) 2) (cbrt.f64 (fma.f64 x y y)) x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 x y y)) |
(fma.f64 (sqrt.f64 (fma.f64 x y y)) (sqrt.f64 (fma.f64 x y y)) x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 x y y)) |
| 1× | egg-herbie |
| 1734× | fma-neg |
| 1178× | div-sub |
| 894× | associate-*r* |
| 844× | associate-*l* |
| 578× | fma-def |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 102 | 1471 |
| 1 | 255 | 1273 |
| 2 | 806 | 1265 |
| 3 | 5188 | 1265 |
| 1× | node limit |
| Inputs |
|---|
y |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(*.f64 (+.f64 1 y) x) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
x |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(*.f64 (+.f64 1 x) y) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(-.f64 (+.f64 1 (+.f64 x (fma.f64 x y y))) 1) |
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (fma.f64 x y y))) (/.f64 (pow.f64 (fma.f64 x y y) 2) (-.f64 x (fma.f64 x y y)))) |
(*.f64 (+.f64 x (fma.f64 x y y)) 1) |
(*.f64 1 (+.f64 x (fma.f64 x y y))) |
(*.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2) (cbrt.f64 (+.f64 x (fma.f64 x y y)))) |
(*.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) (sqrt.f64 (+.f64 x (fma.f64 x y y)))) |
(*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))) |
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (/.f64 1 (-.f64 x (fma.f64 x y y)))) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))) (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)))) |
(/.f64 1 (/.f64 (-.f64 x (fma.f64 x y y)) (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (fma.f64 x y y) 2) (-.f64 (*.f64 x x) (*.f64 x (fma.f64 x y y))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2))) (neg.f64 (-.f64 x (fma.f64 x y y)))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y y) 2) (*.f64 x x)) (-.f64 (fma.f64 x y y) x)) |
(pow.f64 (+.f64 x (fma.f64 x y y)) 1) |
(pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 3) |
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) 2) |
(sqrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2)) |
(log.f64 (exp.f64 (+.f64 x (fma.f64 x y y)))) |
(cbrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3)) |
(expm1.f64 (log1p.f64 (+.f64 x (fma.f64 x y y)))) |
(exp.f64 (log.f64 (+.f64 x (fma.f64 x y y)))) |
(log1p.f64 (expm1.f64 (+.f64 x (fma.f64 x y y)))) |
(fma.f64 1 x (fma.f64 x y y)) |
(fma.f64 1 (fma.f64 x y y) x) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y y)) 2) (cbrt.f64 (fma.f64 x y y)) x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 x y y)) |
(fma.f64 (sqrt.f64 (fma.f64 x y y)) (sqrt.f64 (fma.f64 x y y)) x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 x y y)) |
| Outputs |
|---|
y |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 y 1) x) |
(+.f64 x (*.f64 y x)) |
(fma.f64 y x x) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(*.f64 (+.f64 y 1) x) |
(+.f64 x (*.f64 y x)) |
(fma.f64 y x x) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
x |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(*.f64 (+.f64 1 x) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(fma.f64 y x y) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(fma.f64 y x y) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(-.f64 (+.f64 1 (+.f64 x (fma.f64 x y y))) 1) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (fma.f64 x y y))) (/.f64 (pow.f64 (fma.f64 x y y) 2) (-.f64 x (fma.f64 x y y)))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (fma.f64 y x (-.f64 y x))) |
(*.f64 (+.f64 x (fma.f64 x y y)) 1) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(*.f64 1 (+.f64 x (fma.f64 x y y))) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(*.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2)) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2) (cbrt.f64 (+.f64 x (fma.f64 x y y)))) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(*.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) (sqrt.f64 (+.f64 x (fma.f64 x y y)))) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 y x y) (fma.f64 y x (-.f64 y x)) (*.f64 x x))) |
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (/.f64 1 (-.f64 x (fma.f64 x y y)))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (fma.f64 y x (-.f64 y x))) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))) (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 y x y) (fma.f64 y x (-.f64 y x)) (*.f64 x x))) |
(/.f64 1 (/.f64 (-.f64 x (fma.f64 x y y)) (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (fma.f64 y x (-.f64 y x))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 y x y) (fma.f64 y x (-.f64 y x)) (*.f64 x x))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (fma.f64 x y y) 2) (-.f64 (*.f64 x x) (*.f64 x (fma.f64 x y y))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 y x y) (fma.f64 y x (-.f64 y x)) (*.f64 x x))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (fma.f64 y x (-.f64 y x))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (fma.f64 x y y) (-.f64 (fma.f64 x y y) x)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x y) 3) (pow.f64 x 3)) (fma.f64 (fma.f64 y x y) (fma.f64 y x (-.f64 y x)) (*.f64 x x))) |
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2))) (neg.f64 (-.f64 x (fma.f64 x y y)))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (fma.f64 y x (-.f64 y x))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y y) 2) (*.f64 x x)) (-.f64 (fma.f64 x y y) x)) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 x y y) 2)) (-.f64 x (fma.f64 x y y))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x y) 2) (*.f64 x x)) (fma.f64 y x (-.f64 y x))) |
(pow.f64 (+.f64 x (fma.f64 x y y)) 1) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 3) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3) 1/3) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(pow.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) 2) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(sqrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2)) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(log.f64 (exp.f64 (+.f64 x (fma.f64 x y y)))) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(cbrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3)) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(expm1.f64 (log1p.f64 (+.f64 x (fma.f64 x y y)))) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(exp.f64 (log.f64 (+.f64 x (fma.f64 x y y)))) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(log1p.f64 (expm1.f64 (+.f64 x (fma.f64 x y y)))) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(fma.f64 1 x (fma.f64 x y y)) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(fma.f64 1 (fma.f64 x y y) x) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y y)) 2) (cbrt.f64 (fma.f64 x y y)) x) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 x y y)) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(fma.f64 (sqrt.f64 (fma.f64 x y y)) (sqrt.f64 (fma.f64 x y y)) x) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 x y y)) |
(+.f64 y (*.f64 (+.f64 y 1) x)) |
(+.f64 x (fma.f64 x y y)) |
(fma.f64 y x (+.f64 y x)) |
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 y (fma.f64 x y x)) |
Compiled 15 to 5 computations (66.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (+.f64 y (fma.f64 x y x)) |
| 0.0ms | y | @ | -inf | (+.f64 y (fma.f64 x y x)) |
| 0.0ms | x | @ | -inf | (+.f64 y (fma.f64 x y x)) |
| 0.0ms | y | @ | inf | (+.f64 y (fma.f64 x y x)) |
| 0.0ms | x | @ | inf | (+.f64 y (fma.f64 x y x)) |
| 1× | batch-egg-rewrite |
| 1652× | pow1 |
| 1526× | add-exp-log |
| 1526× | log1p-expm1-u |
| 1526× | expm1-log1p-u |
| 1496× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 15 |
| 1 | 149 | 15 |
| 2 | 2029 | 15 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 y (fma.f64 x y x)) |
| Outputs |
|---|
(-.f64 (+.f64 1 (+.f64 y (fma.f64 x y x))) 1) |
(-.f64 (/.f64 (*.f64 y y) (-.f64 y (fma.f64 x y x))) (/.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 y (fma.f64 x y x)))) |
(*.f64 (+.f64 y (fma.f64 x y x)) 1) |
(*.f64 1 (+.f64 y (fma.f64 x y x))) |
(*.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) (pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 2) (cbrt.f64 (+.f64 y (fma.f64 x y x)))) |
(*.f64 (sqrt.f64 (+.f64 y (fma.f64 x y x))) (sqrt.f64 (+.f64 y (fma.f64 x y x)))) |
(*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))) |
(*.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (/.f64 1 (-.f64 y (fma.f64 x y x)))) |
(/.f64 1 (/.f64 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)))) |
(/.f64 1 (/.f64 (-.f64 y (fma.f64 x y x)) (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 (*.f64 y y) (*.f64 y (fma.f64 x y x))))) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) (neg.f64 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2))) (neg.f64 (-.f64 y (fma.f64 x y x)))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (-.f64 (fma.f64 x y x) y)) |
(pow.f64 (+.f64 y (fma.f64 x y x)) 1) |
(pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 3) |
(pow.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 3) 1/3) |
(pow.f64 (sqrt.f64 (+.f64 y (fma.f64 x y x))) 2) |
(sqrt.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 2)) |
(log.f64 (exp.f64 (+.f64 y (fma.f64 x y x)))) |
(cbrt.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 3)) |
(expm1.f64 (log1p.f64 (+.f64 y (fma.f64 x y x)))) |
(exp.f64 (log.f64 (+.f64 y (fma.f64 x y x)))) |
(log1p.f64 (expm1.f64 (+.f64 y (fma.f64 x y x)))) |
(fma.f64 1 y (fma.f64 x y x)) |
(fma.f64 1 (fma.f64 x y x) y) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)) y) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (fma.f64 x y x)) |
(fma.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)) y) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (fma.f64 x y x)) |
| 1× | egg-herbie |
| 1636× | fma-neg |
| 1070× | div-sub |
| 854× | associate-*r* |
| 806× | associate-*l* |
| 568× | fma-def |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 102 | 1311 |
| 1 | 255 | 1281 |
| 2 | 806 | 1265 |
| 3 | 5048 | 1265 |
| 1× | node limit |
| Inputs |
|---|
x |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(*.f64 (+.f64 1 x) y) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
y |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(*.f64 (+.f64 1 y) x) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(-.f64 (+.f64 1 (+.f64 y (fma.f64 x y x))) 1) |
(-.f64 (/.f64 (*.f64 y y) (-.f64 y (fma.f64 x y x))) (/.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 y (fma.f64 x y x)))) |
(*.f64 (+.f64 y (fma.f64 x y x)) 1) |
(*.f64 1 (+.f64 y (fma.f64 x y x))) |
(*.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) (pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 2) (cbrt.f64 (+.f64 y (fma.f64 x y x)))) |
(*.f64 (sqrt.f64 (+.f64 y (fma.f64 x y x))) (sqrt.f64 (+.f64 y (fma.f64 x y x)))) |
(*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))) |
(*.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (/.f64 1 (-.f64 y (fma.f64 x y x)))) |
(/.f64 1 (/.f64 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)))) |
(/.f64 1 (/.f64 (-.f64 y (fma.f64 x y x)) (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 (*.f64 y y) (*.f64 y (fma.f64 x y x))))) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) (neg.f64 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2))) (neg.f64 (-.f64 y (fma.f64 x y x)))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (-.f64 (fma.f64 x y x) y)) |
(pow.f64 (+.f64 y (fma.f64 x y x)) 1) |
(pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 3) |
(pow.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 3) 1/3) |
(pow.f64 (sqrt.f64 (+.f64 y (fma.f64 x y x))) 2) |
(sqrt.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 2)) |
(log.f64 (exp.f64 (+.f64 y (fma.f64 x y x)))) |
(cbrt.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 3)) |
(expm1.f64 (log1p.f64 (+.f64 y (fma.f64 x y x)))) |
(exp.f64 (log.f64 (+.f64 y (fma.f64 x y x)))) |
(log1p.f64 (expm1.f64 (+.f64 y (fma.f64 x y x)))) |
(fma.f64 1 y (fma.f64 x y x)) |
(fma.f64 1 (fma.f64 x y x) y) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)) y) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (fma.f64 x y x)) |
(fma.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)) y) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (fma.f64 x y x)) |
| Outputs |
|---|
x |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 x 1) y) |
(+.f64 y (*.f64 x y)) |
(fma.f64 x y y) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
(*.f64 (+.f64 x 1) y) |
(+.f64 y (*.f64 x y)) |
(fma.f64 x y y) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
y |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(*.f64 (+.f64 1 y) x) |
(*.f64 x (+.f64 1 y)) |
(fma.f64 x y x) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(*.f64 x (+.f64 1 y)) |
(fma.f64 x y x) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(-.f64 (+.f64 1 (+.f64 y (fma.f64 x y x))) 1) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(-.f64 (/.f64 (*.f64 y y) (-.f64 y (fma.f64 x y x))) (/.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 y (fma.f64 x y x)))) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (fma.f64 x y (-.f64 x y))) |
(*.f64 (+.f64 y (fma.f64 x y x)) 1) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(*.f64 1 (+.f64 y (fma.f64 x y x))) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(*.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) (pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 2)) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 2) (cbrt.f64 (+.f64 y (fma.f64 x y x)))) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(*.f64 (sqrt.f64 (+.f64 y (fma.f64 x y x))) (sqrt.f64 (+.f64 y (fma.f64 x y x)))) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) 1) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 (fma.f64 x y x) (fma.f64 x y (-.f64 x y)) (*.f64 y y))) |
(*.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (/.f64 1 (-.f64 y (fma.f64 x y x)))) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (fma.f64 x y (-.f64 x y))) |
(/.f64 1 (/.f64 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) 1) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 (fma.f64 x y x) (fma.f64 x y (-.f64 x y)) (*.f64 y y))) |
(/.f64 1 (/.f64 (-.f64 y (fma.f64 x y x)) (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)))) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (fma.f64 x y (-.f64 x y))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) 1) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 (fma.f64 x y x) (fma.f64 x y (-.f64 x y)) (*.f64 y y))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 (*.f64 y y) (*.f64 y (fma.f64 x y x))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) 1) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 (fma.f64 x y x) (fma.f64 x y (-.f64 x y)) (*.f64 y y))) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (fma.f64 x y (-.f64 x y))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) (neg.f64 (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) 1) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 x y x) (-.f64 (fma.f64 x y x) y)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 (fma.f64 x y x) (fma.f64 x y (-.f64 x y)) (*.f64 y y))) |
(/.f64 (neg.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2))) (neg.f64 (-.f64 y (fma.f64 x y x)))) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (fma.f64 x y (-.f64 x y))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (-.f64 (fma.f64 x y x) y)) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (fma.f64 x y (-.f64 x y))) |
(pow.f64 (+.f64 y (fma.f64 x y x)) 1) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(pow.f64 (cbrt.f64 (+.f64 y (fma.f64 x y x))) 3) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(pow.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 3) 1/3) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(pow.f64 (sqrt.f64 (+.f64 y (fma.f64 x y x))) 2) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(sqrt.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 2)) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(log.f64 (exp.f64 (+.f64 y (fma.f64 x y x)))) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(cbrt.f64 (pow.f64 (+.f64 y (fma.f64 x y x)) 3)) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(expm1.f64 (log1p.f64 (+.f64 y (fma.f64 x y x)))) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(exp.f64 (log.f64 (+.f64 y (fma.f64 x y x)))) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(log1p.f64 (expm1.f64 (+.f64 y (fma.f64 x y x)))) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(fma.f64 1 y (fma.f64 x y x)) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(fma.f64 1 (fma.f64 x y x) y) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)) y) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (fma.f64 x y x)) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(fma.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)) y) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (fma.f64 x y x)) |
(fma.f64 (+.f64 x 1) y x) |
(+.f64 y (fma.f64 x y x)) |
Found 2 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 (+.f64 (*.f64 x y) x) y) |
| ✓ | 100.0% | (+.f64 (*.f64 x y) x) |
Compiled 20 to 6 computations (70% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | inf | (+.f64 (+.f64 (*.f64 x y) x) y) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 x y) x) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 x y) x) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 x y) x) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 x y) x) |
| 1× | batch-egg-rewrite |
| 1184× | fma-def |
| 836× | log-prod |
| 764× | prod-exp |
| 670× | pow-prod-down |
| 608× | exp-prod |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 24 |
| 1 | 163 | 24 |
| 2 | 2515 | 24 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 x y) x) |
(+.f64 (+.f64 (*.f64 x y) x) y) |
| Outputs |
|---|
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (fma.f64 x y (neg.f64 x))) (/.f64 (*.f64 x x) (fma.f64 x y (neg.f64 x)))) |
(*.f64 x (+.f64 1 y)) |
(*.f64 x (+.f64 y 1)) |
(*.f64 (fma.f64 x y x) 1) |
(*.f64 1 (fma.f64 x y x)) |
(*.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x))) |
(*.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x))) |
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (/.f64 1 (fma.f64 x y (neg.f64 x)))) |
(*.f64 (+.f64 y 1) x) |
(/.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)))) |
(/.f64 1 (/.f64 (fma.f64 x y (neg.f64 x)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x))) (neg.f64 (fma.f64 x y (neg.f64 x)))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (-.f64 x (*.f64 x y))) |
(pow.f64 (fma.f64 x y x) 1) |
(pow.f64 (cbrt.f64 (fma.f64 x y x)) 3) |
(pow.f64 (pow.f64 (fma.f64 x y x) 2) 1/2) |
(pow.f64 (pow.f64 (fma.f64 x y x) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 x y x)) 2) |
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 x y x))) |
(pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) -1) |
(pow.f64 (/.f64 (fma.f64 x y (neg.f64 x)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x))) -1) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x y x))) 2)) (cbrt.f64 (log.f64 (fma.f64 x y x)))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x y x)))) (sqrt.f64 (log.f64 (fma.f64 x y x)))) |
(sqrt.f64 (pow.f64 (fma.f64 x y x) 2)) |
(log.f64 (exp.f64 (fma.f64 x y x))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x)))) |
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 x) y))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 x)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 x))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 x)))) |
(cbrt.f64 (pow.f64 (fma.f64 x y x) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 x y x))) |
(exp.f64 (log.f64 (fma.f64 x y x))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 x y x)) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x y x)) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x y x))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x y x))) 1/3)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x y x)) 3) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x y x))) 2)) |
(log1p.f64 (expm1.f64 (fma.f64 x y x))) |
(fma.f64 x y x) |
(fma.f64 x 1 (*.f64 x y)) |
(fma.f64 y x x) |
(fma.f64 (*.f64 x y) 1 x) |
(fma.f64 1 x (*.f64 x y)) |
(fma.f64 1 (*.f64 x y) x) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) x) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) x) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) x) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) x) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) x) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) x) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) x) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) x) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) x) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) x) |
(-.f64 (exp.f64 (log1p.f64 (+.f64 x (fma.f64 x y y)))) 1) |
(-.f64 (/.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 (fma.f64 x y x) y)) (/.f64 (*.f64 y y) (-.f64 (fma.f64 x y x) y))) |
(*.f64 (+.f64 x (fma.f64 x y y)) 1) |
(*.f64 1 (+.f64 x (fma.f64 x y y))) |
(*.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2) (cbrt.f64 (+.f64 x (fma.f64 x y y)))) |
(*.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) (sqrt.f64 (+.f64 x (fma.f64 x y y)))) |
(*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)))) |
(*.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (/.f64 1 (-.f64 (fma.f64 x y x) y))) |
(/.f64 1 (/.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)))) |
(/.f64 1 (/.f64 (-.f64 (fma.f64 x y x) y) (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y (fma.f64 x y x))))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (-.f64 (fma.f64 x y x) y)) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) (neg.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y))) (neg.f64 (-.f64 (fma.f64 x y x) y))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (+.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (*.f64 x y) (+.f64 x y))))) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 x y) (+.f64 x y))) |
(pow.f64 (+.f64 x (fma.f64 x y y)) 1) |
(pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 3) |
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2) 1/2) |
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) 2) |
(pow.f64 (exp.f64 1) (log.f64 (+.f64 x (fma.f64 x y y)))) |
(pow.f64 (/.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) -1) |
(pow.f64 (/.f64 (-.f64 (fma.f64 x y x) y) (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y))) -1) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 x (fma.f64 x y y)))) 2)) (cbrt.f64 (log.f64 (+.f64 x (fma.f64 x y y))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 x (fma.f64 x y y))))) (sqrt.f64 (log.f64 (+.f64 x (fma.f64 x y y))))) |
(sqrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2)) |
(log.f64 (exp.f64 (+.f64 x (fma.f64 x y y)))) |
(log.f64 (+.f64 1 (expm1.f64 (+.f64 x (fma.f64 x y y))))) |
(log.f64 (*.f64 (exp.f64 y) (+.f64 1 (expm1.f64 (fma.f64 x y x))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (exp.f64 (fma.f64 x y x)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (+.f64 1 (expm1.f64 (fma.f64 x y x))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 (+.f64 x y)))) |
(log.f64 (*.f64 (exp.f64 (fma.f64 x y x)) (+.f64 1 (expm1.f64 y)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))) (exp.f64 y))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))) (+.f64 1 (expm1.f64 y)))) |
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(cbrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3)) |
(expm1.f64 (log1p.f64 (+.f64 x (fma.f64 x y y)))) |
(exp.f64 (log.f64 (+.f64 x (fma.f64 x y y)))) |
(exp.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x y y))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x y y))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y)))) 3)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3)) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y)))) 2)) |
(log1p.f64 (expm1.f64 (+.f64 x (fma.f64 x y y)))) |
(fma.f64 x y (+.f64 x y)) |
(fma.f64 x y (*.f64 (+.f64 x y) 1)) |
(fma.f64 x 1 (fma.f64 x y y)) |
(fma.f64 x (+.f64 1 y) y) |
(fma.f64 x (+.f64 y 1) y) |
(fma.f64 y x (+.f64 x y)) |
(fma.f64 y x (*.f64 (+.f64 x y) 1)) |
(fma.f64 y 1 (fma.f64 x y x)) |
(fma.f64 (*.f64 x y) 1 (+.f64 x y)) |
(fma.f64 (*.f64 x y) 1 (*.f64 (+.f64 x y) 1)) |
(fma.f64 (fma.f64 x y x) 1 y) |
(fma.f64 1 x (fma.f64 x y y)) |
(fma.f64 1 y (fma.f64 x y x)) |
(fma.f64 1 (*.f64 x y) (+.f64 x y)) |
(fma.f64 1 (*.f64 x y) (*.f64 (+.f64 x y) 1)) |
(fma.f64 1 (fma.f64 x y x) y) |
(fma.f64 1 (+.f64 x y) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) y) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)) y) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 x y y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 x y y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (+.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (+.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (fma.f64 x y x)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (fma.f64 x y x)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)) y) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 x y y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 x y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (fma.f64 x y x)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 x y)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) y) |
(fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (/.f64 1 (fma.f64 x y (neg.f64 x))) y) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 x y)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 x y)) |
(fma.f64 (+.f64 y 1) x y) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 x y)) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 x y)) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 x y)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 x y)) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (+.f64 x y) 1)) |
| 1× | egg-herbie |
| 1124× | distribute-lft-in |
| 1098× | distribute-rgt-in |
| 1042× | times-frac |
| 898× | unswap-sqr |
| 860× | cancel-sign-sub-inv |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 355 | 4221 |
| 1 | 871 | 4131 |
| 2 | 2426 | 4131 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
x |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(*.f64 y x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(*.f64 y x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
y |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(*.f64 (+.f64 1 y) x) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
x |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(*.f64 (+.f64 1 x) y) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (fma.f64 x y (neg.f64 x))) (/.f64 (*.f64 x x) (fma.f64 x y (neg.f64 x)))) |
(*.f64 x (+.f64 1 y)) |
(*.f64 x (+.f64 y 1)) |
(*.f64 (fma.f64 x y x) 1) |
(*.f64 1 (fma.f64 x y x)) |
(*.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x))) |
(*.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x))) |
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (/.f64 1 (fma.f64 x y (neg.f64 x)))) |
(*.f64 (+.f64 y 1) x) |
(/.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)))) |
(/.f64 1 (/.f64 (fma.f64 x y (neg.f64 x)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x))) (neg.f64 (fma.f64 x y (neg.f64 x)))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (-.f64 x (*.f64 x y))) |
(pow.f64 (fma.f64 x y x) 1) |
(pow.f64 (cbrt.f64 (fma.f64 x y x)) 3) |
(pow.f64 (pow.f64 (fma.f64 x y x) 2) 1/2) |
(pow.f64 (pow.f64 (fma.f64 x y x) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 x y x)) 2) |
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 x y x))) |
(pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) -1) |
(pow.f64 (/.f64 (fma.f64 x y (neg.f64 x)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x))) -1) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x y x))) 2)) (cbrt.f64 (log.f64 (fma.f64 x y x)))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x y x)))) (sqrt.f64 (log.f64 (fma.f64 x y x)))) |
(sqrt.f64 (pow.f64 (fma.f64 x y x) 2)) |
(log.f64 (exp.f64 (fma.f64 x y x))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x)))) |
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 x) y))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 x)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 x))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 x)))) |
(cbrt.f64 (pow.f64 (fma.f64 x y x) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 x y x))) |
(exp.f64 (log.f64 (fma.f64 x y x))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 x y x)) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x y x)) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x y x))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x y x))) 1/3)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x y x)) 3) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x y x))) 2)) |
(log1p.f64 (expm1.f64 (fma.f64 x y x))) |
(fma.f64 x y x) |
(fma.f64 x 1 (*.f64 x y)) |
(fma.f64 y x x) |
(fma.f64 (*.f64 x y) 1 x) |
(fma.f64 1 x (*.f64 x y)) |
(fma.f64 1 (*.f64 x y) x) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) x) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) x) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) x) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) x) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) x) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) x) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) x) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) x) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) x) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) x) |
(-.f64 (exp.f64 (log1p.f64 (+.f64 x (fma.f64 x y y)))) 1) |
(-.f64 (/.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 (fma.f64 x y x) y)) (/.f64 (*.f64 y y) (-.f64 (fma.f64 x y x) y))) |
(*.f64 (+.f64 x (fma.f64 x y y)) 1) |
(*.f64 1 (+.f64 x (fma.f64 x y y))) |
(*.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2) (cbrt.f64 (+.f64 x (fma.f64 x y y)))) |
(*.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) (sqrt.f64 (+.f64 x (fma.f64 x y y)))) |
(*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)))) |
(*.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (/.f64 1 (-.f64 (fma.f64 x y x) y))) |
(/.f64 1 (/.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)))) |
(/.f64 1 (/.f64 (-.f64 (fma.f64 x y x) y) (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y (fma.f64 x y x))))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (-.f64 (fma.f64 x y x) y)) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) (neg.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y))) (neg.f64 (-.f64 (fma.f64 x y x) y))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (+.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (*.f64 x y) (+.f64 x y))))) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 x y) (+.f64 x y))) |
(pow.f64 (+.f64 x (fma.f64 x y y)) 1) |
(pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 3) |
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2) 1/2) |
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) 2) |
(pow.f64 (exp.f64 1) (log.f64 (+.f64 x (fma.f64 x y y)))) |
(pow.f64 (/.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) -1) |
(pow.f64 (/.f64 (-.f64 (fma.f64 x y x) y) (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y))) -1) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 x (fma.f64 x y y)))) 2)) (cbrt.f64 (log.f64 (+.f64 x (fma.f64 x y y))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 x (fma.f64 x y y))))) (sqrt.f64 (log.f64 (+.f64 x (fma.f64 x y y))))) |
(sqrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2)) |
(log.f64 (exp.f64 (+.f64 x (fma.f64 x y y)))) |
(log.f64 (+.f64 1 (expm1.f64 (+.f64 x (fma.f64 x y y))))) |
(log.f64 (*.f64 (exp.f64 y) (+.f64 1 (expm1.f64 (fma.f64 x y x))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (exp.f64 (fma.f64 x y x)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (+.f64 1 (expm1.f64 (fma.f64 x y x))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 (+.f64 x y)))) |
(log.f64 (*.f64 (exp.f64 (fma.f64 x y x)) (+.f64 1 (expm1.f64 y)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))) (exp.f64 y))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))) (+.f64 1 (expm1.f64 y)))) |
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(cbrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3)) |
(expm1.f64 (log1p.f64 (+.f64 x (fma.f64 x y y)))) |
(exp.f64 (log.f64 (+.f64 x (fma.f64 x y y)))) |
(exp.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x y y))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x y y))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y)))) 3)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3)) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y)))) 2)) |
(log1p.f64 (expm1.f64 (+.f64 x (fma.f64 x y y)))) |
(fma.f64 x y (+.f64 x y)) |
(fma.f64 x y (*.f64 (+.f64 x y) 1)) |
(fma.f64 x 1 (fma.f64 x y y)) |
(fma.f64 x (+.f64 1 y) y) |
(fma.f64 x (+.f64 y 1) y) |
(fma.f64 y x (+.f64 x y)) |
(fma.f64 y x (*.f64 (+.f64 x y) 1)) |
(fma.f64 y 1 (fma.f64 x y x)) |
(fma.f64 (*.f64 x y) 1 (+.f64 x y)) |
(fma.f64 (*.f64 x y) 1 (*.f64 (+.f64 x y) 1)) |
(fma.f64 (fma.f64 x y x) 1 y) |
(fma.f64 1 x (fma.f64 x y y)) |
(fma.f64 1 y (fma.f64 x y x)) |
(fma.f64 1 (*.f64 x y) (+.f64 x y)) |
(fma.f64 1 (*.f64 x y) (*.f64 (+.f64 x y) 1)) |
(fma.f64 1 (fma.f64 x y x) y) |
(fma.f64 1 (+.f64 x y) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) y) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)) y) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 x y y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 x y y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (+.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (+.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (fma.f64 x y x)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (fma.f64 x y x)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)) y) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 x y y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 x y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (fma.f64 x y x)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 x y)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) y) |
(fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (/.f64 1 (fma.f64 x y (neg.f64 x))) y) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 x y)) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 x y)) |
(fma.f64 (+.f64 y 1) x y) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 x y)) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 x y)) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 x y)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (+.f64 x y) 1)) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 x y)) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (+.f64 x y) 1)) |
| Outputs |
|---|
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(fma.f64 y x x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(fma.f64 y x x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(fma.f64 y x x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(fma.f64 y x x) |
x |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(*.f64 y x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(*.f64 y x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
y |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(+.f64 y (*.f64 (+.f64 1 y) x)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(fma.f64 y x x) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
x |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(*.f64 (+.f64 1 x) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 y x y) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(+.f64 (*.f64 (+.f64 1 x) y) x) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 y x y) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x y x))) 1) |
(fma.f64 y x x) |
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (fma.f64 x y (neg.f64 x))) (/.f64 (*.f64 x x) (fma.f64 x y (neg.f64 x)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x)) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1))) |
(*.f64 x (+.f64 1 y)) |
(fma.f64 y x x) |
(*.f64 x (+.f64 y 1)) |
(fma.f64 y x x) |
(*.f64 (fma.f64 x y x) 1) |
(fma.f64 y x x) |
(*.f64 1 (fma.f64 x y x)) |
(fma.f64 y x x) |
(*.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2)) |
(fma.f64 y x x) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x))) |
(fma.f64 y x x) |
(*.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x))) |
(fma.f64 y x x) |
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 x (neg.f64 y) x) (pow.f64 (*.f64 y x) 2))) |
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (/.f64 1 (fma.f64 x y (neg.f64 x)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x)) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1))) |
(*.f64 (+.f64 y 1) x) |
(fma.f64 y x x) |
(/.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 x (neg.f64 y) x) (pow.f64 (*.f64 y x) 2))) |
(/.f64 1 (/.f64 (fma.f64 x y (neg.f64 x)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x)) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 x (neg.f64 y) x) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 x y))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 x x) y)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) x)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 y x) (*.f64 x (+.f64 y -1))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x)) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 x (neg.f64 y) x) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x))) (neg.f64 (fma.f64 x y (neg.f64 x)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x)) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (-.f64 x (*.f64 x y))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x)) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1))) |
(pow.f64 (fma.f64 x y x) 1) |
(fma.f64 y x x) |
(pow.f64 (cbrt.f64 (fma.f64 x y x)) 3) |
(fma.f64 y x x) |
(pow.f64 (pow.f64 (fma.f64 x y x) 2) 1/2) |
(fma.f64 y x x) |
(pow.f64 (pow.f64 (fma.f64 x y x) 3) 1/3) |
(fma.f64 y x x) |
(pow.f64 (sqrt.f64 (fma.f64 x y x)) 2) |
(fma.f64 y x x) |
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 x y x))) |
(fma.f64 y x x) |
(pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) -1) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 x (neg.f64 y) x) (pow.f64 (*.f64 y x) 2))) |
(pow.f64 (/.f64 (fma.f64 x y (neg.f64 x)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x))) -1) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (fma.f64 x y (neg.f64 x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x)) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x y x))) 2)) (cbrt.f64 (log.f64 (fma.f64 x y x)))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 y x x))) 2)) (cbrt.f64 (log.f64 (fma.f64 y x x)))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x y x)))) (sqrt.f64 (log.f64 (fma.f64 x y x)))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 y x x)))) (sqrt.f64 (log.f64 (fma.f64 y x x)))) |
(sqrt.f64 (pow.f64 (fma.f64 x y x) 2)) |
(fma.f64 y x x) |
(log.f64 (exp.f64 (fma.f64 x y x))) |
(fma.f64 y x x) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x)))) |
(fma.f64 y x x) |
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(fma.f64 y x x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 x) y))) |
(fma.f64 y x x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(fma.f64 y x x) |
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 x)))) |
(fma.f64 y x x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 x))) |
(fma.f64 y x x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 x)))) |
(fma.f64 y x x) |
(cbrt.f64 (pow.f64 (fma.f64 x y x) 3)) |
(fma.f64 y x x) |
(expm1.f64 (log1p.f64 (fma.f64 x y x))) |
(fma.f64 y x x) |
(exp.f64 (log.f64 (fma.f64 x y x))) |
(fma.f64 y x x) |
(exp.f64 (*.f64 (log.f64 (fma.f64 x y x)) 1)) |
(fma.f64 y x x) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x y x)) 1) 1)) |
(fma.f64 y x x) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x y x))) 3)) |
(fma.f64 y x x) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x y x))) 1/3)) |
(fma.f64 y x x) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x y x)) 3) 1/3)) |
(fma.f64 y x x) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x y x))) 2)) |
(fma.f64 y x x) |
(log1p.f64 (expm1.f64 (fma.f64 x y x))) |
(fma.f64 y x x) |
(fma.f64 x y x) |
(fma.f64 y x x) |
(fma.f64 x 1 (*.f64 x y)) |
(fma.f64 y x x) |
(fma.f64 y x x) |
(fma.f64 (*.f64 x y) 1 x) |
(fma.f64 y x x) |
(fma.f64 1 x (*.f64 x y)) |
(fma.f64 y x x) |
(fma.f64 1 (*.f64 x y) x) |
(fma.f64 y x x) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x y)) |
(fma.f64 y x x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x y)) |
(fma.f64 y x x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) x) |
(fma.f64 y x x) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) x) |
(fma.f64 y x x) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) x) |
(fma.f64 y x x) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) x) |
(fma.f64 y x x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x y)) |
(fma.f64 y x x) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) x) |
(fma.f64 y x x) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) x) |
(fma.f64 y x x) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) x) |
(fma.f64 y x x) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) x) |
(fma.f64 y x x) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) x) |
(fma.f64 y x x) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) x) |
(fma.f64 y x x) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) x) |
(fma.f64 y x x) |
(-.f64 (exp.f64 (log1p.f64 (+.f64 x (fma.f64 x y y)))) 1) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(-.f64 (/.f64 (pow.f64 (fma.f64 x y x) 2) (-.f64 (fma.f64 x y x) y)) (/.f64 (*.f64 y y) (-.f64 (fma.f64 x y x) y))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y)) |
(*.f64 (+.f64 x (fma.f64 x y y)) 1) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(*.f64 1 (+.f64 x (fma.f64 x y y))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(*.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 2) (cbrt.f64 (+.f64 x (fma.f64 x y y)))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(*.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) (sqrt.f64 (+.f64 x (fma.f64 x y y)))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(*.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) 1) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2))) |
(*.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (/.f64 1 (-.f64 (fma.f64 x y x) y))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y)) |
(/.f64 1 (/.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) 1) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2))) |
(/.f64 1 (/.f64 (-.f64 (fma.f64 x y x) y) (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y)) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) 1) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3)) (fma.f64 y y (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y (fma.f64 x y x))))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y y (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y (fma.f64 y x x))))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 (fma.f64 y x x) (-.f64 (fma.f64 y x x) y)))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y)) (-.f64 (fma.f64 x y x) y)) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y)) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) (neg.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) 1) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y))) (neg.f64 (-.f64 (fma.f64 x y x) y))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y)) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (+.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (*.f64 x y) (+.f64 x y))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (pow.f64 (+.f64 y x) 2) (*.f64 x (*.f64 y (+.f64 y x)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (+.f64 y x) (-.f64 (+.f64 y x) (*.f64 y x))))) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (fma.f64 x y x) 2)) (-.f64 y (fma.f64 x y x))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y)) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 x y) (+.f64 x y))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (+.f64 y x) 2)) (-.f64 (*.f64 y x) (+.f64 y x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (+.f64 y x) 2)) (-.f64 (fma.f64 y x (neg.f64 y)) x)) |
(pow.f64 (+.f64 x (fma.f64 x y y)) 1) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(pow.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y))) 3) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2) 1/2) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(pow.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3) 1/3) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(pow.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y))) 2) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(pow.f64 (exp.f64 1) (log.f64 (+.f64 x (fma.f64 x y y)))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(pow.f64 (/.f64 (fma.f64 y (-.f64 y (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) 2)) (+.f64 (pow.f64 (fma.f64 x y x) 3) (pow.f64 y 3))) -1) |
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) 1) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 y x x) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) 2))) |
(pow.f64 (/.f64 (-.f64 (fma.f64 x y x) y) (-.f64 (pow.f64 (fma.f64 x y x) 2) (*.f64 y y))) -1) |
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) 2) (*.f64 y y)) (-.f64 (fma.f64 y x x) y)) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 x (fma.f64 x y y)))) 2)) (cbrt.f64 (log.f64 (+.f64 x (fma.f64 x y y))))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 y (+.f64 1 x) x))) 2)) (cbrt.f64 (log.f64 (fma.f64 y (+.f64 1 x) x)))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 y (fma.f64 y x x)))) 2)) (cbrt.f64 (log.f64 (+.f64 y (fma.f64 y x x))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 x (fma.f64 x y y))))) (sqrt.f64 (log.f64 (+.f64 x (fma.f64 x y y))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 y (+.f64 1 x) x)))) (sqrt.f64 (log.f64 (fma.f64 y (+.f64 1 x) x)))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 y (fma.f64 y x x))))) (sqrt.f64 (log.f64 (+.f64 y (fma.f64 y x x))))) |
(sqrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 2)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(log.f64 (exp.f64 (+.f64 x (fma.f64 x y y)))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(log.f64 (+.f64 1 (expm1.f64 (+.f64 x (fma.f64 x y y))))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(log.f64 (*.f64 (exp.f64 y) (+.f64 1 (expm1.f64 (fma.f64 x y x))))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (exp.f64 (fma.f64 x y x)))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 y)) (+.f64 1 (expm1.f64 (fma.f64 x y x))))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 (+.f64 x y)))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(log.f64 (*.f64 (exp.f64 (fma.f64 x y x)) (+.f64 1 (expm1.f64 y)))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))) (exp.f64 y))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y x))) (+.f64 1 (expm1.f64 y)))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(cbrt.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(expm1.f64 (log1p.f64 (+.f64 x (fma.f64 x y y)))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(exp.f64 (log.f64 (+.f64 x (fma.f64 x y y)))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(exp.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x y y))) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 x (fma.f64 x y y))) 1) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 x (fma.f64 x y y)))) 3)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 x (fma.f64 x y y)) 3)) 1/3)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 x (fma.f64 x y y)))) 2)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(log1p.f64 (expm1.f64 (+.f64 x (fma.f64 x y y)))) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 x y (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 x y (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 x 1 (fma.f64 x y y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 x (+.f64 1 y) y) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 x (+.f64 y 1) y) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 y x (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 y x (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 y 1 (fma.f64 x y x)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (*.f64 x y) 1 (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (*.f64 x y) 1 (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (fma.f64 x y x) 1 y) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 1 x (fma.f64 x y y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 1 y (fma.f64 x y x)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 1 (*.f64 x y) (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 1 (*.f64 x y) (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 1 (fma.f64 x y x) y) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 1 (+.f64 x y) (*.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) y) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x)) y) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 x y y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 x y y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (fma.f64 x y x)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (fma.f64 x y x)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x)) y) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 x y y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (fma.f64 x y x)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) y) |
(fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) y) |
(+.f64 y (/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))) |
(+.f64 y (/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 x (neg.f64 y) x) (pow.f64 (*.f64 y x) 2)))) |
(fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (/.f64 1 (fma.f64 x y (neg.f64 x))) y) |
(fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (/.f64 1 (fma.f64 x y (neg.f64 x))) y) |
(+.f64 y (/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (-.f64 (*.f64 y x) x))) |
(+.f64 y (/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x x)) (*.f64 x (+.f64 y -1)))) |
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (+.f64 y 1) x y) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 x y)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (+.f64 x y) 1)) |
(+.f64 y (fma.f64 y x x)) |
(fma.f64 y (+.f64 1 x) x) |
Compiled 4232 to 1484 computations (64.9% saved)
7 alts after pruning (7 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 318 | 7 | 325 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 2 | 0 | 2 |
| Total | 321 | 7 | 328 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 64.7% | (+.f64 (*.f64 y x) y) |
| ▶ | 61.7% | (+.f64 x (*.f64 y x)) |
| ▶ | 75.0% | (+.f64 x y) |
| ▶ | 61.7% | (*.f64 (+.f64 y 1) x) |
| ▶ | 64.7% | (*.f64 (+.f64 x 1) y) |
| 39.5% | y | |
| 38.3% | x |
Compiled 72 to 46 computations (36.1% saved)
Compiled 8 to 4 computations (50% saved)
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 (+.f64 x 1) y) |
Compiled 14 to 9 computations (35.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | -inf | (*.f64 (+.f64 x 1) y) |
| 0.0ms | y | @ | 0 | (*.f64 (+.f64 x 1) y) |
| 0.0ms | y | @ | inf | (*.f64 (+.f64 x 1) y) |
| 0.0ms | y | @ | -inf | (*.f64 (+.f64 x 1) y) |
| 0.0ms | x | @ | 0 | (*.f64 (+.f64 x 1) y) |
| 1× | batch-egg-rewrite |
| 1388× | pow1 |
| 1282× | log1p-expm1-u |
| 1282× | expm1-log1p-u |
| 1280× | add-exp-log |
| 1256× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 142 | 13 |
| 2 | 1773 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 x 1) y) |
| Outputs |
|---|
(+.f64 y (*.f64 y x)) |
(+.f64 y (*.f64 x y)) |
(+.f64 (*.f64 y x) y) |
(+.f64 (*.f64 x y) y) |
(-.f64 (+.f64 1 (+.f64 y (*.f64 y x))) 1) |
(/.f64 (*.f64 y (+.f64 1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 x))) |
(/.f64 (*.f64 y (fma.f64 x x -1)) (+.f64 x -1)) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) y) (fma.f64 x x (-.f64 1 x))) |
(/.f64 (*.f64 (fma.f64 x x -1) y) (+.f64 x -1)) |
(pow.f64 (+.f64 y (*.f64 y x)) 1) |
(pow.f64 (cbrt.f64 (+.f64 y (*.f64 y x))) 3) |
(pow.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) 1/3) |
(pow.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) 2) |
(sqrt.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2)) |
(log.f64 (pow.f64 (exp.f64 y) (+.f64 x 1))) |
(cbrt.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3)) |
(expm1.f64 (log1p.f64 (+.f64 y (*.f64 y x)))) |
(exp.f64 (+.f64 (log1p.f64 x) (log.f64 y))) |
(log1p.f64 (expm1.f64 (+.f64 y (*.f64 y x)))) |
| 1× | egg-herbie |
| 1328× | fma-def |
| 1298× | div-sub |
| 596× | *-commutative |
| 592× | associate-*r* |
| 502× | associate-*l* |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 57 | 445 |
| 1 | 128 | 441 |
| 2 | 365 | 433 |
| 3 | 2030 | 433 |
| 4 | 4190 | 433 |
| 5 | 6606 | 433 |
| 1× | node limit |
| Inputs |
|---|
y |
(+.f64 (*.f64 y x) y) |
(+.f64 (*.f64 y x) y) |
(+.f64 (*.f64 y x) y) |
(*.f64 y x) |
(+.f64 y (*.f64 y x)) |
(+.f64 y (*.f64 y x)) |
(+.f64 y (*.f64 y x)) |
(*.f64 y x) |
(+.f64 y (*.f64 y x)) |
(+.f64 y (*.f64 y x)) |
(+.f64 y (*.f64 y x)) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(+.f64 y (*.f64 y x)) |
(+.f64 y (*.f64 x y)) |
(+.f64 (*.f64 y x) y) |
(+.f64 (*.f64 x y) y) |
(-.f64 (+.f64 1 (+.f64 y (*.f64 y x))) 1) |
(/.f64 (*.f64 y (+.f64 1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 x))) |
(/.f64 (*.f64 y (fma.f64 x x -1)) (+.f64 x -1)) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) y) (fma.f64 x x (-.f64 1 x))) |
(/.f64 (*.f64 (fma.f64 x x -1) y) (+.f64 x -1)) |
(pow.f64 (+.f64 y (*.f64 y x)) 1) |
(pow.f64 (cbrt.f64 (+.f64 y (*.f64 y x))) 3) |
(pow.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) 1/3) |
(pow.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) 2) |
(sqrt.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2)) |
(log.f64 (pow.f64 (exp.f64 y) (+.f64 x 1))) |
(cbrt.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3)) |
(expm1.f64 (log1p.f64 (+.f64 y (*.f64 y x)))) |
(exp.f64 (+.f64 (log1p.f64 x) (log.f64 y))) |
(log1p.f64 (expm1.f64 (+.f64 y (*.f64 y x)))) |
| Outputs |
|---|
y |
(+.f64 (*.f64 y x) y) |
(fma.f64 y x y) |
(+.f64 (*.f64 y x) y) |
(fma.f64 y x y) |
(+.f64 (*.f64 y x) y) |
(fma.f64 y x y) |
(*.f64 y x) |
(+.f64 y (*.f64 y x)) |
(fma.f64 y x y) |
(+.f64 y (*.f64 y x)) |
(fma.f64 y x y) |
(+.f64 y (*.f64 y x)) |
(fma.f64 y x y) |
(*.f64 y x) |
(+.f64 y (*.f64 y x)) |
(fma.f64 y x y) |
(+.f64 y (*.f64 y x)) |
(fma.f64 y x y) |
(+.f64 y (*.f64 y x)) |
(fma.f64 y x y) |
(*.f64 (+.f64 1 x) y) |
(fma.f64 y x y) |
(*.f64 (+.f64 1 x) y) |
(fma.f64 y x y) |
(*.f64 (+.f64 1 x) y) |
(fma.f64 y x y) |
(*.f64 (+.f64 1 x) y) |
(fma.f64 y x y) |
(*.f64 (+.f64 1 x) y) |
(fma.f64 y x y) |
(*.f64 (+.f64 1 x) y) |
(fma.f64 y x y) |
(*.f64 (+.f64 1 x) y) |
(fma.f64 y x y) |
(*.f64 (+.f64 1 x) y) |
(fma.f64 y x y) |
(*.f64 (+.f64 1 x) y) |
(fma.f64 y x y) |
(*.f64 (+.f64 1 x) y) |
(fma.f64 y x y) |
(*.f64 (+.f64 1 x) y) |
(fma.f64 y x y) |
(*.f64 (+.f64 1 x) y) |
(fma.f64 y x y) |
(+.f64 y (*.f64 y x)) |
(fma.f64 y x y) |
(+.f64 y (*.f64 x y)) |
(fma.f64 y x y) |
(+.f64 (*.f64 y x) y) |
(fma.f64 y x y) |
(+.f64 (*.f64 x y) y) |
(fma.f64 y x y) |
(-.f64 (+.f64 1 (+.f64 y (*.f64 y x))) 1) |
(fma.f64 y x y) |
(/.f64 (*.f64 y (+.f64 1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 x))) |
(*.f64 (/.f64 y (fma.f64 x x (-.f64 1 x))) (+.f64 1 (pow.f64 x 3))) |
(/.f64 (fma.f64 y (pow.f64 x 3) y) (-.f64 (fma.f64 x x 1) x)) |
(/.f64 (*.f64 y (fma.f64 x x -1)) (+.f64 x -1)) |
(fma.f64 y x y) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) y) (fma.f64 x x (-.f64 1 x))) |
(/.f64 (*.f64 y (+.f64 1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 x))) |
(*.f64 (/.f64 y (fma.f64 x x (-.f64 1 x))) (+.f64 1 (pow.f64 x 3))) |
(/.f64 (fma.f64 y (pow.f64 x 3) y) (-.f64 (fma.f64 x x 1) x)) |
(/.f64 (*.f64 (fma.f64 x x -1) y) (+.f64 x -1)) |
(fma.f64 y x y) |
(pow.f64 (+.f64 y (*.f64 y x)) 1) |
(fma.f64 y x y) |
(pow.f64 (cbrt.f64 (+.f64 y (*.f64 y x))) 3) |
(fma.f64 y x y) |
(pow.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3) 1/3) |
(fma.f64 y x y) |
(pow.f64 (sqrt.f64 (+.f64 y (*.f64 y x))) 2) |
(fma.f64 y x y) |
(sqrt.f64 (pow.f64 (+.f64 y (*.f64 y x)) 2)) |
(fma.f64 y x y) |
(log.f64 (pow.f64 (exp.f64 y) (+.f64 x 1))) |
(fma.f64 y x y) |
(cbrt.f64 (pow.f64 (+.f64 y (*.f64 y x)) 3)) |
(fma.f64 y x y) |
(expm1.f64 (log1p.f64 (+.f64 y (*.f64 y x)))) |
(fma.f64 y x y) |
(exp.f64 (+.f64 (log1p.f64 x) (log.f64 y))) |
(*.f64 y (exp.f64 (log1p.f64 x))) |
(log1p.f64 (expm1.f64 (+.f64 y (*.f64 y x)))) |
(fma.f64 y x y) |
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 (+.f64 y 1) x) |
Compiled 14 to 9 computations (35.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | inf | (*.f64 (+.f64 y 1) x) |
| 0.0ms | x | @ | -inf | (*.f64 (+.f64 y 1) x) |
| 0.0ms | x | @ | 0 | (*.f64 (+.f64 y 1) x) |
| 0.0ms | y | @ | 0 | (*.f64 (+.f64 y 1) x) |
| 0.0ms | y | @ | -inf | (*.f64 (+.f64 y 1) x) |
| 1× | batch-egg-rewrite |
| 1388× | pow1 |
| 1282× | log1p-expm1-u |
| 1282× | expm1-log1p-u |
| 1280× | add-exp-log |
| 1256× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 142 | 13 |
| 2 | 1773 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 y 1) x) |
| Outputs |
|---|
(+.f64 x (*.f64 x y)) |
(+.f64 x (*.f64 y x)) |
(+.f64 (*.f64 x y) x) |
(+.f64 (*.f64 y x) x) |
(-.f64 (+.f64 1 (+.f64 x (*.f64 x y))) 1) |
(/.f64 (*.f64 x (+.f64 1 (pow.f64 y 3))) (fma.f64 y y (-.f64 1 y))) |
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y -1)) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 y 3)) x) (fma.f64 y y (-.f64 1 y))) |
(/.f64 (*.f64 (fma.f64 y y -1) x) (+.f64 y -1)) |
(pow.f64 (+.f64 x (*.f64 x y)) 1) |
(pow.f64 (cbrt.f64 (+.f64 x (*.f64 x y))) 3) |
(pow.f64 (pow.f64 (+.f64 x (*.f64 x y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (+.f64 x (*.f64 x y))) 2) |
(sqrt.f64 (pow.f64 (+.f64 x (*.f64 x y)) 2)) |
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y 1))) |
(cbrt.f64 (pow.f64 (+.f64 x (*.f64 x y)) 3)) |
(expm1.f64 (log1p.f64 (+.f64 x (*.f64 x y)))) |
(exp.f64 (+.f64 (log1p.f64 y) (log.f64 x))) |
(log1p.f64 (expm1.f64 (+.f64 x (*.f64 x y)))) |
| 1× | egg-herbie |
| 1328× | fma-def |
| 1278× | div-sub |
| 618× | *-commutative |
| 588× | associate-*r* |
| 500× | associate-*l* |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 57 | 445 |
| 1 | 128 | 441 |
| 2 | 365 | 433 |
| 3 | 2027 | 433 |
| 4 | 4210 | 433 |
| 5 | 6623 | 433 |
| 1× | node limit |
| Inputs |
|---|
x |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(*.f64 y x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(*.f64 y x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(+.f64 x (*.f64 x y)) |
(+.f64 x (*.f64 y x)) |
(+.f64 (*.f64 x y) x) |
(+.f64 (*.f64 y x) x) |
(-.f64 (+.f64 1 (+.f64 x (*.f64 x y))) 1) |
(/.f64 (*.f64 x (+.f64 1 (pow.f64 y 3))) (fma.f64 y y (-.f64 1 y))) |
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y -1)) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 y 3)) x) (fma.f64 y y (-.f64 1 y))) |
(/.f64 (*.f64 (fma.f64 y y -1) x) (+.f64 y -1)) |
(pow.f64 (+.f64 x (*.f64 x y)) 1) |
(pow.f64 (cbrt.f64 (+.f64 x (*.f64 x y))) 3) |
(pow.f64 (pow.f64 (+.f64 x (*.f64 x y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (+.f64 x (*.f64 x y))) 2) |
(sqrt.f64 (pow.f64 (+.f64 x (*.f64 x y)) 2)) |
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y 1))) |
(cbrt.f64 (pow.f64 (+.f64 x (*.f64 x y)) 3)) |
(expm1.f64 (log1p.f64 (+.f64 x (*.f64 x y)))) |
(exp.f64 (+.f64 (log1p.f64 y) (log.f64 x))) |
(log1p.f64 (expm1.f64 (+.f64 x (*.f64 x y)))) |
| Outputs |
|---|
x |
(+.f64 (*.f64 y x) x) |
(fma.f64 x y x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 x y x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 x y x) |
(*.f64 y x) |
(*.f64 x y) |
(+.f64 (*.f64 y x) x) |
(fma.f64 x y x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 x y x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 x y x) |
(*.f64 y x) |
(*.f64 x y) |
(+.f64 (*.f64 y x) x) |
(fma.f64 x y x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 x y x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 x y x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 x y x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 x y x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 x y x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 x y x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 x y x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 x y x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 x y x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 x y x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 x y x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 x y x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 x y x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 x y x) |
(+.f64 x (*.f64 x y)) |
(fma.f64 x y x) |
(+.f64 x (*.f64 y x)) |
(fma.f64 x y x) |
(+.f64 (*.f64 x y) x) |
(fma.f64 x y x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 x y x) |
(-.f64 (+.f64 1 (+.f64 x (*.f64 x y))) 1) |
(fma.f64 x y x) |
(/.f64 (*.f64 x (+.f64 1 (pow.f64 y 3))) (fma.f64 y y (-.f64 1 y))) |
(/.f64 x (/.f64 (fma.f64 y y (-.f64 1 y)) (+.f64 1 (pow.f64 y 3)))) |
(*.f64 (/.f64 x (fma.f64 y y (-.f64 1 y))) (+.f64 1 (pow.f64 y 3))) |
(/.f64 (fma.f64 x (pow.f64 y 3) x) (-.f64 (fma.f64 y y 1) y)) |
(/.f64 (*.f64 x (fma.f64 y y -1)) (+.f64 y -1)) |
(fma.f64 x y x) |
(/.f64 (*.f64 (+.f64 1 (pow.f64 y 3)) x) (fma.f64 y y (-.f64 1 y))) |
(/.f64 x (/.f64 (fma.f64 y y (-.f64 1 y)) (+.f64 1 (pow.f64 y 3)))) |
(*.f64 (/.f64 x (fma.f64 y y (-.f64 1 y))) (+.f64 1 (pow.f64 y 3))) |
(/.f64 (fma.f64 x (pow.f64 y 3) x) (-.f64 (fma.f64 y y 1) y)) |
(/.f64 (*.f64 (fma.f64 y y -1) x) (+.f64 y -1)) |
(fma.f64 x y x) |
(pow.f64 (+.f64 x (*.f64 x y)) 1) |
(fma.f64 x y x) |
(pow.f64 (cbrt.f64 (+.f64 x (*.f64 x y))) 3) |
(fma.f64 x y x) |
(pow.f64 (pow.f64 (+.f64 x (*.f64 x y)) 3) 1/3) |
(fma.f64 x y x) |
(pow.f64 (sqrt.f64 (+.f64 x (*.f64 x y))) 2) |
(fma.f64 x y x) |
(sqrt.f64 (pow.f64 (+.f64 x (*.f64 x y)) 2)) |
(fma.f64 x y x) |
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y 1))) |
(fma.f64 x y x) |
(cbrt.f64 (pow.f64 (+.f64 x (*.f64 x y)) 3)) |
(fma.f64 x y x) |
(expm1.f64 (log1p.f64 (+.f64 x (*.f64 x y)))) |
(fma.f64 x y x) |
(exp.f64 (+.f64 (log1p.f64 y) (log.f64 x))) |
(*.f64 x (exp.f64 (log1p.f64 y))) |
(log1p.f64 (expm1.f64 (+.f64 x (*.f64 x y)))) |
(fma.f64 x y x) |
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 x (*.f64 y x)) |
Compiled 13 to 5 computations (61.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | inf | (+.f64 x (*.f64 y x)) |
| 0.0ms | x | @ | 0 | (+.f64 x (*.f64 y x)) |
| 0.0ms | x | @ | -inf | (+.f64 x (*.f64 y x)) |
| 0.0ms | y | @ | -inf | (+.f64 x (*.f64 y x)) |
| 0.0ms | y | @ | inf | (+.f64 x (*.f64 y x)) |
| 1× | batch-egg-rewrite |
| 1472× | pow1 |
| 1366× | add-exp-log |
| 1364× | log1p-expm1-u |
| 1364× | expm1-log1p-u |
| 1342× | add-log-exp |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 13 |
| 1 | 131 | 9 |
| 2 | 1864 | 9 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 x (*.f64 y x)) |
| Outputs |
|---|
(-.f64 (+.f64 1 (fma.f64 x y x)) 1) |
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 x y))) (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 x (*.f64 x y)))) |
(*.f64 x (+.f64 y 1)) |
(*.f64 (fma.f64 x y x) 1) |
(*.f64 1 (fma.f64 x y x)) |
(*.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x))) |
(*.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x))) |
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x))))) |
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (-.f64 x (*.f64 x y)))) |
(*.f64 (+.f64 y 1) x) |
(*.f64 (*.f64 (+.f64 y 1) 1) x) |
(*.f64 (*.f64 (+.f64 y 1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) |
(*.f64 (*.f64 (+.f64 y 1) (sqrt.f64 x)) (sqrt.f64 x)) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)))) |
(/.f64 1 (/.f64 (-.f64 x (*.f64 x y)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 x y))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (-.f64 x (*.f64 x y))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2))) (neg.f64 (-.f64 x (*.f64 x y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (-.f64 (*.f64 x y) x)) |
(pow.f64 (fma.f64 x y x) 1) |
(pow.f64 (cbrt.f64 (fma.f64 x y x)) 3) |
(pow.f64 (pow.f64 (fma.f64 x y x) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 x y x)) 2) |
(sqrt.f64 (pow.f64 (fma.f64 x y x) 2)) |
(log.f64 (exp.f64 (fma.f64 x y x))) |
(cbrt.f64 (pow.f64 (fma.f64 x y x) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 x y x))) |
(exp.f64 (log.f64 (fma.f64 x y x))) |
(log1p.f64 (expm1.f64 (fma.f64 x y x))) |
(fma.f64 x y x) |
(fma.f64 y x x) |
(fma.f64 1 x (*.f64 x y)) |
(fma.f64 1 (*.f64 x y) x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) x) |
| 1× | egg-herbie |
| 980× | fma-neg |
| 946× | div-sub |
| 830× | cancel-sign-sub-inv |
| 634× | fma-def |
| 560× | distribute-lft-neg-in |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 104 | 864 |
| 1 | 251 | 824 |
| 2 | 844 | 824 |
| 3 | 3808 | 824 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 (+.f64 1 y) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
x |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(*.f64 y x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(*.f64 y x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y x) x) |
(-.f64 (+.f64 1 (fma.f64 x y x)) 1) |
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 x y))) (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 x (*.f64 x y)))) |
(*.f64 x (+.f64 y 1)) |
(*.f64 (fma.f64 x y x) 1) |
(*.f64 1 (fma.f64 x y x)) |
(*.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x))) |
(*.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x))) |
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x))))) |
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (-.f64 x (*.f64 x y)))) |
(*.f64 (+.f64 y 1) x) |
(*.f64 (*.f64 (+.f64 y 1) 1) x) |
(*.f64 (*.f64 (+.f64 y 1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) |
(*.f64 (*.f64 (+.f64 y 1) (sqrt.f64 x)) (sqrt.f64 x)) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)))) |
(/.f64 1 (/.f64 (-.f64 x (*.f64 x y)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 x y))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (-.f64 x (*.f64 x y))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2))) (neg.f64 (-.f64 x (*.f64 x y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (-.f64 (*.f64 x y) x)) |
(pow.f64 (fma.f64 x y x) 1) |
(pow.f64 (cbrt.f64 (fma.f64 x y x)) 3) |
(pow.f64 (pow.f64 (fma.f64 x y x) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 x y x)) 2) |
(sqrt.f64 (pow.f64 (fma.f64 x y x) 2)) |
(log.f64 (exp.f64 (fma.f64 x y x))) |
(cbrt.f64 (pow.f64 (fma.f64 x y x) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 x y x))) |
(exp.f64 (log.f64 (fma.f64 x y x))) |
(log1p.f64 (expm1.f64 (fma.f64 x y x))) |
(fma.f64 x y x) |
(fma.f64 y x x) |
(fma.f64 1 x (*.f64 x y)) |
(fma.f64 1 (*.f64 x y) x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) x) |
| Outputs |
|---|
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(fma.f64 y x x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(fma.f64 y x x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(fma.f64 y x x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(fma.f64 y x x) |
x |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(*.f64 y x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(*.f64 y x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(-.f64 (+.f64 1 (fma.f64 x y x)) 1) |
(fma.f64 y x x) |
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 x y))) (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 x (*.f64 x y)))) |
(fma.f64 y x x) |
(*.f64 x (+.f64 y 1)) |
(fma.f64 y x x) |
(*.f64 (fma.f64 x y x) 1) |
(fma.f64 y x x) |
(*.f64 1 (fma.f64 x y x)) |
(fma.f64 y x x) |
(*.f64 (cbrt.f64 (fma.f64 x y x)) (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2)) |
(fma.f64 y x x) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y x)) 2) (cbrt.f64 (fma.f64 x y x))) |
(fma.f64 y x x) |
(*.f64 (sqrt.f64 (fma.f64 x y x)) (sqrt.f64 (fma.f64 x y x))) |
(fma.f64 y x x) |
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 x (*.f64 y (-.f64 (*.f64 y x) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (-.f64 (*.f64 y x) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (*.f64 x (+.f64 y -1)))))) |
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (-.f64 x (*.f64 x y)))) |
(fma.f64 y x x) |
(*.f64 (+.f64 y 1) x) |
(fma.f64 y x x) |
(*.f64 (*.f64 (+.f64 y 1) 1) x) |
(fma.f64 y x x) |
(*.f64 (*.f64 (+.f64 y 1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) |
(fma.f64 y x x) |
(*.f64 (*.f64 (+.f64 y 1) (sqrt.f64 x)) (sqrt.f64 x)) |
(fma.f64 y x x) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 x (*.f64 y (-.f64 (*.f64 y x) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (-.f64 (*.f64 y x) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (*.f64 x (+.f64 y -1)))))) |
(/.f64 1 (/.f64 (-.f64 x (*.f64 x y)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)))) |
(fma.f64 y x x) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 x (*.f64 y (-.f64 (*.f64 y x) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (-.f64 (*.f64 y x) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (*.f64 x (+.f64 y -1)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 x y))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 x (*.f64 y (-.f64 (*.f64 y x) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (-.f64 (*.f64 y x) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (*.f64 x (+.f64 y -1)))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (-.f64 x (*.f64 x y))) |
(fma.f64 y x x) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) x))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) 1) (fma.f64 x x (*.f64 x (*.f64 y (-.f64 (*.f64 y x) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (-.f64 (*.f64 y x) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 x 3)) (*.f64 x (+.f64 x (*.f64 y (*.f64 x (+.f64 y -1)))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2))) (neg.f64 (-.f64 x (*.f64 x y)))) |
(fma.f64 y x x) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x x)) (-.f64 (*.f64 x y) x)) |
(fma.f64 y x x) |
(pow.f64 (fma.f64 x y x) 1) |
(fma.f64 y x x) |
(pow.f64 (cbrt.f64 (fma.f64 x y x)) 3) |
(fma.f64 y x x) |
(pow.f64 (pow.f64 (fma.f64 x y x) 3) 1/3) |
(fma.f64 y x x) |
(pow.f64 (sqrt.f64 (fma.f64 x y x)) 2) |
(fma.f64 y x x) |
(sqrt.f64 (pow.f64 (fma.f64 x y x) 2)) |
(fma.f64 y x x) |
(log.f64 (exp.f64 (fma.f64 x y x))) |
(fma.f64 y x x) |
(cbrt.f64 (pow.f64 (fma.f64 x y x) 3)) |
(fma.f64 y x x) |
(expm1.f64 (log1p.f64 (fma.f64 x y x))) |
(fma.f64 y x x) |
(exp.f64 (log.f64 (fma.f64 x y x))) |
(fma.f64 y x x) |
(log1p.f64 (expm1.f64 (fma.f64 x y x))) |
(fma.f64 y x x) |
(fma.f64 x y x) |
(fma.f64 y x x) |
(fma.f64 y x x) |
(fma.f64 1 x (*.f64 x y)) |
(fma.f64 y x x) |
(fma.f64 1 (*.f64 x y) x) |
(fma.f64 y x x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x y)) |
(fma.f64 y x x) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) x) |
(fma.f64 y x x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x y)) |
(fma.f64 y x x) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) x) |
(fma.f64 y x x) |
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 (*.f64 y x) y) |
Compiled 13 to 5 computations (61.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (+.f64 (*.f64 y x) y) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y x) y) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 y x) y) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 y x) y) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 y x) y) |
| 1× | batch-egg-rewrite |
| 1450× | pow1 |
| 1342× | add-exp-log |
| 1342× | log1p-expm1-u |
| 1342× | expm1-log1p-u |
| 1316× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 9 |
| 1 | 131 | 9 |
| 2 | 1831 | 9 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y x) y) |
| Outputs |
|---|
(-.f64 (+.f64 1 (fma.f64 y x y)) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 y x) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 y x) y))) |
(*.f64 y (+.f64 1 x)) |
(*.f64 y (+.f64 x 1)) |
(*.f64 (fma.f64 y x y) 1) |
(*.f64 1 (fma.f64 y x y)) |
(*.f64 (cbrt.f64 (fma.f64 y x y)) (pow.f64 (cbrt.f64 (fma.f64 y x y)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x y)) 2) (cbrt.f64 (fma.f64 y x y))) |
(*.f64 (sqrt.f64 (fma.f64 y x y)) (sqrt.f64 (fma.f64 y x y))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x)))))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y)) (/.f64 1 (-.f64 (*.f64 y x) y))) |
(*.f64 (+.f64 x 1) y) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x)))) (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 y x) y) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (+.f64 (*.f64 y y) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 y x))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y)) (-.f64 (*.f64 y x) y)) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x)))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 y x) y))) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 y x) 2)) (-.f64 y (*.f64 y x))) |
(pow.f64 (fma.f64 y x y) 1) |
(pow.f64 (cbrt.f64 (fma.f64 y x y)) 3) |
(pow.f64 (pow.f64 (fma.f64 y x y) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 y x y)) 2) |
(sqrt.f64 (pow.f64 (fma.f64 y x y) 2)) |
(log.f64 (exp.f64 (fma.f64 y x y))) |
(cbrt.f64 (pow.f64 (fma.f64 y x y) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 y x y))) |
(exp.f64 (log.f64 (fma.f64 y x y))) |
(log1p.f64 (expm1.f64 (fma.f64 y x y))) |
(fma.f64 y x y) |
(fma.f64 x y y) |
(fma.f64 1 y (*.f64 y x)) |
(fma.f64 1 (*.f64 y x) y) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) y) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y x)) |
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) y) |
| 1× | egg-herbie |
| 1022× | associate-*r* |
| 978× | div-sub |
| 976× | associate-*l* |
| 742× | distribute-lft-neg-in |
| 596× | log-prod |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 98 | 1043 |
| 1 | 238 | 789 |
| 2 | 755 | 789 |
| 3 | 5060 | 789 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
y |
(*.f64 y x) |
(+.f64 y (*.f64 y x)) |
(+.f64 y (*.f64 y x)) |
(+.f64 y (*.f64 y x)) |
(*.f64 y x) |
(+.f64 y (*.f64 y x)) |
(+.f64 y (*.f64 y x)) |
(+.f64 y (*.f64 y x)) |
(-.f64 (+.f64 1 (fma.f64 y x y)) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 y x) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 y x) y))) |
(*.f64 y (+.f64 1 x)) |
(*.f64 y (+.f64 x 1)) |
(*.f64 (fma.f64 y x y) 1) |
(*.f64 1 (fma.f64 y x y)) |
(*.f64 (cbrt.f64 (fma.f64 y x y)) (pow.f64 (cbrt.f64 (fma.f64 y x y)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x y)) 2) (cbrt.f64 (fma.f64 y x y))) |
(*.f64 (sqrt.f64 (fma.f64 y x y)) (sqrt.f64 (fma.f64 y x y))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x)))))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y)) (/.f64 1 (-.f64 (*.f64 y x) y))) |
(*.f64 (+.f64 x 1) y) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x)))) (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 y x) y) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (+.f64 (*.f64 y y) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 y x))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y)) (-.f64 (*.f64 y x) y)) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x)))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 y x) y))) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 y x) 2)) (-.f64 y (*.f64 y x))) |
(pow.f64 (fma.f64 y x y) 1) |
(pow.f64 (cbrt.f64 (fma.f64 y x y)) 3) |
(pow.f64 (pow.f64 (fma.f64 y x y) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 y x y)) 2) |
(sqrt.f64 (pow.f64 (fma.f64 y x y) 2)) |
(log.f64 (exp.f64 (fma.f64 y x y))) |
(cbrt.f64 (pow.f64 (fma.f64 y x y) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 y x y))) |
(exp.f64 (log.f64 (fma.f64 y x y))) |
(log1p.f64 (expm1.f64 (fma.f64 y x y))) |
(fma.f64 y x y) |
(fma.f64 x y y) |
(fma.f64 1 y (*.f64 y x)) |
(fma.f64 1 (*.f64 y x) y) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) y) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y x)) |
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) y) |
| Outputs |
|---|
(*.f64 (+.f64 1 x) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 (+.f64 1 x) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
y |
(*.f64 y x) |
(*.f64 x y) |
(+.f64 y (*.f64 y x)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(+.f64 y (*.f64 y x)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(+.f64 y (*.f64 y x)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 y x) |
(*.f64 x y) |
(+.f64 y (*.f64 y x)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(+.f64 y (*.f64 y x)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(+.f64 y (*.f64 y x)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(-.f64 (+.f64 1 (fma.f64 y x y)) 1) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 y x) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 y x) y))) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 y (+.f64 x 1)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 (fma.f64 y x y) 1) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 1 (fma.f64 y x y)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 (cbrt.f64 (fma.f64 y x y)) (pow.f64 (cbrt.f64 (fma.f64 y x y)) 2)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x y)) 2) (cbrt.f64 (fma.f64 y x y))) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 (sqrt.f64 (fma.f64 y x y)) (sqrt.f64 (fma.f64 y x y))) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x)))))) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 y (-.f64 y (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 (*.f64 x y) (*.f64 y (+.f64 -1 x)) (*.f64 y y))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 x (*.f64 y (*.f64 y (+.f64 -1 x)))))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y)) (/.f64 1 (-.f64 (*.f64 y x) y))) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(*.f64 (+.f64 x 1) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x)))) (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)))) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 y (-.f64 y (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 (*.f64 x y) (*.f64 y (+.f64 -1 x)) (*.f64 y y))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 x (*.f64 y (*.f64 y (+.f64 -1 x)))))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 y x) y) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y)))) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x))))) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 y (-.f64 y (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 (*.f64 x y) (*.f64 y (+.f64 -1 x)) (*.f64 y y))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 x (*.f64 y (*.f64 y (+.f64 -1 x)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)) (+.f64 (*.f64 y y) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 y x))))) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 y (-.f64 y (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 (*.f64 x y) (*.f64 y (+.f64 -1 x)) (*.f64 y y))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 x (*.f64 y (*.f64 y (+.f64 -1 x)))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y)) (-.f64 (*.f64 y x) y)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (-.f64 y (*.f64 y x)))))) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 y (-.f64 y (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 (*.f64 x y) (*.f64 y (+.f64 -1 x)) (*.f64 y y))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 x (*.f64 y (*.f64 y (+.f64 -1 x)))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 y x) y))) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 y x) 2)) (-.f64 y (*.f64 y x))) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(pow.f64 (fma.f64 y x y) 1) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(pow.f64 (cbrt.f64 (fma.f64 y x y)) 3) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(pow.f64 (pow.f64 (fma.f64 y x y) 3) 1/3) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(pow.f64 (sqrt.f64 (fma.f64 y x y)) 2) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(sqrt.f64 (pow.f64 (fma.f64 y x y) 2)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(log.f64 (exp.f64 (fma.f64 y x y))) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(cbrt.f64 (pow.f64 (fma.f64 y x y) 3)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(expm1.f64 (log1p.f64 (fma.f64 y x y))) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(exp.f64 (log.f64 (fma.f64 y x y))) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(log1p.f64 (expm1.f64 (fma.f64 y x y))) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(fma.f64 y x y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(fma.f64 x y y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 1 y (*.f64 y x)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(fma.f64 1 (*.f64 y x) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y x)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y x)) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) y) |
(*.f64 y (+.f64 1 x)) |
(fma.f64 x y y) |
Compiled 1483 to 602 computations (59.4% saved)
8 alts after pruning (3 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 149 | 1 | 150 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 4 | 4 |
| Total | 149 | 8 | 157 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 64.7% | (+.f64 (*.f64 y x) y) |
| ✓ | 61.7% | (+.f64 x (*.f64 y x)) |
| ✓ | 75.0% | (+.f64 x y) |
| ✓ | 61.7% | (*.f64 (+.f64 y 1) x) |
| ✓ | 64.7% | (*.f64 (+.f64 x 1) y) |
| ▶ | 26.7% | (*.f64 y x) |
| 39.5% | y | |
| 38.3% | x |
Compiled 44 to 28 computations (36.4% saved)
Compiled 8 to 4 computations (50% saved)
Compiled 2 to 2 computations (0% saved)
8 alts after pruning (2 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 0 | 8 | 8 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 64.7% | (+.f64 (*.f64 y x) y) |
| ✓ | 61.7% | (+.f64 x (*.f64 y x)) |
| ✓ | 75.0% | (+.f64 x y) |
| ✓ | 61.7% | (*.f64 (+.f64 y 1) x) |
| ✓ | 64.7% | (*.f64 (+.f64 x 1) y) |
| ✓ | 26.7% | (*.f64 y x) |
| 39.5% | y | |
| 38.3% | x |
Compiled 44 to 28 computations (36.4% saved)
Compiled 2 to 2 computations (0% saved)
8 alts after pruning (2 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 6 | 6 |
| Total | 0 | 8 | 8 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 64.7% | (+.f64 (*.f64 y x) y) |
| ✓ | 61.7% | (+.f64 x (*.f64 y x)) |
| ✓ | 75.0% | (+.f64 x y) |
| ✓ | 61.7% | (*.f64 (+.f64 y 1) x) |
| ✓ | 64.7% | (*.f64 (+.f64 x 1) y) |
| ✓ | 26.7% | (*.f64 y x) |
| 39.5% | y | |
| 38.3% | x |
Compiled 44 to 28 computations (36.4% saved)
| Inputs |
|---|
x |
y |
(*.f64 y x) |
(+.f64 x y) |
(*.f64 (+.f64 x 1) y) |
(*.f64 (+.f64 y 1) x) |
(+.f64 x (*.f64 y x)) |
(+.f64 (*.f64 y x) y) |
(+.f64 (+.f64 (*.f64 x y) x) y) |
(+.f64 x (fma.f64 x y y)) |
(+.f64 y (fma.f64 x y x)) |
| Outputs |
|---|
(+.f64 x (fma.f64 x y y)) |
3 calls:
| 7.0ms | y |
| 6.0ms | x |
| 6.0ms | (+.f64 (+.f64 (*.f64 x y) x) y) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | (+.f64 (+.f64 (*.f64 x y) x) y) |
Compiled 64 to 28 computations (56.3% saved)
| Inputs |
|---|
x |
y |
(*.f64 y x) |
(+.f64 x y) |
(*.f64 (+.f64 x 1) y) |
(*.f64 (+.f64 y 1) x) |
(+.f64 x (*.f64 y x)) |
(+.f64 (*.f64 y x) y) |
(+.f64 (+.f64 (*.f64 x y) x) y) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x y) x) y) |
3 calls:
| 6.0ms | x |
| 6.0ms | (+.f64 (+.f64 (*.f64 x y) x) y) |
| 6.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | (+.f64 (+.f64 (*.f64 x y) x) y) |
Compiled 52 to 24 computations (53.8% saved)
| Inputs |
|---|
x |
y |
(*.f64 y x) |
(+.f64 x y) |
(*.f64 (+.f64 x 1) y) |
(*.f64 (+.f64 y 1) x) |
(+.f64 x (*.f64 y x)) |
(+.f64 (*.f64 y x) y) |
| Outputs |
|---|
(*.f64 y x) |
(+.f64 x y) |
(+.f64 (*.f64 y x) y) |
2 calls:
| 16.0ms | x |
| 15.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.4% | 3 | x |
| 99.5% | 3 | y |
Compiled 36 to 16 computations (55.6% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 13.0ms | 0.012826150787851083 | 502.5724346652822 |
| 64.0ms | -1.153620726015071e+34 | -2.543898555156076e-55 |
| 73.0ms | 332× | body | 256 | valid |
| 0.0ms | 4× | body | 256 | infinite |
Compiled 282 to 185 computations (34.4% saved)
| Inputs |
|---|
x |
y |
(*.f64 y x) |
(+.f64 x y) |
(*.f64 (+.f64 x 1) y) |
(*.f64 (+.f64 y 1) x) |
(+.f64 x (*.f64 y x)) |
| Outputs |
|---|
(*.f64 y x) |
(+.f64 x y) |
(*.f64 (+.f64 x 1) y) |
2 calls:
| 16.0ms | x |
| 15.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.4% | 3 | x |
| 99.5% | 3 | y |
Compiled 31 to 15 computations (51.6% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 55.0ms | 0.012826150787851083 | 502.5724346652822 |
| 20.0ms | -1.153620726015071e+34 | -2.543898555156076e-55 |
| 71.0ms | 331× | body | 256 | valid |
| 0.0ms | 5× | body | 256 | infinite |
Compiled 282 to 193 computations (31.6% saved)
| Inputs |
|---|
x |
y |
(*.f64 y x) |
(+.f64 x y) |
| Outputs |
|---|
(*.f64 y x) |
(+.f64 x y) |
(*.f64 y x) |
(+.f64 x y) |
(*.f64 y x) |
y |
2 calls:
| 21.0ms | y |
| 14.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 84.3% | 4 | x |
| 84.7% | 6 | y |
Compiled 16 to 8 computations (50% saved)
| 5× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 10.0ms | 1.110130254506973e+293 | 2.1607035916023287e+294 |
| 9.0ms | 7.289935217217896e+278 | 1.6825868681325677e+279 |
| 9.0ms | 3.126946169131931e+137 | 4.993170216499502e+138 |
| 15.0ms | 2.591907581260743e+78 | 1.7139742846028758e+85 |
| 20.0ms | -1.153620726015071e+34 | -2.543898555156076e-55 |
| 43.0ms | 495× | body | 256 | valid |
| 13.0ms | 145× | body | 256 | infinite |
Compiled 480 to 322 computations (32.9% saved)
| Inputs |
|---|
x |
y |
(*.f64 y x) |
| Outputs |
|---|
(*.f64 y x) |
x |
y |
x |
y |
(*.f64 y x) |
y |
(*.f64 y x) |
y |
2 calls:
| 32.0ms | y |
| 17.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 76.3% | 5 | x |
| 77.1% | 9 | y |
Compiled 13 to 7 computations (46.2% saved)
| 8× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 1.110130254506973e+293 | 2.1607035916023287e+294 |
| 8.0ms | 7.289935217217896e+278 | 1.6825868681325677e+279 |
| 9.0ms | 3.126946169131931e+137 | 4.993170216499502e+138 |
| 15.0ms | 2.591907581260743e+78 | 1.7139742846028758e+85 |
| 6.0ms | 2.8350758659718187e-39 | 4.935903191879262e-39 |
| 14.0ms | 7.903403326303496e-87 | 2.446818331087469e-81 |
| 12.0ms | 6.743421340844461e-162 | 2.9276862353399705e-158 |
| 24.0ms | -1.153620726015071e+34 | -2.543898555156076e-55 |
| 77.0ms | 858× | body | 256 | valid |
| 10.0ms | 118× | body | 256 | infinite |
Compiled 582 to 415 computations (28.7% saved)
Total -41.2b remaining (-196.2%)
Threshold costs -41.2b (-196.2%)
| Inputs |
|---|
x |
y |
| Outputs |
|---|
x |
y |
x |
y |
2 calls:
| 14.0ms | y |
| 9.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 67.2% | 2 | x |
| 67.2% | 4 | y |
Compiled 10 to 6 computations (40% saved)
| 3× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 6.0ms | 2.8350758659718187e-39 | 4.935903191879262e-39 |
| 50.0ms | 7.903403326303496e-87 | 2.446818331087469e-81 |
| 13.0ms | 6.743421340844461e-162 | 2.9276862353399705e-158 |
| 65.0ms | 335× | body | 256 | valid |
| 0.0ms | 1× | body | 512 | valid |
Compiled 182 to 135 computations (25.8% saved)
| 1× | egg-herbie |
| 12× | not-or |
| 12× | +-commutative |
| 10× | if-if-or-not |
| 10× | if-not |
| 8× | not-not |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 72 | 336 |
| 1 | 92 | 336 |
| 2 | 98 | 336 |
| 3 | 107 | 336 |
| 4 | 112 | 336 |
| 5 | 117 | 336 |
| 6 | 118 | 336 |
| 7 | 120 | 336 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(+.f64 x (fma.f64 x y y)) |
(+.f64 (+.f64 (*.f64 x y) x) y) |
(if (<=.f64 y -11000000000000000352321536) (*.f64 y x) (if (<=.f64 y 1) (+.f64 x y) (+.f64 (*.f64 y x) y))) |
(if (<=.f64 y -999999999999999983222784) (*.f64 y x) (if (<=.f64 y 1) (+.f64 x y) (*.f64 (+.f64 x 1) y))) |
(if (<=.f64 y -147999999999999991611392) (*.f64 y x) (if (<=.f64 y 19000000000000001663724468074365473034315392242237462751242828274811556449497382912) (+.f64 x y) (if (<=.f64 y 2600000000000000085388062471932807805366232672534990408332014908272742217936848788414403420632091272978268712439238332504486075648949878784) (*.f64 y x) (if (<=.f64 y 799999999999999970805494943673428466527218198263940612258515883889773970409921646501394742966563942398702279504009632302201518028351681750335545182350305162568532196644945893271749066902064720221602682491950039826674941039005913099987008109261515451294945670608599613955882614784) (+.f64 x y) (if (<=.f64 y 640000000000000008484223346148746411563939909733533442280450014588319534521872205735422682754519199982551976868217093823239870377600449650211311251375790827898073300176337577399107724003725735525087756917290390565474485476712742241414883949500257187841839960117382091427282493703363566432681984) (*.f64 y x) y))))) |
(if (<=.f64 y -1) (*.f64 y x) (if (<=.f64 y 7172581642720031/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) x (if (<=.f64 y 6124302029392433/1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526912) y (if (<=.f64 y 7355978596156267/1532495540865888858358347027150309183618739122183602176) x (if (<=.f64 y 8999999999999999441501622397017478535254800663079350288396599867489511762007911563264) y (if (<=.f64 y 479999999999999966184752335549719596520117929394785626715559222283107116962758592280686288777958221199104979317828405508410373627669643264) (*.f64 y x) (if (<=.f64 y 799999999999999970805494943673428466527218198263940612258515883889773970409921646501394742966563942398702279504009632302201518028351681750335545182350305162568532196644945893271749066902064720221602682491950039826674941039005913099987008109261515451294945670608599613955882614784) y (if (<=.f64 y 275000000000000014724704044650515900901901276136053994922017940556461773726837531969011714942488993707433772753682501579095349891866932440829902294387294919522876568784626648714448611376666004729672543131928851768421078897484108273216416249056123797685007938293818424840048586581694419314933760) (*.f64 y x) y)))))))) |
(if (<=.f64 y 7172581642720031/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) x (if (<=.f64 y 3499601159652819/279968092772225526319680285071055534765205687154331191862498637620473983897520118172609686658950889472) y (if (<=.f64 y 3601364521034839/766247770432944429179173513575154591809369561091801088) x y))) |
x |
| Outputs |
|---|
(+.f64 x (fma.f64 x y y)) |
(+.f64 (+.f64 (*.f64 x y) x) y) |
(+.f64 y (+.f64 x (*.f64 x y))) |
(if (<=.f64 y -11000000000000000352321536) (*.f64 y x) (if (<=.f64 y 1) (+.f64 x y) (+.f64 (*.f64 y x) y))) |
(if (<=.f64 y -11000000000000000352321536) (*.f64 x y) (if (<=.f64 y 1) (+.f64 x y) (+.f64 y (*.f64 x y)))) |
(if (<=.f64 y -999999999999999983222784) (*.f64 y x) (if (<=.f64 y 1) (+.f64 x y) (*.f64 (+.f64 x 1) y))) |
(if (<=.f64 y -999999999999999983222784) (*.f64 x y) (if (<=.f64 y 1) (+.f64 x y) (*.f64 y (+.f64 x 1)))) |
(if (<=.f64 y -147999999999999991611392) (*.f64 y x) (if (<=.f64 y 19000000000000001663724468074365473034315392242237462751242828274811556449497382912) (+.f64 x y) (if (<=.f64 y 2600000000000000085388062471932807805366232672534990408332014908272742217936848788414403420632091272978268712439238332504486075648949878784) (*.f64 y x) (if (<=.f64 y 799999999999999970805494943673428466527218198263940612258515883889773970409921646501394742966563942398702279504009632302201518028351681750335545182350305162568532196644945893271749066902064720221602682491950039826674941039005913099987008109261515451294945670608599613955882614784) (+.f64 x y) (if (<=.f64 y 640000000000000008484223346148746411563939909733533442280450014588319534521872205735422682754519199982551976868217093823239870377600449650211311251375790827898073300176337577399107724003725735525087756917290390565474485476712742241414883949500257187841839960117382091427282493703363566432681984) (*.f64 y x) y))))) |
(if (<=.f64 y -147999999999999991611392) (*.f64 x y) (if (<=.f64 y 19000000000000001663724468074365473034315392242237462751242828274811556449497382912) (+.f64 x y) (if (<=.f64 y 2600000000000000085388062471932807805366232672534990408332014908272742217936848788414403420632091272978268712439238332504486075648949878784) (*.f64 x y) (if (<=.f64 y 799999999999999970805494943673428466527218198263940612258515883889773970409921646501394742966563942398702279504009632302201518028351681750335545182350305162568532196644945893271749066902064720221602682491950039826674941039005913099987008109261515451294945670608599613955882614784) (+.f64 x y) (if (<=.f64 y 640000000000000008484223346148746411563939909733533442280450014588319534521872205735422682754519199982551976868217093823239870377600449650211311251375790827898073300176337577399107724003725735525087756917290390565474485476712742241414883949500257187841839960117382091427282493703363566432681984) (*.f64 x y) y))))) |
(if (<=.f64 y -1) (*.f64 y x) (if (<=.f64 y 7172581642720031/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) x (if (<=.f64 y 6124302029392433/1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526912) y (if (<=.f64 y 7355978596156267/1532495540865888858358347027150309183618739122183602176) x (if (<=.f64 y 8999999999999999441501622397017478535254800663079350288396599867489511762007911563264) y (if (<=.f64 y 479999999999999966184752335549719596520117929394785626715559222283107116962758592280686288777958221199104979317828405508410373627669643264) (*.f64 y x) (if (<=.f64 y 799999999999999970805494943673428466527218198263940612258515883889773970409921646501394742966563942398702279504009632302201518028351681750335545182350305162568532196644945893271749066902064720221602682491950039826674941039005913099987008109261515451294945670608599613955882614784) y (if (<=.f64 y 275000000000000014724704044650515900901901276136053994922017940556461773726837531969011714942488993707433772753682501579095349891866932440829902294387294919522876568784626648714448611376666004729672543131928851768421078897484108273216416249056123797685007938293818424840048586581694419314933760) (*.f64 y x) y)))))))) |
(if (<=.f64 y -1) (*.f64 x y) (if (<=.f64 y 7172581642720031/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) x (if (<=.f64 y 6124302029392433/1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526912) y (if (<=.f64 y 7355978596156267/1532495540865888858358347027150309183618739122183602176) x (if (<=.f64 y 8999999999999999441501622397017478535254800663079350288396599867489511762007911563264) y (if (<=.f64 y 479999999999999966184752335549719596520117929394785626715559222283107116962758592280686288777958221199104979317828405508410373627669643264) (*.f64 x y) (if (<=.f64 y 799999999999999970805494943673428466527218198263940612258515883889773970409921646501394742966563942398702279504009632302201518028351681750335545182350305162568532196644945893271749066902064720221602682491950039826674941039005913099987008109261515451294945670608599613955882614784) y (if (<=.f64 y 275000000000000014724704044650515900901901276136053994922017940556461773726837531969011714942488993707433772753682501579095349891866932440829902294387294919522876568784626648714448611376666004729672543131928851768421078897484108273216416249056123797685007938293818424840048586581694419314933760) (*.f64 x y) y)))))))) |
(if (<=.f64 y 7172581642720031/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) x (if (<=.f64 y 3499601159652819/279968092772225526319680285071055534765205687154331191862498637620473983897520118172609686658950889472) y (if (<=.f64 y 3601364521034839/766247770432944429179173513575154591809369561091801088) x y))) |
x |
Compiled 167 to 92 computations (44.9% saved)
| 1636× | fma-neg |
| 1070× | div-sub |
| 854× | associate-*r* |
| 806× | associate-*l* |
| 568× | fma-def |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 15 |
| 1 | 14 | 15 |
| 2 | 27 | 15 |
| 3 | 38 | 15 |
| 4 | 48 | 15 |
| 5 | 61 | 15 |
| 6 | 83 | 15 |
| 7 | 105 | 15 |
| 8 | 112 | 15 |
| 9 | 113 | 15 |
| 0 | 7 | 15 |
| 1 | 14 | 15 |
| 2 | 27 | 15 |
| 3 | 38 | 15 |
| 4 | 48 | 15 |
| 5 | 61 | 15 |
| 6 | 83 | 15 |
| 7 | 105 | 15 |
| 8 | 112 | 15 |
| 9 | 113 | 15 |
| 0 | 102 | 1311 |
| 1 | 255 | 1281 |
| 2 | 806 | 1265 |
| 3 | 5048 | 1265 |
| 1× | node limit |
| 1× | saturated |
| 1× | saturated |
Compiled 63 to 27 computations (57.1% saved)
(sort x y)
Compiled 340 to 162 computations (52.4% saved)
Loading profile data...