Time bar (total: 3.6s)
| 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 13 to 9 computations (30.8% saved)
| 620.0ms | 6555× | body | 256 | valid |
| 153.0ms | 1701× | body | 256 | infinite |
| 2× | egg-herbie |
| 1510× | fma-neg |
| 908× | fma-def |
| 308× | cancel-sign-sub-inv |
| 260× | sub-neg |
| 244× | unsub-neg |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 84 |
| 1 | 47 | 84 |
| 2 | 91 | 84 |
| 3 | 155 | 84 |
| 4 | 341 | 68 |
| 5 | 684 | 60 |
| 6 | 1150 | 60 |
| 7 | 1879 | 60 |
| 8 | 2503 | 60 |
| 9 | 2798 | 60 |
| 10 | 2873 | 60 |
| 11 | 2874 | 60 |
| 12 | 2874 | 60 |
| 0 | 3 | 3 |
| 1× | saturated |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
2 |
| Inputs |
|---|
(+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(+.f64 (*.f64 z y) (*.f64 x (-.f64 1 y))) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 z))) |
| Outputs |
|---|
(+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
(fma.f64 x y (*.f64 z (-.f64 1 y))) |
(-.f64 (fma.f64 x y z) (*.f64 y z)) |
(fma.f64 y (fma.f64 z -1 x) z) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(fma.f64 y x (*.f64 z (-.f64 1 x))) |
(fma.f64 x y (*.f64 z (-.f64 1 x))) |
(fma.f64 x y (fma.f64 z (neg.f64 x) z)) |
(fma.f64 x (fma.f64 z -1 y) z) |
(fma.f64 x (-.f64 y z) z) |
(+.f64 (*.f64 z y) (*.f64 x (-.f64 1 y))) |
(fma.f64 z y (*.f64 x (-.f64 1 y))) |
(fma.f64 x (-.f64 1 y) (*.f64 y z)) |
(-.f64 (fma.f64 y z x) (*.f64 x y)) |
(fma.f64 y (fma.f64 x -1 z) x) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 z))) |
(fma.f64 x z (*.f64 y (-.f64 1 z))) |
(fma.f64 x z (fma.f64 y (neg.f64 z) y)) |
(fma.f64 z (fma.f64 y -1 x) y) |
(fma.f64 z (-.f64 x y) y) |
Compiled 15 to 11 computations (26.7% saved)
| 1× | egg-herbie |
| 1074× | fma-def |
| 142× | fma-neg |
| 90× | cancel-sign-sub-inv |
| 84× | sub-neg |
| 70× | distribute-rgt-in |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 21 |
| 1 | 20 | 21 |
| 2 | 33 | 21 |
| 3 | 60 | 21 |
| 4 | 129 | 17 |
| 5 | 221 | 15 |
| 6 | 351 | 15 |
| 7 | 563 | 15 |
| 8 | 972 | 15 |
| 9 | 1160 | 15 |
| 10 | 1219 | 15 |
| 11 | 1229 | 15 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
| Outputs |
|---|
(+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
(fma.f64 x y (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 x y)) |
(-.f64 (fma.f64 x y z) (*.f64 y z)) |
(fma.f64 y (fma.f64 z -1 x) z) |
(fma.f64 y (-.f64 x z) z) |
Compiled 49 to 23 computations (53.1% saved)
4 alts after pruning (4 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 3 | 3 | 6 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 3 | 4 | 7 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (fma.f64 y (-.f64 x z) z) |
| ▶ | 97.7% | (fma.f64 x y (*.f64 z (-.f64 1 y))) |
| ▶ | 96.9% | (+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
Compiled 32 to 20 computations (37.5% saved)
Found 2 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 z (-.f64 1 y)) |
| ✓ | 97.1% | (+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
Compiled 28 to 15 computations (46.4% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | inf | (+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
| 1× | batch-egg-rewrite |
| 1052× | log-prod |
| 868× | prod-exp |
| 838× | fma-def |
| 770× | pow-prod-down |
| 498× | pow-prod-up |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 34 |
| 1 | 213 | 34 |
| 2 | 2900 | 34 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
(*.f64 z (-.f64 1 y)) |
| Outputs |
|---|
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))) (/.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))))) |
(*.f64 1 (fma.f64 z (-.f64 1 y) (*.f64 x y))) |
(*.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 1) |
(*.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2) (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(*.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))))) |
(/.f64 1 (/.f64 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (+.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3))) (neg.f64 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2))) (neg.f64 (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (pow.f64 (*.f64 x y) 2)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y)))) |
(pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 1) |
(pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 3) |
(pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 2) 1/2) |
(pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2) |
(pow.f64 (/.f64 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3))) -1) |
(pow.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2))) -1) |
(sqrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 2)) |
(log.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (pow.f64 (exp.f64 z) (-.f64 1 y)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 1 y)) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))) (pow.f64 (exp.f64 x) y))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(cbrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(exp.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 2)) |
(log1p.f64 (expm1.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 x y (*.f64 z (-.f64 1 y))) |
(fma.f64 y x (*.f64 z (-.f64 1 y))) |
(fma.f64 (*.f64 x y) 1 (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 x y)) |
(fma.f64 1 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
(fma.f64 1 (*.f64 z (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 (-.f64 1 y) z (*.f64 x y)) |
(fma.f64 (*.f64 z (-.f64 1 y)) 1 (*.f64 x y)) |
(fma.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) (*.f64 (cbrt.f64 (-.f64 1 y)) z) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (cbrt.f64 (pow.f64 (*.f64 x y) 2)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x y) 2)) (cbrt.f64 (*.f64 x y)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 z (-.f64 1 y))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 1 y))) 2) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 1 y))) 2) (cbrt.f64 (*.f64 z (-.f64 1 y))) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) y) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (*.f64 z (-.f64 1 y))) |
(fma.f64 (sqrt.f64 (-.f64 1 y)) (*.f64 (sqrt.f64 (-.f64 1 y)) z) (*.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (sqrt.f64 (*.f64 z (-.f64 1 y))) (sqrt.f64 (*.f64 z (-.f64 1 y))) (*.f64 x y)) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 z (-.f64 1 y))) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 z (-.f64 1 y))) |
(fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (*.f64 z (-.f64 1 y))) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 z (-.f64 1 y))) |
(fma.f64 (*.f64 y (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (*.f64 z (-.f64 1 y))) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z (-.f64 1 y))) |
(fma.f64 (*.f64 z (cbrt.f64 (pow.f64 (-.f64 1 y) 2))) (cbrt.f64 (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 (*.f64 z (sqrt.f64 (-.f64 1 y))) (sqrt.f64 (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 (*.f64 (-.f64 1 y) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) (*.f64 x y)) |
(fma.f64 (*.f64 (-.f64 1 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x y)) |
(+.f64 z (*.f64 z (neg.f64 y))) |
(+.f64 z (*.f64 (neg.f64 y) z)) |
(+.f64 0 (*.f64 z (-.f64 1 y))) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 1 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 1 y))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 1 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 1 y))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 z (-.f64 1 y)))) 1) |
(/.f64 (*.f64 z (-.f64 1 (pow.f64 y 3))) (+.f64 1 (fma.f64 y y y))) |
(/.f64 (*.f64 z (-.f64 1 (*.f64 y y))) (+.f64 y 1)) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) z) (+.f64 1 (fma.f64 y y y))) |
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) z) (+.f64 y 1)) |
(pow.f64 (*.f64 z (-.f64 1 y)) 1) |
(pow.f64 (cbrt.f64 (*.f64 z (-.f64 1 y))) 3) |
(pow.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) 1/2) |
(pow.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 z (-.f64 1 y))) 2) |
(sqrt.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2)) |
(log.f64 (pow.f64 (exp.f64 z) (-.f64 1 y))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y))))) |
(cbrt.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 z (-.f64 1 y)))) |
(exp.f64 (log.f64 (*.f64 z (-.f64 1 y)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 z (-.f64 1 y))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 z (-.f64 1 y))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 z (-.f64 1 y)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 z (-.f64 1 y)))) 1/3)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 z (-.f64 1 y))) 3) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 z (-.f64 1 y)))) 2)) |
(exp.f64 (+.f64 (log.f64 z) (*.f64 (log1p.f64 (neg.f64 y)) 1))) |
(exp.f64 (+.f64 (*.f64 (log.f64 z) 1) (log1p.f64 (neg.f64 y)))) |
(exp.f64 (+.f64 (*.f64 (log.f64 z) 1) (*.f64 (log1p.f64 (neg.f64 y)) 1))) |
(exp.f64 (+.f64 (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 z) 1))) |
(exp.f64 (+.f64 (*.f64 (log1p.f64 (neg.f64 y)) 1) (log.f64 z))) |
(exp.f64 (+.f64 (*.f64 (log1p.f64 (neg.f64 y)) 1) (*.f64 (log.f64 z) 1))) |
(log1p.f64 (expm1.f64 (*.f64 z (-.f64 1 y)))) |
(fma.f64 z 1 (*.f64 z (neg.f64 y))) |
(fma.f64 z 1 (*.f64 (neg.f64 y) z)) |
(fma.f64 1 z (*.f64 z (neg.f64 y))) |
(fma.f64 1 z (*.f64 (neg.f64 y) z)) |
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 z (neg.f64 y))) |
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 (neg.f64 y) z)) |
(fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 z (neg.f64 y))) |
(fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 (neg.f64 y) z)) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 z (neg.f64 y))) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (neg.f64 y) z)) |
| 1× | egg-herbie |
| 1160× | distribute-lft-in |
| 1116× | distribute-rgt-in |
| 728× | unswap-sqr |
| 548× | times-frac |
| 522× | cancel-sign-sub-inv |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 284 | 4148 |
| 1 | 664 | 3622 |
| 2 | 2003 | 3622 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
z |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(*.f64 y (+.f64 (*.f64 -1 z) x)) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) z) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) z) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
z |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))) (/.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))))) |
(*.f64 1 (fma.f64 z (-.f64 1 y) (*.f64 x y))) |
(*.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 1) |
(*.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2) (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(*.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))))) |
(/.f64 1 (/.f64 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (+.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3))) (neg.f64 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2))) (neg.f64 (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (pow.f64 (*.f64 x y) 2)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y)))) |
(pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 1) |
(pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 3) |
(pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 2) 1/2) |
(pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2) |
(pow.f64 (/.f64 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3))) -1) |
(pow.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2))) -1) |
(sqrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 2)) |
(log.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (pow.f64 (exp.f64 z) (-.f64 1 y)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 1 y)) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))) (pow.f64 (exp.f64 x) y))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(cbrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(exp.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 2)) |
(log1p.f64 (expm1.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 x y (*.f64 z (-.f64 1 y))) |
(fma.f64 y x (*.f64 z (-.f64 1 y))) |
(fma.f64 (*.f64 x y) 1 (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 x y)) |
(fma.f64 1 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
(fma.f64 1 (*.f64 z (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 (-.f64 1 y) z (*.f64 x y)) |
(fma.f64 (*.f64 z (-.f64 1 y)) 1 (*.f64 x y)) |
(fma.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) (*.f64 (cbrt.f64 (-.f64 1 y)) z) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (cbrt.f64 (pow.f64 (*.f64 x y) 2)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x y) 2)) (cbrt.f64 (*.f64 x y)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 z (-.f64 1 y))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 1 y))) 2) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 1 y))) 2) (cbrt.f64 (*.f64 z (-.f64 1 y))) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) y) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (*.f64 z (-.f64 1 y))) |
(fma.f64 (sqrt.f64 (-.f64 1 y)) (*.f64 (sqrt.f64 (-.f64 1 y)) z) (*.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (sqrt.f64 (*.f64 z (-.f64 1 y))) (sqrt.f64 (*.f64 z (-.f64 1 y))) (*.f64 x y)) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 z (-.f64 1 y))) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 z (-.f64 1 y))) |
(fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (*.f64 z (-.f64 1 y))) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 z (-.f64 1 y))) |
(fma.f64 (*.f64 y (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (*.f64 z (-.f64 1 y))) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z (-.f64 1 y))) |
(fma.f64 (*.f64 z (cbrt.f64 (pow.f64 (-.f64 1 y) 2))) (cbrt.f64 (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 (*.f64 z (sqrt.f64 (-.f64 1 y))) (sqrt.f64 (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 (*.f64 (-.f64 1 y) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) (*.f64 x y)) |
(fma.f64 (*.f64 (-.f64 1 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x y)) |
(+.f64 z (*.f64 z (neg.f64 y))) |
(+.f64 z (*.f64 (neg.f64 y) z)) |
(+.f64 0 (*.f64 z (-.f64 1 y))) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 1 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 1 y))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 1 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 1 y))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 z (-.f64 1 y)))) 1) |
(/.f64 (*.f64 z (-.f64 1 (pow.f64 y 3))) (+.f64 1 (fma.f64 y y y))) |
(/.f64 (*.f64 z (-.f64 1 (*.f64 y y))) (+.f64 y 1)) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) z) (+.f64 1 (fma.f64 y y y))) |
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) z) (+.f64 y 1)) |
(pow.f64 (*.f64 z (-.f64 1 y)) 1) |
(pow.f64 (cbrt.f64 (*.f64 z (-.f64 1 y))) 3) |
(pow.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) 1/2) |
(pow.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 z (-.f64 1 y))) 2) |
(sqrt.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2)) |
(log.f64 (pow.f64 (exp.f64 z) (-.f64 1 y))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y))))) |
(cbrt.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 z (-.f64 1 y)))) |
(exp.f64 (log.f64 (*.f64 z (-.f64 1 y)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 z (-.f64 1 y))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 z (-.f64 1 y))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 z (-.f64 1 y)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 z (-.f64 1 y)))) 1/3)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 z (-.f64 1 y))) 3) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 z (-.f64 1 y)))) 2)) |
(exp.f64 (+.f64 (log.f64 z) (*.f64 (log1p.f64 (neg.f64 y)) 1))) |
(exp.f64 (+.f64 (*.f64 (log.f64 z) 1) (log1p.f64 (neg.f64 y)))) |
(exp.f64 (+.f64 (*.f64 (log.f64 z) 1) (*.f64 (log1p.f64 (neg.f64 y)) 1))) |
(exp.f64 (+.f64 (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 z) 1))) |
(exp.f64 (+.f64 (*.f64 (log1p.f64 (neg.f64 y)) 1) (log.f64 z))) |
(exp.f64 (+.f64 (*.f64 (log1p.f64 (neg.f64 y)) 1) (*.f64 (log.f64 z) 1))) |
(log1p.f64 (expm1.f64 (*.f64 z (-.f64 1 y)))) |
(fma.f64 z 1 (*.f64 z (neg.f64 y))) |
(fma.f64 z 1 (*.f64 (neg.f64 y) z)) |
(fma.f64 1 z (*.f64 z (neg.f64 y))) |
(fma.f64 1 z (*.f64 (neg.f64 y) z)) |
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 z (neg.f64 y))) |
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 (neg.f64 y) z)) |
(fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 z (neg.f64 y))) |
(fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 (neg.f64 y) z)) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 z (neg.f64 y))) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (neg.f64 y) z)) |
| Outputs |
|---|
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
z |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y (+.f64 (*.f64 -1 z) x)) |
(*.f64 y (fma.f64 -1 z x)) |
(*.f64 y (-.f64 x z)) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) |
(*.f64 y (fma.f64 -1 z x)) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) z) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) z) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) z) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
z |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 z y)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 1) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))) (/.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 y x) (*.f64 z (-.f64 1 y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (fma.f64 y x (*.f64 z (neg.f64 (-.f64 1 y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (-.f64 (*.f64 y x) (-.f64 z (*.f64 z y)))) |
(*.f64 1 (fma.f64 z (-.f64 1 y) (*.f64 x y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 1) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2) (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (*.f64 x (neg.f64 y))) (pow.f64 (*.f64 y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (-.f64 z (*.f64 z y)) 3)) (fma.f64 (-.f64 z (*.f64 z y)) (-.f64 (-.f64 z (*.f64 z y)) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 y x) (*.f64 z (-.f64 1 y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (fma.f64 y x (*.f64 z (neg.f64 (-.f64 1 y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (-.f64 (*.f64 y x) (-.f64 z (*.f64 z y)))) |
(/.f64 1 (/.f64 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (*.f64 x (neg.f64 y))) (pow.f64 (*.f64 y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (-.f64 z (*.f64 z y)) 3)) (fma.f64 (-.f64 z (*.f64 z y)) (-.f64 (-.f64 z (*.f64 z y)) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 y x) (*.f64 z (-.f64 1 y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (fma.f64 y x (*.f64 z (neg.f64 (-.f64 1 y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (-.f64 (*.f64 y x) (-.f64 z (*.f64 z y)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (*.f64 x (neg.f64 y))) (pow.f64 (*.f64 y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (-.f64 z (*.f64 z y)) 3)) (fma.f64 (-.f64 z (*.f64 z y)) (-.f64 (-.f64 z (*.f64 z y)) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (+.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (*.f64 x (neg.f64 y))) (pow.f64 (*.f64 y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (-.f64 z (*.f64 z y)) 3)) (fma.f64 (-.f64 z (*.f64 z y)) (-.f64 (-.f64 z (*.f64 z y)) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 y x) (*.f64 z (-.f64 1 y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (fma.f64 y x (*.f64 z (neg.f64 (-.f64 1 y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (-.f64 (*.f64 y x) (-.f64 z (*.f64 z y)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3))) (neg.f64 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (*.f64 x (neg.f64 y))) (pow.f64 (*.f64 y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (-.f64 z (*.f64 z y)) 3)) (fma.f64 (-.f64 z (*.f64 z y)) (-.f64 (-.f64 z (*.f64 z y)) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2))) (neg.f64 (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 y x) (*.f64 z (-.f64 1 y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (fma.f64 y x (*.f64 z (neg.f64 (-.f64 1 y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (-.f64 (*.f64 y x) (-.f64 z (*.f64 z y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (pow.f64 (*.f64 x y) 2)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 y x) (*.f64 z (-.f64 1 y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (fma.f64 y x (*.f64 z (neg.f64 (-.f64 1 y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (-.f64 (*.f64 y x) (-.f64 z (*.f64 z y)))) |
(pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 1) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 3) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 2) 1/2) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 3) 1/3) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (/.f64 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (neg.f64 (*.f64 x y))) (pow.f64 (*.f64 x y) 2)) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3))) -1) |
(*.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (-.f64 1 y)) (fma.f64 z (-.f64 1 y) (*.f64 x (neg.f64 y))) (pow.f64 (*.f64 y x) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (-.f64 z (*.f64 z y)) 3)) (fma.f64 (-.f64 z (*.f64 z y)) (-.f64 (-.f64 z (*.f64 z y)) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(pow.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2))) -1) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 y x) (*.f64 z (-.f64 1 y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (fma.f64 y x (*.f64 z (neg.f64 (-.f64 1 y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (-.f64 (*.f64 y x) (-.f64 z (*.f64 z y)))) |
(sqrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 2)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (pow.f64 (exp.f64 z) (-.f64 1 y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (pow.f64 (exp.f64 z) (-.f64 1 y)) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))) (pow.f64 (exp.f64 x) y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))) (+.f64 1 (expm1.f64 (*.f64 x y))))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(cbrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 3)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(expm1.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 1)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 1) 1)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 3)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 1/3)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 2)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log1p.f64 (expm1.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 x y (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 y x (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (*.f64 x y) 1 (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 z (-.f64 1 y) (*.f64 x y)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 1 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 1 (*.f64 z (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (-.f64 1 y) z (*.f64 x y)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (*.f64 z (-.f64 1 y)) 1 (*.f64 x y)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) (*.f64 (cbrt.f64 (-.f64 1 y)) z) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) (*.f64 z (cbrt.f64 (-.f64 1 y))) (*.f64 y x)) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (cbrt.f64 (pow.f64 (*.f64 x y) 2)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 y x)) (cbrt.f64 (pow.f64 (*.f64 y x) 2)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 y x)) (cbrt.f64 (pow.f64 (*.f64 y x) 2)) (-.f64 z (*.f64 z y))) |
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x y) 2)) (cbrt.f64 (*.f64 x y)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 y x)) (cbrt.f64 (pow.f64 (*.f64 y x) 2)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 y x)) (cbrt.f64 (pow.f64 (*.f64 y x) 2)) (-.f64 z (*.f64 z y))) |
(fma.f64 (cbrt.f64 (*.f64 z (-.f64 1 y))) (pow.f64 (cbrt.f64 (*.f64 z (-.f64 1 y))) 2) (*.f64 x y)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (-.f64 1 y))) 2) (cbrt.f64 (*.f64 z (-.f64 1 y))) (*.f64 x y)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (-.f64 1 y) (cbrt.f64 z)) (*.f64 y x)) |
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) y) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 y (cbrt.f64 x)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 y (cbrt.f64 x)) (-.f64 z (*.f64 z y))) |
(fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 x (cbrt.f64 y)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 x (cbrt.f64 y)) (-.f64 z (*.f64 z y))) |
(fma.f64 (sqrt.f64 (-.f64 1 y)) (*.f64 (sqrt.f64 (-.f64 1 y)) z) (*.f64 x y)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (sqrt.f64 (*.f64 z (-.f64 1 y))) (sqrt.f64 (*.f64 z (-.f64 1 y))) (*.f64 x y)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 x (cbrt.f64 y)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 x (cbrt.f64 y)) (-.f64 z (*.f64 z y))) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (*.f64 y (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 y (cbrt.f64 x)) (*.f64 z (-.f64 1 y))) |
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 y (cbrt.f64 x)) (-.f64 z (*.f64 z y))) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (*.f64 z (cbrt.f64 (pow.f64 (-.f64 1 y) 2))) (cbrt.f64 (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (pow.f64 (-.f64 1 y) 2)) (*.f64 z (cbrt.f64 (-.f64 1 y))) (*.f64 y x)) |
(fma.f64 (*.f64 z (sqrt.f64 (-.f64 1 y))) (sqrt.f64 (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (*.f64 (-.f64 1 y) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (-.f64 1 y) (cbrt.f64 z)) (*.f64 y x)) |
(fma.f64 (*.f64 (-.f64 1 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x y)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 z (*.f64 z (neg.f64 y))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 z (*.f64 (neg.f64 y) z)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 0 (*.f64 z (-.f64 1 y))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 1 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 1 y))))) |
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 1 y))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 1 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 1 y))))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 z (-.f64 1 y)))) 1) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(/.f64 (*.f64 z (-.f64 1 (pow.f64 y 3))) (+.f64 1 (fma.f64 y y y))) |
(/.f64 (-.f64 1 (pow.f64 y 3)) (/.f64 (+.f64 1 (fma.f64 y y y)) z)) |
(*.f64 (/.f64 z (+.f64 1 (fma.f64 y y y))) (-.f64 1 (pow.f64 y 3))) |
(/.f64 (*.f64 z (-.f64 1 (*.f64 y y))) (+.f64 y 1)) |
(/.f64 z (/.f64 (+.f64 1 y) (-.f64 1 (*.f64 y y)))) |
(*.f64 (/.f64 z (+.f64 1 y)) (-.f64 1 (*.f64 y y))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) z) (+.f64 1 (fma.f64 y y y))) |
(/.f64 (-.f64 1 (pow.f64 y 3)) (/.f64 (+.f64 1 (fma.f64 y y y)) z)) |
(*.f64 (/.f64 z (+.f64 1 (fma.f64 y y y))) (-.f64 1 (pow.f64 y 3))) |
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) z) (+.f64 y 1)) |
(/.f64 z (/.f64 (+.f64 1 y) (-.f64 1 (*.f64 y y)))) |
(*.f64 (/.f64 z (+.f64 1 y)) (-.f64 1 (*.f64 y y))) |
(pow.f64 (*.f64 z (-.f64 1 y)) 1) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(pow.f64 (cbrt.f64 (*.f64 z (-.f64 1 y))) 3) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(pow.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) 1/2) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(pow.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 3) 1/3) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(pow.f64 (sqrt.f64 (*.f64 z (-.f64 1 y))) 2) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(sqrt.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(log.f64 (pow.f64 (exp.f64 z) (-.f64 1 y))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y))))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(cbrt.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 3)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(expm1.f64 (log1p.f64 (*.f64 z (-.f64 1 y)))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(exp.f64 (log.f64 (*.f64 z (-.f64 1 y)))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(exp.f64 (*.f64 (log.f64 (*.f64 z (-.f64 1 y))) 1)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 z (-.f64 1 y))) 1) 1)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 z (-.f64 1 y)))) 3)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 z (-.f64 1 y)))) 1/3)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 z (-.f64 1 y))) 3) 1/3)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 z (-.f64 1 y)))) 2)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(exp.f64 (+.f64 (log.f64 z) (*.f64 (log1p.f64 (neg.f64 y)) 1))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(exp.f64 (+.f64 (*.f64 (log.f64 z) 1) (log1p.f64 (neg.f64 y)))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(exp.f64 (+.f64 (*.f64 (log.f64 z) 1) (*.f64 (log1p.f64 (neg.f64 y)) 1))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(exp.f64 (+.f64 (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 z) 1))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(exp.f64 (+.f64 (*.f64 (log1p.f64 (neg.f64 y)) 1) (log.f64 z))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(exp.f64 (+.f64 (*.f64 (log1p.f64 (neg.f64 y)) 1) (*.f64 (log.f64 z) 1))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(log1p.f64 (expm1.f64 (*.f64 z (-.f64 1 y)))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z 1 (*.f64 z (neg.f64 y))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z 1 (*.f64 (neg.f64 y) z)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 1 z (*.f64 z (neg.f64 y))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 1 z (*.f64 (neg.f64 y) z)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 z (neg.f64 y))) |
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (neg.f64 (*.f64 z y))) |
(-.f64 (*.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z)) (*.f64 z y)) |
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 (neg.f64 y) z)) |
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (neg.f64 (*.f64 z y))) |
(-.f64 (*.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z)) (*.f64 z y)) |
(fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 z (neg.f64 y))) |
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (neg.f64 (*.f64 z y))) |
(-.f64 (*.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z)) (*.f64 z y)) |
(fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 (neg.f64 y) z)) |
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (neg.f64 (*.f64 z y))) |
(-.f64 (*.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z)) (*.f64 z y)) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 z (neg.f64 y))) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (neg.f64 y) z)) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
Found 2 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| 100.0% | (*.f64 z (-.f64 1 y)) | |
| ✓ | 97.7% | (fma.f64 x y (*.f64 z (-.f64 1 y))) |
Compiled 24 to 14 computations (41.7% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (fma.f64 x y (*.f64 z (-.f64 1 y))) |
| 0.0ms | x | @ | -inf | (fma.f64 x y (*.f64 z (-.f64 1 y))) |
| 0.0ms | y | @ | -inf | (fma.f64 x y (*.f64 z (-.f64 1 y))) |
| 0.0ms | y | @ | inf | (fma.f64 x y (*.f64 z (-.f64 1 y))) |
| 0.0ms | x | @ | inf | (fma.f64 x y (*.f64 z (-.f64 1 y))) |
| 1× | batch-egg-rewrite |
| 932× | log-prod |
| 738× | exp-prod |
| 678× | prod-exp |
| 624× | pow-prod-down |
| 616× | prod-diff |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 21 |
| 1 | 201 | 21 |
| 2 | 2462 | 21 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 x y (*.f64 z (-.f64 1 y))) |
| Outputs |
|---|
(+.f64 (*.f64 z (-.f64 1 y)) (*.f64 x y)) |
(+.f64 0 (fma.f64 z (-.f64 1 y) (*.f64 x y))) |
(+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 (*.f64 x y) 1) (*.f64 z (-.f64 1 y))) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))))) |
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))))) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 1) |
(*.f64 1 (fma.f64 z (-.f64 1 y) (*.f64 x y))) |
(*.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 1) |
(*.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2) (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(*.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (*.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))) |
(pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 1) |
(pow.f64 (E.f64) (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 3) |
(pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 2) 1/2) |
(pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 2)) (cbrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) (sqrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) |
(sqrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 2)) |
(log.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))) (pow.f64 (exp.f64 x) y))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))))) |
(cbrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(exp.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 2)) |
(log1p.f64 (expm1.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
| 1× | egg-herbie |
| 1012× | times-frac |
| 830× | fma-def |
| 470× | distribute-lft-in |
| 432× | distribute-rgt-in |
| 428× | associate-/l* |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 114 | 1702 |
| 1 | 277 | 1654 |
| 2 | 918 | 1272 |
| 3 | 3763 | 1224 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
z |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(*.f64 y (+.f64 (*.f64 -1 z) x)) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) z) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) z) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 z (-.f64 1 y)) (*.f64 x y)) |
(+.f64 0 (fma.f64 z (-.f64 1 y) (*.f64 x y))) |
(+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 (*.f64 x y) 1) (*.f64 z (-.f64 1 y))) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))))) |
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))))) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 1) |
(*.f64 1 (fma.f64 z (-.f64 1 y) (*.f64 x y))) |
(*.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 1) |
(*.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2) (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(*.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (*.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))) |
(pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 1) |
(pow.f64 (E.f64) (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 3) |
(pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 2) 1/2) |
(pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 2)) (cbrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) (sqrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) |
(sqrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 2)) |
(log.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))) (pow.f64 (exp.f64 x) y))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))))) |
(cbrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(exp.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 2)) |
(log1p.f64 (expm1.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
| Outputs |
|---|
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
z |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y (+.f64 (*.f64 -1 z) x)) |
(*.f64 y (fma.f64 -1 z x)) |
(*.f64 y (-.f64 x z)) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 z (*.f64 y (+.f64 (*.f64 -1 z) x))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) |
(*.f64 y (fma.f64 -1 z x)) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) z) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) z) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) z))) z) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 z (-.f64 1 y)) (*.f64 x y)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 0 (fma.f64 z (-.f64 1 y) (*.f64 x y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 (*.f64 x y) 1) (*.f64 z (-.f64 1 y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))))) |
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 y x)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 y x)))))) |
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 y x)))))) |
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y (-.f64 x z) z)))) 3) |
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 1) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 1 (fma.f64 z (-.f64 1 y) (*.f64 x y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 1) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2) (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (*.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (*.f64 (*.f64 (*.f64 y x) z) (-.f64 1 y))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 z (-.f64 1 y)) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 z (-.f64 1 y)) (-.f64 (*.f64 z (-.f64 1 y)) (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (-.f64 z (*.f64 z y)) 3)) (fma.f64 (-.f64 z (*.f64 z y)) (-.f64 (-.f64 z (*.f64 z y)) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (-.f64 z (*.f64 z y)) 3)) (fma.f64 (-.f64 z (*.f64 z y)) (+.f64 z (*.f64 y (-.f64 (neg.f64 z) x))) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 x y) (*.f64 z (-.f64 1 y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 z (-.f64 1 y)) 2)) (-.f64 (*.f64 y x) (*.f64 z (-.f64 1 y)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (-.f64 z (*.f64 z y)) 2)) (-.f64 (*.f64 y x) (-.f64 z (*.f64 z y)))) |
(/.f64 (fma.f64 y (-.f64 x z) z) 1) |
(pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 1) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (E.f64) (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 3) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 2) 1/2) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 3) 1/3) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 2) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 2)) (cbrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 y x)))) 2)) (cbrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 y x))))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z))) 2)) (cbrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z)))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) (sqrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 y x))))) (sqrt.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 y x))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z)))) (sqrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z)))) |
(sqrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 2)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))) (pow.f64 (exp.f64 x) y))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 (*.f64 z (-.f64 1 y)))))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(cbrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)) 3)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(expm1.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 1)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y))) 1) 1)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 3)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 1/3)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) 2)) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
(log1p.f64 (expm1.f64 (fma.f64 z (-.f64 1 y) (*.f64 x y)))) |
(fma.f64 z (-.f64 1 y) (*.f64 y x)) |
(fma.f64 y (-.f64 x z) z) |
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 y (-.f64 x z) z) |
Compiled 16 to 6 computations (62.5% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | -inf | (fma.f64 y (-.f64 x z) z) |
| 0.0ms | y | @ | 0 | (fma.f64 y (-.f64 x z) z) |
| 0.0ms | x | @ | -inf | (fma.f64 y (-.f64 x z) z) |
| 0.0ms | x | @ | 0 | (fma.f64 y (-.f64 x z) z) |
| 0.0ms | z | @ | 0 | (fma.f64 y (-.f64 x z) z) |
| 1× | batch-egg-rewrite |
| 1848× | pow1 |
| 1702× | add-exp-log |
| 1702× | log1p-expm1-u |
| 1702× | expm1-log1p-u |
| 1666× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 169 | 15 |
| 2 | 2252 | 15 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 y (-.f64 x z) z) |
| Outputs |
|---|
(+.f64 z (*.f64 y (-.f64 x z))) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(+.f64 (*.f64 (*.f64 y (-.f64 x z)) 1) z) |
(-.f64 (+.f64 1 (fma.f64 y (-.f64 x z) z)) 1) |
(*.f64 (fma.f64 y (-.f64 x z) z) 1) |
(*.f64 1 (fma.f64 y (-.f64 x z) z)) |
(*.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 2) (cbrt.f64 (fma.f64 y (-.f64 x z) z))) |
(*.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z)) (sqrt.f64 (fma.f64 y (-.f64 x z) z))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (+.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (-.f64 (*.f64 z z) (*.f64 (*.f64 y (-.f64 x z)) z)))) |
(/.f64 (-.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 z z)) (-.f64 (*.f64 y (-.f64 x z)) z)) |
(pow.f64 (fma.f64 y (-.f64 x z) z) 1) |
(pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 3) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z)) 2) |
(sqrt.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 2)) |
(log.f64 (exp.f64 (fma.f64 y (-.f64 x z) z))) |
(cbrt.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 y (-.f64 x z) z))) |
(exp.f64 (log.f64 (fma.f64 y (-.f64 x z) z))) |
(log1p.f64 (expm1.f64 (fma.f64 y (-.f64 x z) z))) |
| 1× | egg-herbie |
| 986× | times-frac |
| 746× | associate-*r* |
| 744× | associate-+r+ |
| 686× | associate-+l+ |
| 674× | associate-*l* |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 72 | 891 |
| 1 | 186 | 885 |
| 2 | 667 | 873 |
| 3 | 3912 | 873 |
| 1× | node limit |
| Inputs |
|---|
z |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 y z)) z)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 y z)) z)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 y z)) z)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(*.f64 (+.f64 1 (*.f64 -1 y)) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z (-.f64 y 1)))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z (-.f64 y 1)))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z (-.f64 y 1)))) |
(+.f64 z (*.f64 y (-.f64 x z))) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(+.f64 (*.f64 (*.f64 y (-.f64 x z)) 1) z) |
(-.f64 (+.f64 1 (fma.f64 y (-.f64 x z) z)) 1) |
(*.f64 (fma.f64 y (-.f64 x z) z) 1) |
(*.f64 1 (fma.f64 y (-.f64 x z) z)) |
(*.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 2) (cbrt.f64 (fma.f64 y (-.f64 x z) z))) |
(*.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z)) (sqrt.f64 (fma.f64 y (-.f64 x z) z))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (+.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (-.f64 (*.f64 z z) (*.f64 (*.f64 y (-.f64 x z)) z)))) |
(/.f64 (-.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 z z)) (-.f64 (*.f64 y (-.f64 x z)) z)) |
(pow.f64 (fma.f64 y (-.f64 x z) z) 1) |
(pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 3) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z)) 2) |
(sqrt.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 2)) |
(log.f64 (exp.f64 (fma.f64 y (-.f64 x z) z))) |
(cbrt.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 y (-.f64 x z) z))) |
(exp.f64 (log.f64 (fma.f64 y (-.f64 x z) z))) |
(log1p.f64 (expm1.f64 (fma.f64 y (-.f64 x z) z))) |
| Outputs |
|---|
z |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(fma.f64 -1 (*.f64 z y) z) |
(fma.f64 (neg.f64 y) z z) |
(fma.f64 z (neg.f64 y) z) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 y z)) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 y z)) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 y z)) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (+.f64 1 (*.f64 -1 y)) z) |
(fma.f64 -1 (*.f64 z y) z) |
(fma.f64 (neg.f64 y) z z) |
(fma.f64 z (neg.f64 y) z) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(fma.f64 -1 (*.f64 z y) z) |
(fma.f64 (neg.f64 y) z z) |
(fma.f64 z (neg.f64 y) z) |
(-.f64 z (*.f64 z y)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z (-.f64 y 1)))) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z (-.f64 y 1)))) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z (-.f64 y 1)))) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 z (*.f64 y (-.f64 x z))) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 (*.f64 y (-.f64 x z)) 1) z) |
(fma.f64 y (-.f64 x z) z) |
(-.f64 (+.f64 1 (fma.f64 y (-.f64 x z) z)) 1) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (fma.f64 y (-.f64 x z) z) 1) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 1 (fma.f64 y (-.f64 x z) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 2)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 2) (cbrt.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z)) (sqrt.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y (-.f64 x z) z) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (+.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (-.f64 (*.f64 z z) (*.f64 (*.f64 y (-.f64 x z)) z)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z)) (*.f64 z (-.f64 z (*.f64 y (-.f64 x z)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (*.f64 (-.f64 x z) (*.f64 y (*.f64 y (-.f64 x z)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 (*.f64 y (-.f64 x z)) (-.f64 (*.f64 y (-.f64 x z)) z)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 y (*.f64 (-.f64 x z) (-.f64 (*.f64 y (-.f64 x z)) z))))) |
(/.f64 (-.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 z z)) (-.f64 (*.f64 y (-.f64 x z)) z)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (fma.f64 y (-.f64 x z) z) 1) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 3) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 3) 1/3) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z)) 2) |
(fma.f64 y (-.f64 x z) z) |
(sqrt.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 2)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (exp.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y (-.f64 x z) z) |
(cbrt.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 3)) |
(fma.f64 y (-.f64 x z) z) |
(expm1.f64 (log1p.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (log.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y (-.f64 x z) z) |
(log1p.f64 (expm1.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y (-.f64 x z) z) |
Compiled 4320 to 2020 computations (53.2% saved)
6 alts after pruning (5 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 306 | 5 | 311 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 2 | 0 | 2 |
| Total | 308 | 6 | 314 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 y (-.f64 x z) z) |
| ▶ | 100.0% | (+.f64 (*.f64 y (-.f64 x z)) z) |
| ▶ | 62.7% | (*.f64 z (-.f64 1 y)) |
| ▶ | 65.3% | (*.f64 y (-.f64 x z)) |
| ▶ | 40.8% | (*.f64 y x) |
| 37.0% | z |
Compiled 45 to 29 computations (35.6% saved)
Compiled 9 to 5 computations (44.4% saved)
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 y (-.f64 x z)) |
Compiled 15 to 6 computations (60% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (*.f64 y (-.f64 x z)) |
| 0.0ms | x | @ | -inf | (*.f64 y (-.f64 x z)) |
| 0.0ms | y | @ | 0 | (*.f64 y (-.f64 x z)) |
| 0.0ms | y | @ | -inf | (*.f64 y (-.f64 x z)) |
| 0.0ms | x | @ | 0 | (*.f64 y (-.f64 x z)) |
| 1× | batch-egg-rewrite |
| 1646× | pow1 |
| 1520× | add-exp-log |
| 1520× | log1p-expm1-u |
| 1520× | expm1-log1p-u |
| 1488× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 149 | 13 |
| 2 | 2025 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (-.f64 x z)) |
| Outputs |
|---|
(+.f64 (*.f64 y x) (*.f64 y (neg.f64 z))) |
(+.f64 (*.f64 x y) (*.f64 (neg.f64 z) y)) |
(-.f64 (+.f64 1 (*.f64 y (-.f64 x z))) 1) |
(/.f64 (*.f64 y (-.f64 (pow.f64 x 3) (pow.f64 z 3))) (fma.f64 x x (*.f64 z (+.f64 x z)))) |
(/.f64 (*.f64 y (-.f64 (*.f64 x x) (*.f64 z z))) (+.f64 x z)) |
(/.f64 (*.f64 (-.f64 (pow.f64 x 3) (pow.f64 z 3)) y) (fma.f64 x x (*.f64 z (+.f64 x z)))) |
(/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y) (+.f64 x z)) |
(pow.f64 (*.f64 y (-.f64 x z)) 1) |
(pow.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) 3) |
(pow.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 y (-.f64 x z))) 2) |
(sqrt.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2)) |
(log.f64 (pow.f64 (exp.f64 (-.f64 x z)) y)) |
(cbrt.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3)) |
(cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 x z) 3))) |
(cbrt.f64 (*.f64 (pow.f64 (-.f64 x z) 3) (pow.f64 y 3))) |
(expm1.f64 (log1p.f64 (*.f64 y (-.f64 x z)))) |
(exp.f64 (log.f64 (*.f64 y (-.f64 x z)))) |
(log1p.f64 (expm1.f64 (*.f64 y (-.f64 x z)))) |
| 1× | egg-herbie |
| 1376× | fma-def |
| 1306× | log-prod |
| 792× | unsub-neg |
| 750× | associate-*r* |
| 650× | associate-*l* |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 69 | 611 |
| 1 | 168 | 611 |
| 2 | 519 | 611 |
| 3 | 3087 | 611 |
| 4 | 6399 | 611 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 y (neg.f64 z))) |
(+.f64 (*.f64 x y) (*.f64 (neg.f64 z) y)) |
(-.f64 (+.f64 1 (*.f64 y (-.f64 x z))) 1) |
(/.f64 (*.f64 y (-.f64 (pow.f64 x 3) (pow.f64 z 3))) (fma.f64 x x (*.f64 z (+.f64 x z)))) |
(/.f64 (*.f64 y (-.f64 (*.f64 x x) (*.f64 z z))) (+.f64 x z)) |
(/.f64 (*.f64 (-.f64 (pow.f64 x 3) (pow.f64 z 3)) y) (fma.f64 x x (*.f64 z (+.f64 x z)))) |
(/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y) (+.f64 x z)) |
(pow.f64 (*.f64 y (-.f64 x z)) 1) |
(pow.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) 3) |
(pow.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 y (-.f64 x z))) 2) |
(sqrt.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2)) |
(log.f64 (pow.f64 (exp.f64 (-.f64 x z)) y)) |
(cbrt.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3)) |
(cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 x z) 3))) |
(cbrt.f64 (*.f64 (pow.f64 (-.f64 x z) 3) (pow.f64 y 3))) |
(expm1.f64 (log1p.f64 (*.f64 y (-.f64 x z)))) |
(exp.f64 (log.f64 (*.f64 y (-.f64 x z)))) |
(log1p.f64 (expm1.f64 (*.f64 y (-.f64 x z)))) |
| Outputs |
|---|
(*.f64 -1 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y (-.f64 x z)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y (-.f64 x z)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y (-.f64 x z)) |
(*.f64 -1 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 -1 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 y (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 x y) (*.f64 (neg.f64 z) y)) |
(*.f64 y (-.f64 x z)) |
(-.f64 (+.f64 1 (*.f64 y (-.f64 x z))) 1) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 y (-.f64 (pow.f64 x 3) (pow.f64 z 3))) (fma.f64 x x (*.f64 z (+.f64 x z)))) |
(/.f64 y (/.f64 (fma.f64 x x (*.f64 z (+.f64 z x))) (-.f64 (pow.f64 x 3) (pow.f64 z 3)))) |
(*.f64 (/.f64 y (fma.f64 x x (*.f64 z (+.f64 z x)))) (-.f64 (pow.f64 x 3) (pow.f64 z 3))) |
(*.f64 y (/.f64 (-.f64 (pow.f64 x 3) (pow.f64 z 3)) (fma.f64 z (+.f64 z x) (*.f64 x x)))) |
(/.f64 (*.f64 y (-.f64 (*.f64 x x) (*.f64 z z))) (+.f64 x z)) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 (-.f64 (pow.f64 x 3) (pow.f64 z 3)) y) (fma.f64 x x (*.f64 z (+.f64 x z)))) |
(/.f64 y (/.f64 (fma.f64 x x (*.f64 z (+.f64 z x))) (-.f64 (pow.f64 x 3) (pow.f64 z 3)))) |
(*.f64 (/.f64 y (fma.f64 x x (*.f64 z (+.f64 z x)))) (-.f64 (pow.f64 x 3) (pow.f64 z 3))) |
(*.f64 y (/.f64 (-.f64 (pow.f64 x 3) (pow.f64 z 3)) (fma.f64 z (+.f64 z x) (*.f64 x x)))) |
(/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y) (+.f64 x z)) |
(*.f64 y (-.f64 x z)) |
(pow.f64 (*.f64 y (-.f64 x z)) 1) |
(*.f64 y (-.f64 x z)) |
(pow.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) 3) |
(*.f64 y (-.f64 x z)) |
(pow.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) 1/3) |
(*.f64 y (-.f64 x z)) |
(pow.f64 (sqrt.f64 (*.f64 y (-.f64 x z))) 2) |
(*.f64 y (-.f64 x z)) |
(sqrt.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2)) |
(*.f64 y (-.f64 x z)) |
(log.f64 (pow.f64 (exp.f64 (-.f64 x z)) y)) |
(*.f64 y (-.f64 x z)) |
(cbrt.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3)) |
(*.f64 y (-.f64 x z)) |
(cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 x z) 3))) |
(*.f64 y (-.f64 x z)) |
(cbrt.f64 (*.f64 (pow.f64 (-.f64 x z) 3) (pow.f64 y 3))) |
(*.f64 y (-.f64 x z)) |
(expm1.f64 (log1p.f64 (*.f64 y (-.f64 x z)))) |
(*.f64 y (-.f64 x z)) |
(exp.f64 (log.f64 (*.f64 y (-.f64 x z)))) |
(*.f64 y (-.f64 x z)) |
(log1p.f64 (expm1.f64 (*.f64 y (-.f64 x z)))) |
(*.f64 y (-.f64 x z)) |
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| 100.0% | (*.f64 z (-.f64 1 y)) |
Compiled 15 to 10 computations (33.3% saved)
Found 2 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| 100.0% | (*.f64 y (-.f64 x z)) | |
| ✓ | 100.0% | (+.f64 (*.f64 y (-.f64 x z)) z) |
Compiled 22 to 7 computations (68.2% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | inf | (+.f64 (*.f64 y (-.f64 x z)) z) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 y (-.f64 x z)) z) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 y (-.f64 x z)) z) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 y (-.f64 x z)) z) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y (-.f64 x z)) z) |
| 1× | batch-egg-rewrite |
| 922× | log-prod |
| 808× | prod-exp |
| 788× | fma-def |
| 720× | pow-prod-down |
| 688× | exp-prod |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 180 | 15 |
| 2 | 2619 | 15 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y (-.f64 x z)) z) |
| Outputs |
|---|
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (-.f64 x z) z))) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (-.f64 (*.f64 y (-.f64 x z)) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 y (-.f64 x z)) z))) |
(*.f64 (fma.f64 y (-.f64 x z) z) 1) |
(*.f64 1 (fma.f64 y (-.f64 x z) z)) |
(*.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 2) (cbrt.f64 (fma.f64 y (-.f64 x z) z))) |
(*.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z)) (sqrt.f64 (fma.f64 y (-.f64 x z) z))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 y (-.f64 x z)) z))) |
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 y (-.f64 x z)) z) (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 (-.f64 x z) (*.f64 y z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)) (-.f64 (*.f64 y (-.f64 x z)) z)) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 y (-.f64 x z)) z))) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (-.f64 z (*.f64 y (-.f64 x z)))) |
(pow.f64 (fma.f64 y (-.f64 x z) z) 1) |
(pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 3) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 2) 1/2) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z)) 2) |
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 y (-.f64 x z) z))) |
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3))) -1) |
(pow.f64 (/.f64 (-.f64 (*.f64 y (-.f64 x z)) z) (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z))) -1) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z))) 2)) (cbrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z)))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z)))) (sqrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z)))) |
(sqrt.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 2)) |
(log.f64 (exp.f64 (fma.f64 y (-.f64 x z) z))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (-.f64 x z) z)))) |
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 x z)))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 y) (-.f64 x z)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 x z)))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 y) (-.f64 x z)) (+.f64 1 (expm1.f64 z)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 x z)))) (exp.f64 z))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 x z)))) (+.f64 1 (expm1.f64 z)))) |
(cbrt.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 y (-.f64 x z) z))) |
(exp.f64 (log.f64 (fma.f64 y (-.f64 x z) z))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 x z) z)) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 x z) z)) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 y (-.f64 x z) z))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z))) 2)) |
(log1p.f64 (expm1.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 z 1 (*.f64 y (-.f64 x z))) |
(fma.f64 (-.f64 x z) y z) |
(fma.f64 (*.f64 y (-.f64 x z)) 1 z) |
(fma.f64 1 z (*.f64 y (-.f64 x z))) |
(fma.f64 1 (*.f64 y (-.f64 x z)) z) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 y (-.f64 x z))) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 y (-.f64 x z))) |
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 x z)) 2) (*.f64 (cbrt.f64 (-.f64 x z)) y) z) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 x z)) z) |
(fma.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) (pow.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) 2) z) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) 2) (cbrt.f64 (*.f64 y (-.f64 x z))) z) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 y (-.f64 x z))) |
(fma.f64 (sqrt.f64 (-.f64 x z)) (*.f64 (sqrt.f64 (-.f64 x z)) y) z) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 x z)) z) |
(fma.f64 (sqrt.f64 (*.f64 y (-.f64 x z))) (sqrt.f64 (*.f64 y (-.f64 x z))) z) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 x z)) 2)) (cbrt.f64 (-.f64 x z)) z) |
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 x z))) (sqrt.f64 (-.f64 x z)) z) |
(fma.f64 (*.f64 (-.f64 x z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) z) |
(fma.f64 (*.f64 (-.f64 x z) (sqrt.f64 y)) (sqrt.f64 y) z) |
| 1× | egg-herbie |
| 1322× | div-sub |
| 770× | fma-neg |
| 610× | fma-def |
| 512× | distribute-lft-in |
| 498× | distribute-rgt-in |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 176 | 2680 |
| 1 | 445 | 2094 |
| 2 | 1155 | 2042 |
| 3 | 4709 | 1832 |
| 1× | node limit |
| Inputs |
|---|
z |
(*.f64 y (-.f64 x z)) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 y z)) z)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 y z)) z)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 y z)) z)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(*.f64 (+.f64 1 (*.f64 -1 y)) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z (-.f64 y 1)))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z (-.f64 y 1)))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z (-.f64 y 1)))) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (-.f64 x z) z))) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (-.f64 (*.f64 y (-.f64 x z)) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 y (-.f64 x z)) z))) |
(*.f64 (fma.f64 y (-.f64 x z) z) 1) |
(*.f64 1 (fma.f64 y (-.f64 x z) z)) |
(*.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 2) (cbrt.f64 (fma.f64 y (-.f64 x z) z))) |
(*.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z)) (sqrt.f64 (fma.f64 y (-.f64 x z) z))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 y (-.f64 x z)) z))) |
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 y (-.f64 x z)) z) (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 (-.f64 x z) (*.f64 y z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)) (-.f64 (*.f64 y (-.f64 x z)) z)) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 y (-.f64 x z)) z))) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (-.f64 z (*.f64 y (-.f64 x z)))) |
(pow.f64 (fma.f64 y (-.f64 x z) z) 1) |
(pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 3) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 2) 1/2) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z)) 2) |
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 y (-.f64 x z) z))) |
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3))) -1) |
(pow.f64 (/.f64 (-.f64 (*.f64 y (-.f64 x z)) z) (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z))) -1) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z))) 2)) (cbrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z)))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z)))) (sqrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z)))) |
(sqrt.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 2)) |
(log.f64 (exp.f64 (fma.f64 y (-.f64 x z) z))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (-.f64 x z) z)))) |
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 x z)))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 y) (-.f64 x z)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 x z)))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 y) (-.f64 x z)) (+.f64 1 (expm1.f64 z)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 x z)))) (exp.f64 z))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 x z)))) (+.f64 1 (expm1.f64 z)))) |
(cbrt.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 y (-.f64 x z) z))) |
(exp.f64 (log.f64 (fma.f64 y (-.f64 x z) z))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 x z) z)) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 x z) z)) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 y (-.f64 x z) z))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z))) 2)) |
(log1p.f64 (expm1.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 z 1 (*.f64 y (-.f64 x z))) |
(fma.f64 (-.f64 x z) y z) |
(fma.f64 (*.f64 y (-.f64 x z)) 1 z) |
(fma.f64 1 z (*.f64 y (-.f64 x z))) |
(fma.f64 1 (*.f64 y (-.f64 x z)) z) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 y (-.f64 x z))) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 y (-.f64 x z))) |
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 x z)) 2) (*.f64 (cbrt.f64 (-.f64 x z)) y) z) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 x z)) z) |
(fma.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) (pow.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) 2) z) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) 2) (cbrt.f64 (*.f64 y (-.f64 x z))) z) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 y (-.f64 x z))) |
(fma.f64 (sqrt.f64 (-.f64 x z)) (*.f64 (sqrt.f64 (-.f64 x z)) y) z) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 x z)) z) |
(fma.f64 (sqrt.f64 (*.f64 y (-.f64 x z))) (sqrt.f64 (*.f64 y (-.f64 x z))) z) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 x z)) 2)) (cbrt.f64 (-.f64 x z)) z) |
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 x z))) (sqrt.f64 (-.f64 x z)) z) |
(fma.f64 (*.f64 (-.f64 x z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) z) |
(fma.f64 (*.f64 (-.f64 x z) (sqrt.f64 y)) (sqrt.f64 y) z) |
| Outputs |
|---|
z |
(*.f64 y (-.f64 x z)) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) z) |
(fma.f64 -1 (*.f64 z y) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 y z)) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 y z)) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 y z)) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 y x) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (+.f64 1 (*.f64 -1 y)) z) |
(fma.f64 -1 (*.f64 z y) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1 y)) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 -1 (*.f64 z (-.f64 y 1))) |
(fma.f64 -1 (*.f64 z y) z) |
(*.f64 z (-.f64 1 y)) |
(-.f64 z (*.f64 z y)) |
(fma.f64 z (neg.f64 y) z) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z (-.f64 y 1)))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z (-.f64 y 1)))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z (-.f64 y 1)))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (-.f64 x z) z))) 1) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(-.f64 (/.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (-.f64 (*.f64 y (-.f64 x z)) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 y (-.f64 x z)) z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)) (-.f64 (*.f64 y (-.f64 x z)) z)) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (fma.f64 y (-.f64 z x) z)) |
(/.f64 (fma.f64 y (-.f64 x z) z) 1) |
(*.f64 (fma.f64 y (-.f64 x z) z) 1) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 1 (fma.f64 y (-.f64 x z) z)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 2)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 2) (cbrt.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z)) (sqrt.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (fma.f64 y (-.f64 z x) z) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 y (-.f64 x z)) z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)) (-.f64 (*.f64 y (-.f64 x z)) z)) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (fma.f64 y (-.f64 z x) z)) |
(/.f64 (fma.f64 y (-.f64 x z) z) 1) |
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (fma.f64 y (-.f64 z x) z) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 y (-.f64 x z)) z) (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)) (-.f64 (*.f64 y (-.f64 x z)) z)) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (fma.f64 y (-.f64 z x) z)) |
(/.f64 (fma.f64 y (-.f64 x z) z) 1) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (fma.f64 y (-.f64 z x) z) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 (-.f64 x z) (*.f64 y z))))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (fma.f64 y (-.f64 z x) z) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)) (-.f64 (*.f64 y (-.f64 x z)) z)) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (fma.f64 y (-.f64 z x) z)) |
(/.f64 (fma.f64 y (-.f64 x z) z) 1) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (fma.f64 y (-.f64 z x) z) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 y (-.f64 x z)) z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)) (-.f64 (*.f64 y (-.f64 x z)) z)) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (fma.f64 y (-.f64 z x) z)) |
(/.f64 (fma.f64 y (-.f64 x z) z) 1) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (-.f64 z (*.f64 y (-.f64 x z)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)) (-.f64 (*.f64 y (-.f64 x z)) z)) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (fma.f64 y (-.f64 z x) z)) |
(/.f64 (fma.f64 y (-.f64 x z) z) 1) |
(pow.f64 (fma.f64 y (-.f64 x z) z) 1) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z)) 3) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 2) 1/2) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 3) 1/3) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z)) 2) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3))) -1) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 x z)) 3) (pow.f64 z 3)) (fma.f64 z (fma.f64 y (-.f64 z x) z) (pow.f64 (*.f64 y (-.f64 x z)) 2))) |
(pow.f64 (/.f64 (-.f64 (*.f64 y (-.f64 x z)) z) (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z))) -1) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 x z)) 2) (*.f64 z z)) (-.f64 (*.f64 y (-.f64 x z)) z)) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y (-.f64 x z)) 2)) (fma.f64 y (-.f64 z x) z)) |
(/.f64 (fma.f64 y (-.f64 x z) z) 1) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z))) 2)) (cbrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z)))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z)))) (sqrt.f64 (log.f64 (fma.f64 y (-.f64 x z) z)))) |
(sqrt.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 2)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (exp.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (-.f64 x z) z)))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 x z)))))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 y) (-.f64 x z)))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 x z)))))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (pow.f64 (exp.f64 y) (-.f64 x z)) (+.f64 1 (expm1.f64 z)))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 x z)))) (exp.f64 z))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 x z)))) (+.f64 1 (expm1.f64 z)))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(cbrt.f64 (pow.f64 (fma.f64 y (-.f64 x z) z) 3)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(expm1.f64 (log1p.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (log.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 x z) z)) 1)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 x z) z)) 1) 1)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y (-.f64 x z) z))) 3)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 y (-.f64 x z) z))) 1/3)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y (-.f64 x z) z))) 2)) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(log1p.f64 (expm1.f64 (fma.f64 y (-.f64 x z) z))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 z 1 (*.f64 y (-.f64 x z))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (-.f64 x z) y z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (*.f64 y (-.f64 x z)) 1 z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 1 z (*.f64 y (-.f64 x z))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 1 (*.f64 y (-.f64 x z)) z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 y (-.f64 x z))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 y (-.f64 x z))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 x z)) 2) (*.f64 (cbrt.f64 (-.f64 x z)) y) z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 x z)) z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) (pow.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) 2) z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (-.f64 x z))) 2) (cbrt.f64 (*.f64 y (-.f64 x z))) z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 y (-.f64 x z))) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (sqrt.f64 (-.f64 x z)) (*.f64 (sqrt.f64 (-.f64 x z)) y) z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 x z)) z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (sqrt.f64 (*.f64 y (-.f64 x z))) (sqrt.f64 (*.f64 y (-.f64 x z))) z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 x z)) 2)) (cbrt.f64 (-.f64 x z)) z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 x z))) (sqrt.f64 (-.f64 x z)) z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (*.f64 (-.f64 x z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 (*.f64 (-.f64 x z) (sqrt.f64 y)) (sqrt.f64 y) z) |
(fma.f64 y x (fma.f64 -1 (*.f64 z y) z)) |
(fma.f64 y (-.f64 x z) z) |
Compiled 2188 to 822 computations (62.4% saved)
7 alts after pruning (3 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 192 | 2 | 194 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 4 | 4 |
| Total | 193 | 7 | 200 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 y (-.f64 x z) z) |
| ▶ | 75.5% | (+.f64 (*.f64 y x) z) |
| ✓ | 62.7% | (*.f64 z (-.f64 1 y)) |
| ✓ | 65.3% | (*.f64 y (-.f64 x z)) |
| ▶ | 28.6% | (*.f64 y (neg.f64 z)) |
| ✓ | 40.8% | (*.f64 y x) |
| 37.0% | z |
Compiled 50 to 33 computations (34% saved)
Compiled 12 to 6 computations (50% saved)
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 (*.f64 y x) z) |
Compiled 15 to 6 computations (60% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y x) z) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 y x) z) |
| 0.0ms | z | @ | 0 | (+.f64 (*.f64 y x) z) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 y x) z) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 y x) z) |
| 1× | batch-egg-rewrite |
| 1628× | pow1 |
| 1502× | add-exp-log |
| 1502× | log1p-expm1-u |
| 1502× | expm1-log1p-u |
| 1472× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 9 |
| 1 | 150 | 9 |
| 2 | 2040 | 9 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y x) z) |
| Outputs |
|---|
(-.f64 (+.f64 1 (fma.f64 y x z)) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (fma.f64 y x (neg.f64 z))) (/.f64 (*.f64 z z) (fma.f64 y x (neg.f64 z)))) |
(*.f64 (fma.f64 y x z) 1) |
(*.f64 1 (fma.f64 y x z)) |
(*.f64 (cbrt.f64 (fma.f64 y x z)) (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2) (cbrt.f64 (fma.f64 y x z))) |
(*.f64 (sqrt.f64 (fma.f64 y x z)) (sqrt.f64 (fma.f64 y x z))) |
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (/.f64 1 (fma.f64 y x (neg.f64 z)))) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)))) |
(/.f64 1 (/.f64 (fma.f64 y x (neg.f64 z)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 z z) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (*.f64 y z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (fma.f64 y x (neg.f64 z))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z))) (neg.f64 (fma.f64 y x (neg.f64 z)))) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2)) (-.f64 z (*.f64 y x))) |
(pow.f64 (fma.f64 y x z) 1) |
(pow.f64 (cbrt.f64 (fma.f64 y x z)) 3) |
(pow.f64 (pow.f64 (fma.f64 y x z) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 y x z)) 2) |
(sqrt.f64 (pow.f64 (fma.f64 y x z) 2)) |
(log.f64 (exp.f64 (fma.f64 y x z))) |
(cbrt.f64 (pow.f64 (fma.f64 y x z) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 y x z))) |
(exp.f64 (log.f64 (fma.f64 y x z))) |
(log1p.f64 (expm1.f64 (fma.f64 y x z))) |
(fma.f64 y x z) |
(fma.f64 x y z) |
(fma.f64 1 (*.f64 y x) z) |
(fma.f64 1 z (*.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) z) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 y x)) |
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) z) |
| 1× | egg-herbie |
| 1364× | fma-neg |
| 946× | associate-*r* |
| 916× | associate-*l* |
| 694× | div-sub |
| 640× | distribute-lft-neg-in |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 89 | 1034 |
| 1 | 217 | 804 |
| 2 | 706 | 624 |
| 3 | 4431 | 624 |
| 1× | node limit |
| Inputs |
|---|
z |
(*.f64 y x) |
(*.f64 y x) |
z |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 y x) |
z |
z |
(-.f64 (+.f64 1 (fma.f64 y x z)) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (fma.f64 y x (neg.f64 z))) (/.f64 (*.f64 z z) (fma.f64 y x (neg.f64 z)))) |
(*.f64 (fma.f64 y x z) 1) |
(*.f64 1 (fma.f64 y x z)) |
(*.f64 (cbrt.f64 (fma.f64 y x z)) (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2) (cbrt.f64 (fma.f64 y x z))) |
(*.f64 (sqrt.f64 (fma.f64 y x z)) (sqrt.f64 (fma.f64 y x z))) |
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (/.f64 1 (fma.f64 y x (neg.f64 z)))) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)))) |
(/.f64 1 (/.f64 (fma.f64 y x (neg.f64 z)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 z z) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (*.f64 y z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (fma.f64 y x (neg.f64 z))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z))) (neg.f64 (fma.f64 y x (neg.f64 z)))) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2)) (-.f64 z (*.f64 y x))) |
(pow.f64 (fma.f64 y x z) 1) |
(pow.f64 (cbrt.f64 (fma.f64 y x z)) 3) |
(pow.f64 (pow.f64 (fma.f64 y x z) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 y x z)) 2) |
(sqrt.f64 (pow.f64 (fma.f64 y x z) 2)) |
(log.f64 (exp.f64 (fma.f64 y x z))) |
(cbrt.f64 (pow.f64 (fma.f64 y x z) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 y x z))) |
(exp.f64 (log.f64 (fma.f64 y x z))) |
(log1p.f64 (expm1.f64 (fma.f64 y x z))) |
(fma.f64 y x z) |
(fma.f64 x y z) |
(fma.f64 1 (*.f64 y x) z) |
(fma.f64 1 z (*.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) z) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 y x)) |
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) z) |
| Outputs |
|---|
z |
(*.f64 y x) |
(*.f64 y x) |
z |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 y x) |
z |
z |
(-.f64 (+.f64 1 (fma.f64 y x z)) 1) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (fma.f64 y x (neg.f64 z))) (/.f64 (*.f64 z z) (fma.f64 y x (neg.f64 z)))) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(*.f64 (fma.f64 y x z) 1) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(*.f64 1 (fma.f64 y x z)) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(*.f64 (cbrt.f64 (fma.f64 y x z)) (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2)) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2) (cbrt.f64 (fma.f64 y x z))) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(*.f64 (sqrt.f64 (fma.f64 y x z)) (sqrt.f64 (fma.f64 y x z))) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) 1) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) z) (*.f64 z z))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z))))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (/.f64 1 (fma.f64 y x (neg.f64 z)))) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) 1) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) z) (*.f64 z z))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z))))) |
(/.f64 1 (/.f64 (fma.f64 y x (neg.f64 z)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)))) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) 1) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) z) (*.f64 z z))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z))))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 z z) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (*.f64 y z))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) 1) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) z) (*.f64 z z))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (fma.f64 y x (neg.f64 z))) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) 1) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) z) (*.f64 z z))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z))) (neg.f64 (fma.f64 y x (neg.f64 z)))) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2)) (-.f64 z (*.f64 y x))) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(pow.f64 (fma.f64 y x z) 1) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(pow.f64 (cbrt.f64 (fma.f64 y x z)) 3) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(pow.f64 (pow.f64 (fma.f64 y x z) 3) 1/3) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(pow.f64 (sqrt.f64 (fma.f64 y x z)) 2) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(sqrt.f64 (pow.f64 (fma.f64 y x z) 2)) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(log.f64 (exp.f64 (fma.f64 y x z))) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(cbrt.f64 (pow.f64 (fma.f64 y x z) 3)) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(expm1.f64 (log1p.f64 (fma.f64 y x z))) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(exp.f64 (log.f64 (fma.f64 y x z))) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(log1p.f64 (expm1.f64 (fma.f64 y x z))) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(fma.f64 y x z) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 x y z) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(fma.f64 1 (*.f64 y x) z) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(fma.f64 1 z (*.f64 y x)) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 y x)) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) z) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 y x)) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) z) |
(+.f64 1 (-.f64 (fma.f64 y x z) 1)) |
(+.f64 (fma.f64 y x z) 0) |
(fma.f64 y x z) |
Compiled 520 to 196 computations (62.3% saved)
7 alts after pruning (2 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 42 | 1 | 43 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 4 | 5 |
| Total | 43 | 7 | 50 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 75.5% | (fma.f64 y x z) |
| ✓ | 75.5% | (+.f64 (*.f64 y x) z) |
| ✓ | 62.7% | (*.f64 z (-.f64 1 y)) |
| ✓ | 65.3% | (*.f64 y (-.f64 x z)) |
| ✓ | 28.6% | (*.f64 y (neg.f64 z)) |
| ✓ | 40.8% | (*.f64 y x) |
| 37.0% | z |
Compiled 48 to 32 computations (33.3% saved)
Compiled 11 to 5 computations (54.5% saved)
Compiled 3 to 3 computations (0% saved)
7 alts after pruning (1 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 0 | 7 | 7 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 75.5% | (fma.f64 y x z) |
| ✓ | 75.5% | (+.f64 (*.f64 y x) z) |
| ✓ | 62.7% | (*.f64 z (-.f64 1 y)) |
| ✓ | 65.3% | (*.f64 y (-.f64 x z)) |
| ✓ | 28.6% | (*.f64 y (neg.f64 z)) |
| ✓ | 40.8% | (*.f64 y x) |
| 37.0% | z |
Compiled 48 to 32 computations (33.3% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(*.f64 y (neg.f64 z)) |
(*.f64 y (-.f64 x z)) |
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
(fma.f64 y x z) |
(fma.f64 y (-.f64 x z) z) |
(fma.f64 x y (*.f64 z (-.f64 1 y))) |
| Outputs |
|---|
(fma.f64 y (-.f64 x z) z) |
4 calls:
| 48.0ms | x |
| 8.0ms | z |
| 7.0ms | y |
| 6.0ms | (+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
| 100.0% | 1 | (+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
Compiled 84 to 41 computations (51.2% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(*.f64 y (neg.f64 z)) |
(*.f64 y (-.f64 x z)) |
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
(fma.f64 y x z) |
| Outputs |
|---|
(+.f64 (*.f64 y (-.f64 x z)) z) |
4 calls:
| 6.0ms | x |
| 6.0ms | z |
| 6.0ms | y |
| 5.0ms | (+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
| 100.0% | 1 | (+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
Compiled 70 to 36 computations (48.6% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(*.f64 y (neg.f64 z)) |
(*.f64 y (-.f64 x z)) |
(*.f64 z (-.f64 1 y)) |
(+.f64 (*.f64 y x) z) |
| Outputs |
|---|
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) z) |
(*.f64 y (-.f64 x z)) |
3 calls:
| 31.0ms | z |
| 18.0ms | x |
| 14.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 90.8% | 3 | x |
| 99.6% | 3 | y |
| 90.3% | 7 | z |
Compiled 38 to 21 computations (44.7% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 4.055579449520771e-25 | 2.6973783211042002e-8 |
| 36.0ms | -30817958392.02595 | -256290433.11314493 |
| 50.0ms | 270× | body | 256 | valid |
| 0.0ms | 2× | body | 256 | infinite |
Compiled 324 to 217 computations (33% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(*.f64 y (neg.f64 z)) |
(*.f64 y (-.f64 x z)) |
(*.f64 z (-.f64 1 y)) |
| Outputs |
|---|
(*.f64 y (-.f64 x z)) |
(*.f64 z (-.f64 1 y)) |
(*.f64 y (-.f64 x z)) |
3 calls:
| 42.0ms | z |
| 20.0ms | x |
| 16.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 83.7% | 5 | x |
| 87.4% | 3 | y |
| 80.6% | 3 | z |
Compiled 33 to 20 computations (39.4% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 8.0ms | 4.3177979999061173e-35 | 1.6804880870413952e-34 |
| 16.0ms | -6.111826938010458e-82 | -1.1610107130877445e-90 |
| 21.0ms | 224× | body | 256 | valid |
Compiled 270 to 195 computations (27.8% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(*.f64 y (neg.f64 z)) |
(*.f64 y (-.f64 x z)) |
| Outputs |
|---|
(*.f64 y (-.f64 x z)) |
z |
(*.f64 y (-.f64 x z)) |
3 calls:
| 45.0ms | z |
| 43.0ms | y |
| 24.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 72.5% | 7 | x |
| 87.4% | 3 | y |
| 69.8% | 4 | z |
Compiled 28 to 17 computations (39.3% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 8.0ms | 4.3177979999061173e-35 | 1.6804880870413952e-34 |
| 15.0ms | -6.111826938010458e-82 | -1.1610107130877445e-90 |
| 21.0ms | 224× | body | 256 | valid |
Compiled 214 to 153 computations (28.5% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(*.f64 y (neg.f64 z)) |
| Outputs |
|---|
(*.f64 y (neg.f64 z)) |
(*.f64 y x) |
z |
(*.f64 y x) |
(*.f64 y (neg.f64 z)) |
(*.f64 y x) |
(*.f64 y (neg.f64 z)) |
(*.f64 y x) |
3 calls:
| 54.0ms | y |
| 28.0ms | x |
| 13.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 64.0% | 8 | x |
| 72.9% | 8 | y |
| 55.8% | 3 | z |
Compiled 23 to 15 computations (34.8% saved)
| 7× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 12.0ms | 3.0388575903855232e+119 | 6.45694575742647e+121 |
| 13.0ms | 3.861134264852064e+79 | 7.112003721813292e+80 |
| 11.0ms | 2.8648334411700652e+62 | 7.417904222448203e+63 |
| 15.0ms | 64802200.37881114 | 60784900339314.96 |
| 15.0ms | 1.2876097521917179e-45 | 4.144700880322753e-36 |
| 30.0ms | -6.111826938010458e-82 | -1.1610107130877445e-90 |
| 10.0ms | -3.6458554092051334e+60 | -6.935952587244124e+59 |
| 87.0ms | 748× | body | 256 | valid |
| 11.0ms | 116× | body | 256 | infinite |
Compiled 774 to 571 computations (26.2% saved)
Total -38.6b remaining (-163%)
Threshold costs -38.6b (-163%)
| Inputs |
|---|
z |
(*.f64 y x) |
| Outputs |
|---|
(*.f64 y x) |
z |
(*.f64 y x) |
3 calls:
| 14.0ms | x |
| 13.0ms | z |
| 9.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 58.9% | 5 | x |
| 63.0% | 3 | y |
| 55.1% | 3 | z |
Compiled 19 to 13 computations (31.6% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 1.2876097521917179e-45 | 4.144700880322753e-36 |
| 15.0ms | -6.111826938010458e-82 | -1.1610107130877445e-90 |
| 28.0ms | 288× | body | 256 | valid |
Compiled 234 to 175 computations (25.2% saved)
| 1× | egg-herbie |
| 16× | *-commutative |
| 14× | +-commutative |
| 14× | if-if-or-not |
| 10× | sub-neg |
| 8× | not-or |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 66 | 334 |
| 1 | 99 | 330 |
| 2 | 113 | 330 |
| 3 | 125 | 326 |
| 4 | 131 | 326 |
| 5 | 135 | 326 |
| 6 | 136 | 326 |
| 7 | 137 | 326 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(if (<=.f64 y -260000000) (*.f64 y (-.f64 x z)) (if (<=.f64 y 4004566777473459/151115727451828646838272) (+.f64 (*.f64 y x) z) (*.f64 y (-.f64 x z)))) |
(if (<=.f64 y -6808824016220525/71671831749689734737838152978190216899892655911508785116799651230841339877765150252188079784691427704832) (*.f64 y (-.f64 x z)) (if (<=.f64 y 496910556692507/5846006549323611672814739330865132078623730171904) (*.f64 z (-.f64 1 y)) (*.f64 y (-.f64 x z)))) |
(if (<=.f64 y -640796110776273/1067993517960455041197510853084776057301352261178326384973520803911109862890320275011481043468288) (*.f64 y (-.f64 x z)) (if (<=.f64 y 8418249431026001/187072209578355573530071658587684226515959365500928) z (*.f64 y (-.f64 x z)))) |
(if (<=.f64 y -2699999999999999934707649937397844993716140002210964016463872) (*.f64 y (neg.f64 z)) (if (<=.f64 y -5319393762672285/279968092772225526319680285071055534765205687154331191862498637620473983897520118172609686658950889472) (*.f64 y x) (if (<=.f64 y 4190417494555165/1496577676626844588240573268701473812127674924007424) z (if (<=.f64 y 7800000000000) (*.f64 y x) (if (<=.f64 y 1519999999999999934486427193200187726251028172336344402149507072) (*.f64 y (neg.f64 z)) (if (<=.f64 y 410000000000000001425504091161270667527325190888803721288529800066171902235770880) (*.f64 y x) (if (<=.f64 y 560000000000000026071294784379414725410370456681237558129824128609800812927178726297778819998673897400476090140945547264) (*.f64 y (neg.f64 z)) (*.f64 y x)))))))) |
(if (<=.f64 y -8063081071840095/4479489484355608421114884561136888556243290994469299069799978201927583742360321890761754986543214231552) (*.f64 y x) (if (<=.f64 y 4290987514424489/383123885216472214589586756787577295904684780545900544) z (*.f64 y x))) |
z |
| Outputs |
|---|
(fma.f64 y (-.f64 x z) z) |
(+.f64 (*.f64 y (-.f64 x z)) z) |
(+.f64 z (*.f64 y (-.f64 x z))) |
(if (<=.f64 y -260000000) (*.f64 y (-.f64 x z)) (if (<=.f64 y 4004566777473459/151115727451828646838272) (+.f64 (*.f64 y x) z) (*.f64 y (-.f64 x z)))) |
(if (or (<=.f64 y -260000000) (not (<=.f64 y 4004566777473459/151115727451828646838272))) (*.f64 y (-.f64 x z)) (+.f64 z (*.f64 y x))) |
(if (<=.f64 y -6808824016220525/71671831749689734737838152978190216899892655911508785116799651230841339877765150252188079784691427704832) (*.f64 y (-.f64 x z)) (if (<=.f64 y 496910556692507/5846006549323611672814739330865132078623730171904) (*.f64 z (-.f64 1 y)) (*.f64 y (-.f64 x z)))) |
(if (or (<=.f64 y -6808824016220525/71671831749689734737838152978190216899892655911508785116799651230841339877765150252188079784691427704832) (not (<=.f64 y 496910556692507/5846006549323611672814739330865132078623730171904))) (*.f64 y (-.f64 x z)) (*.f64 z (-.f64 1 y))) |
(if (<=.f64 y -640796110776273/1067993517960455041197510853084776057301352261178326384973520803911109862890320275011481043468288) (*.f64 y (-.f64 x z)) (if (<=.f64 y 8418249431026001/187072209578355573530071658587684226515959365500928) z (*.f64 y (-.f64 x z)))) |
(if (or (<=.f64 y -640796110776273/1067993517960455041197510853084776057301352261178326384973520803911109862890320275011481043468288) (not (<=.f64 y 8418249431026001/187072209578355573530071658587684226515959365500928))) (*.f64 y (-.f64 x z)) z) |
(if (<=.f64 y -2699999999999999934707649937397844993716140002210964016463872) (*.f64 y (neg.f64 z)) (if (<=.f64 y -5319393762672285/279968092772225526319680285071055534765205687154331191862498637620473983897520118172609686658950889472) (*.f64 y x) (if (<=.f64 y 4190417494555165/1496577676626844588240573268701473812127674924007424) z (if (<=.f64 y 7800000000000) (*.f64 y x) (if (<=.f64 y 1519999999999999934486427193200187726251028172336344402149507072) (*.f64 y (neg.f64 z)) (if (<=.f64 y 410000000000000001425504091161270667527325190888803721288529800066171902235770880) (*.f64 y x) (if (<=.f64 y 560000000000000026071294784379414725410370456681237558129824128609800812927178726297778819998673897400476090140945547264) (*.f64 y (neg.f64 z)) (*.f64 y x)))))))) |
(if (<=.f64 y -2699999999999999934707649937397844993716140002210964016463872) (*.f64 y (neg.f64 z)) (if (<=.f64 y -5319393762672285/279968092772225526319680285071055534765205687154331191862498637620473983897520118172609686658950889472) (*.f64 y x) (if (<=.f64 y 4190417494555165/1496577676626844588240573268701473812127674924007424) z (if (<=.f64 y 7800000000000) (*.f64 y x) (if (or (<=.f64 y 1519999999999999934486427193200187726251028172336344402149507072) (not (or (<=.f64 y 410000000000000001425504091161270667527325190888803721288529800066171902235770880) (not (<=.f64 y 560000000000000026071294784379414725410370456681237558129824128609800812927178726297778819998673897400476090140945547264))))) (*.f64 y (neg.f64 z)) (*.f64 y x)))))) |
(if (<=.f64 y -2699999999999999934707649937397844993716140002210964016463872) (*.f64 y (neg.f64 z)) (if (<=.f64 y -5319393762672285/279968092772225526319680285071055534765205687154331191862498637620473983897520118172609686658950889472) (*.f64 y x) (if (<=.f64 y 4190417494555165/1496577676626844588240573268701473812127674924007424) z (if (<=.f64 y 7800000000000) (*.f64 y x) (if (or (<=.f64 y 1519999999999999934486427193200187726251028172336344402149507072) (and (not (<=.f64 y 410000000000000001425504091161270667527325190888803721288529800066171902235770880)) (<=.f64 y 560000000000000026071294784379414725410370456681237558129824128609800812927178726297778819998673897400476090140945547264))) (*.f64 y (neg.f64 z)) (*.f64 y x)))))) |
(if (<=.f64 y -8063081071840095/4479489484355608421114884561136888556243290994469299069799978201927583742360321890761754986543214231552) (*.f64 y x) (if (<=.f64 y 4290987514424489/383123885216472214589586756787577295904684780545900544) z (*.f64 y x))) |
z |
Compiled 153 to 93 computations (39.2% saved)
| 1376× | fma-def |
| 1306× | log-prod |
| 1160× | distribute-lft-in |
| 1116× | distribute-rgt-in |
| 1074× | fma-def |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 21 |
| 1 | 20 | 21 |
| 2 | 33 | 21 |
| 3 | 60 | 21 |
| 4 | 129 | 17 |
| 5 | 221 | 15 |
| 6 | 351 | 15 |
| 7 | 563 | 15 |
| 8 | 972 | 15 |
| 9 | 1160 | 15 |
| 10 | 1219 | 15 |
| 11 | 1229 | 15 |
| 0 | 284 | 4148 |
| 1 | 664 | 3622 |
| 2 | 2003 | 3622 |
| 0 | 69 | 611 |
| 1 | 168 | 611 |
| 2 | 519 | 611 |
| 3 | 3087 | 611 |
| 4 | 6399 | 611 |
| 1× | node limit |
| 1× | node limit |
| 1× | saturated |
Compiled 195 to 87 computations (55.4% saved)
Compiled 308 to 154 computations (50% saved)
Loading profile data...