
Time bar (total: 2.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 11 to 7 computations (36.4% saved)
| 933.0ms | 6574× | body | 256 | valid |
| 218.0ms | 1682× | body | 256 | infinite |
| 1× | egg-herbie |
| 2318× | fma-def |
| 464× | fma-neg |
| 372× | distribute-rgt-in |
| 306× | unsub-neg |
| 296× | sub-neg |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 29 | 149 |
| 1 | 59 | 117 |
| 2 | 158 | 113 |
| 3 | 520 | 113 |
| 4 | 1398 | 113 |
| 5 | 2265 | 113 |
| 6 | 2732 | 113 |
| 7 | 2861 | 113 |
| 8 | 2861 | 113 |
| 9 | 3715 | 113 |
| 10 | 3715 | 113 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 x (*.f64 y (-.f64 z x))) |
(+.f64 (neg.f64 x) (*.f64 y (-.f64 z (neg.f64 x)))) |
(+.f64 x (*.f64 (neg.f64 y) (-.f64 z x))) |
(+.f64 x (*.f64 y (-.f64 (neg.f64 z) x))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+.f64 z (*.f64 y (-.f64 x z))) |
(+.f64 x (*.f64 z (-.f64 y x))) |
| Outputs |
|---|
(+.f64 x (*.f64 y (-.f64 z x))) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (neg.f64 x) (*.f64 y (-.f64 z (neg.f64 x)))) |
(-.f64 (*.f64 y (+.f64 x z)) x) |
(fma.f64 y (+.f64 x z) (neg.f64 x)) |
(+.f64 x (*.f64 (neg.f64 y) (-.f64 z x))) |
(+.f64 x (*.f64 (-.f64 z x) (neg.f64 y))) |
(-.f64 x (*.f64 y (-.f64 z x))) |
(fma.f64 y (-.f64 x z) x) |
(+.f64 x (*.f64 y (-.f64 (neg.f64 z) x))) |
(fma.f64 y (-.f64 (neg.f64 z) x) x) |
(fma.f64 y (neg.f64 (+.f64 x z)) x) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(fma.f64 x (-.f64 z y) y) |
(+.f64 z (*.f64 y (-.f64 x z))) |
(fma.f64 y (-.f64 x z) z) |
(+.f64 x (*.f64 z (-.f64 y x))) |
(fma.f64 z (-.f64 y x) x) |
Compiled 13 to 9 computations (30.8% saved)
| 1× | egg-herbie |
| 986× | fma-def |
| 104× | cancel-sign-sub-inv |
| 96× | distribute-rgt-in |
| 86× | unsub-neg |
| 84× | sub-neg |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 13 | 15 |
| 2 | 27 | 15 |
| 3 | 55 | 15 |
| 4 | 103 | 15 |
| 5 | 174 | 15 |
| 6 | 287 | 15 |
| 7 | 485 | 15 |
| 8 | 878 | 15 |
| 9 | 1117 | 15 |
| 10 | 1217 | 15 |
| 11 | 1224 | 15 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 x (*.f64 y (-.f64 z x))) |
| Outputs |
|---|
(+.f64 x (*.f64 y (-.f64 z x))) |
(fma.f64 y (-.f64 z x) x) |
Compiled 16 to 7 computations (56.3% saved)
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (fma.f64 y (-.f64 z x) x) |
| ▶ | 100.0% | (+.f64 x (*.f64 y (-.f64 z x))) |
| ▶ | 100.0% | (fma.f64 y (-.f64 z x) x) |
| ▶ | 100.0% | (+.f64 x (*.f64 y (-.f64 z x))) |
Compiled 38 to 22 computations (42.1% saved)
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 x (*.f64 y (-.f64 z x))) |
Compiled 34 to 8 computations (76.5% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | x | @ | inf | (+.f64 x (*.f64 y (-.f64 z x))) |
| 1.0ms | y | @ | inf | (+.f64 x (*.f64 y (-.f64 z x))) |
| 0.0ms | y | @ | -inf | (+.f64 x (*.f64 y (-.f64 z x))) |
| 0.0ms | z | @ | -inf | (+.f64 x (*.f64 y (-.f64 z x))) |
| 0.0ms | z | @ | inf | (+.f64 x (*.f64 y (-.f64 z x))) |
| 1× | batch-egg-rewrite |
| 916× | log-prod |
| 822× | fma-def |
| 810× | prod-exp |
| 718× | pow-prod-down |
| 444× | pow-exp |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 178 | 15 |
| 2 | 2622 | 15 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 x (*.f64 y (-.f64 z x))) |
| Outputs |
|---|
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (-.f64 z x) x))) 1) |
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 y (-.f64 z x)))) (/.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (-.f64 x (*.f64 y (-.f64 z x))))) |
(*.f64 (fma.f64 y (-.f64 z x) x) 1) |
(*.f64 1 (fma.f64 y (-.f64 z x) x)) |
(*.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 2) (cbrt.f64 (fma.f64 y (-.f64 z x) x))) |
(*.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x)) (sqrt.f64 (fma.f64 y (-.f64 z x) x))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))))) |
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (/.f64 1 (-.f64 x (*.f64 y (-.f64 z x))))) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)))) |
(/.f64 1 (/.f64 (-.f64 x (*.f64 y (-.f64 z x))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 y (-.f64 z x)))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2))) (neg.f64 (-.f64 x (*.f64 y (-.f64 z x))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (*.f64 x x)) (fma.f64 y (-.f64 z x) (neg.f64 x))) |
(pow.f64 (fma.f64 y (-.f64 z x) x) 1) |
(pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 3) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 2) 1/2) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x)) 2) |
(pow.f64 (/.f64 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3))) -1) |
(pow.f64 (/.f64 (-.f64 x (*.f64 y (-.f64 z x))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2))) -1) |
(sqrt.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 2)) |
(log.f64 (exp.f64 (fma.f64 y (-.f64 z x) x))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (-.f64 z x) x)))) |
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (-.f64 z x)) y))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 (-.f64 z x)) y) (+.f64 1 (expm1.f64 x)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))) (exp.f64 x))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))) (+.f64 1 (expm1.f64 x)))) |
(cbrt.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 y (-.f64 z x) x))) |
(exp.f64 (log.f64 (fma.f64 y (-.f64 z x) x))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 z x) x)) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 z x) x)) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x))) 3)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 3)) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x))) 2)) |
(log1p.f64 (expm1.f64 (fma.f64 y (-.f64 z x) x))) |
(fma.f64 x 1 (*.f64 y (-.f64 z x))) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (-.f64 z x) y x) |
(fma.f64 (*.f64 y (-.f64 z x)) 1 x) |
(fma.f64 1 x (*.f64 y (-.f64 z x))) |
(fma.f64 1 (*.f64 y (-.f64 z x)) x) |
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 z x)) 2) (*.f64 (cbrt.f64 (-.f64 z x)) y) x) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 y (-.f64 z x))) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y (-.f64 z x))) |
(fma.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) (pow.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) 2) x) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) 2) (cbrt.f64 (*.f64 y (-.f64 z x))) x) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 z x)) x) |
(fma.f64 (sqrt.f64 (-.f64 z x)) (*.f64 (sqrt.f64 (-.f64 z x)) y) x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y (-.f64 z x))) |
(fma.f64 (sqrt.f64 (*.f64 y (-.f64 z x))) (sqrt.f64 (*.f64 y (-.f64 z x))) x) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 z x)) x) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 z x)) 2)) (cbrt.f64 (-.f64 z x)) x) |
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 z x))) (sqrt.f64 (-.f64 z x)) x) |
(fma.f64 (*.f64 (-.f64 z x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) x) |
(fma.f64 (*.f64 (-.f64 z x) (sqrt.f64 y)) (sqrt.f64 y) x) |
| 1× | egg-herbie |
| 1138× | div-sub |
| 812× | cancel-sign-sub-inv |
| 730× | fma-neg |
| 682× | fma-def |
| 584× | distribute-lft-in |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 169 | 2906 |
| 1 | 422 | 2098 |
| 2 | 1122 | 2098 |
| 3 | 4763 | 1836 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x)) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x)) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x)) |
(*.f64 (+.f64 1 (*.f64 -1 y)) x) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x)) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x)) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x)) |
(*.f64 -1 (*.f64 (-.f64 y 1) x)) |
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 y 1) x))) |
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 y 1) x))) |
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 y 1) x))) |
x |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(*.f64 y (-.f64 z x)) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(*.f64 y (-.f64 z x)) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(+.f64 (*.f64 -1 (*.f64 y x)) x) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (-.f64 z x) x))) 1) |
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 y (-.f64 z x)))) (/.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (-.f64 x (*.f64 y (-.f64 z x))))) |
(*.f64 (fma.f64 y (-.f64 z x) x) 1) |
(*.f64 1 (fma.f64 y (-.f64 z x) x)) |
(*.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 2) (cbrt.f64 (fma.f64 y (-.f64 z x) x))) |
(*.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x)) (sqrt.f64 (fma.f64 y (-.f64 z x) x))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))))) |
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (/.f64 1 (-.f64 x (*.f64 y (-.f64 z x))))) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)))) |
(/.f64 1 (/.f64 (-.f64 x (*.f64 y (-.f64 z x))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 y (-.f64 z x)))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2))) (neg.f64 (-.f64 x (*.f64 y (-.f64 z x))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (*.f64 x x)) (fma.f64 y (-.f64 z x) (neg.f64 x))) |
(pow.f64 (fma.f64 y (-.f64 z x) x) 1) |
(pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 3) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 2) 1/2) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x)) 2) |
(pow.f64 (/.f64 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3))) -1) |
(pow.f64 (/.f64 (-.f64 x (*.f64 y (-.f64 z x))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2))) -1) |
(sqrt.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 2)) |
(log.f64 (exp.f64 (fma.f64 y (-.f64 z x) x))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (-.f64 z x) x)))) |
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (-.f64 z x)) y))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 (-.f64 z x)) y) (+.f64 1 (expm1.f64 x)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))) (exp.f64 x))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))) (+.f64 1 (expm1.f64 x)))) |
(cbrt.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 y (-.f64 z x) x))) |
(exp.f64 (log.f64 (fma.f64 y (-.f64 z x) x))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 z x) x)) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 z x) x)) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x))) 3)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 3)) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x))) 2)) |
(log1p.f64 (expm1.f64 (fma.f64 y (-.f64 z x) x))) |
(fma.f64 x 1 (*.f64 y (-.f64 z x))) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (-.f64 z x) y x) |
(fma.f64 (*.f64 y (-.f64 z x)) 1 x) |
(fma.f64 1 x (*.f64 y (-.f64 z x))) |
(fma.f64 1 (*.f64 y (-.f64 z x)) x) |
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 z x)) 2) (*.f64 (cbrt.f64 (-.f64 z x)) y) x) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 y (-.f64 z x))) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y (-.f64 z x))) |
(fma.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) (pow.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) 2) x) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) 2) (cbrt.f64 (*.f64 y (-.f64 z x))) x) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 z x)) x) |
(fma.f64 (sqrt.f64 (-.f64 z x)) (*.f64 (sqrt.f64 (-.f64 z x)) y) x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y (-.f64 z x))) |
(fma.f64 (sqrt.f64 (*.f64 y (-.f64 z x))) (sqrt.f64 (*.f64 y (-.f64 z x))) x) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 z x)) x) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 z x)) 2)) (cbrt.f64 (-.f64 z x)) x) |
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 z x))) (sqrt.f64 (-.f64 z x)) x) |
(fma.f64 (*.f64 (-.f64 z x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) x) |
(fma.f64 (*.f64 (-.f64 z x) (sqrt.f64 y)) (sqrt.f64 y) x) |
| Outputs |
|---|
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(*.f64 (+.f64 1 (*.f64 -1 y)) x) |
(*.f64 (+.f64 1 (neg.f64 y)) x) |
(-.f64 x (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(*.f64 -1 (*.f64 (-.f64 y 1) x)) |
(*.f64 (+.f64 1 (neg.f64 y)) x) |
(-.f64 x (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 y 1) x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 y 1) x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 y 1) x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
x |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(*.f64 y (-.f64 z x)) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(*.f64 y (-.f64 z x)) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 -1 (*.f64 y x)) x) |
(*.f64 (+.f64 1 (neg.f64 y)) x) |
(-.f64 x (*.f64 y x)) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x)))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (-.f64 z x) x))) 1) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 y (-.f64 z x)))) (/.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (-.f64 x (*.f64 y (-.f64 z x))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x)))) |
(/.f64 (fma.f64 y (-.f64 z x) x) 1) |
(*.f64 (fma.f64 y (-.f64 z x) x) 1) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(*.f64 1 (fma.f64 y (-.f64 z x) x)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(*.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 2)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 2) (cbrt.f64 (fma.f64 y (-.f64 z x) x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(*.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x)) (sqrt.f64 (fma.f64 y (-.f64 z x) x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (-.f64 z x) (*.f64 y (-.f64 (*.f64 y (-.f64 z x)) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 y (*.f64 (-.f64 z x) (-.f64 (*.f64 y (-.f64 z x)) x)) (*.f64 x x))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 y (-.f64 x z) x) (pow.f64 (*.f64 y (-.f64 z x)) 2))) |
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (/.f64 1 (-.f64 x (*.f64 y (-.f64 z x))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x)))) |
(/.f64 (fma.f64 y (-.f64 z x) x) 1) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (-.f64 z x) (*.f64 y (-.f64 (*.f64 y (-.f64 z x)) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 y (*.f64 (-.f64 z x) (-.f64 (*.f64 y (-.f64 z x)) x)) (*.f64 x x))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 y (-.f64 x z) x) (pow.f64 (*.f64 y (-.f64 z x)) 2))) |
(/.f64 1 (/.f64 (-.f64 x (*.f64 y (-.f64 z x))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x)))) |
(/.f64 (fma.f64 y (-.f64 z x) x) 1) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x))))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (-.f64 z x) (*.f64 y (-.f64 (*.f64 y (-.f64 z x)) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 y (*.f64 (-.f64 z x) (-.f64 (*.f64 y (-.f64 z x)) x)) (*.f64 x x))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 y (-.f64 x z) x) (pow.f64 (*.f64 y (-.f64 z x)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (-.f64 (*.f64 x x) (*.f64 x (*.f64 y (-.f64 z x)))))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (-.f64 z x) (*.f64 y (-.f64 (*.f64 y (-.f64 z x)) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 y (*.f64 (-.f64 z x) (-.f64 (*.f64 y (-.f64 z x)) x)) (*.f64 x x))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 y (-.f64 x z) x) (pow.f64 (*.f64 y (-.f64 z x)) 2))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x)))) |
(/.f64 (fma.f64 y (-.f64 z x) x) 1) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (-.f64 z x) (*.f64 y (-.f64 (*.f64 y (-.f64 z x)) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 y (*.f64 (-.f64 z x) (-.f64 (*.f64 y (-.f64 z x)) x)) (*.f64 x x))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 y (-.f64 x z) x) (pow.f64 (*.f64 y (-.f64 z x)) 2))) |
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2))) (neg.f64 (-.f64 x (*.f64 y (-.f64 z x))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x)))) |
(/.f64 (fma.f64 y (-.f64 z x) x) 1) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 z x)) 2) (*.f64 x x)) (fma.f64 y (-.f64 z x) (neg.f64 x))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x)))) |
(/.f64 (fma.f64 y (-.f64 z x) x) 1) |
(pow.f64 (fma.f64 y (-.f64 z x) x) 1) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 3) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 2) 1/2) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(pow.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 3) 1/3) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(pow.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x)) 2) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(pow.f64 (/.f64 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))) (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3))) -1) |
(*.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 y (-.f64 z x)) (fma.f64 y (-.f64 z x) (neg.f64 x)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (-.f64 z x) (*.f64 y (-.f64 (*.f64 y (-.f64 z x)) x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 y (*.f64 (-.f64 z x) (-.f64 (*.f64 y (-.f64 z x)) x)) (*.f64 x x))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y (-.f64 z x)) 3) (pow.f64 x 3)) (fma.f64 x (fma.f64 y (-.f64 x z) x) (pow.f64 (*.f64 y (-.f64 z x)) 2))) |
(pow.f64 (/.f64 (-.f64 x (*.f64 y (-.f64 z x))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2))) -1) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 z x)) 2)) (-.f64 x (*.f64 y (-.f64 z x)))) |
(/.f64 (fma.f64 y (-.f64 z x) x) 1) |
(sqrt.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 2)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(log.f64 (exp.f64 (fma.f64 y (-.f64 z x) x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (-.f64 z x) x)))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (-.f64 z x)) y))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(log.f64 (*.f64 (pow.f64 (exp.f64 (-.f64 z x)) y) (+.f64 1 (expm1.f64 x)))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))) (exp.f64 x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 z x)))) (+.f64 1 (expm1.f64 x)))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(cbrt.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 3)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(expm1.f64 (log1p.f64 (fma.f64 y (-.f64 z x) x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(exp.f64 (log.f64 (fma.f64 y (-.f64 z x) x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(exp.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 z x) x)) 1)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 z x) x)) 1) 1)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x))) 3)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 y (-.f64 z x) x) 3)) 1/3)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y (-.f64 z x) x))) 2)) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(log1p.f64 (expm1.f64 (fma.f64 y (-.f64 z x) x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 x 1 (*.f64 y (-.f64 z x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 (-.f64 z x) y x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (*.f64 y (-.f64 z x)) 1 x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 1 x (*.f64 y (-.f64 z x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 1 (*.f64 y (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 z x)) 2) (*.f64 (cbrt.f64 (-.f64 z x)) y) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 y (-.f64 z x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y (-.f64 z x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) (pow.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) 2) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (-.f64 z x))) 2) (cbrt.f64 (*.f64 y (-.f64 z x))) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (sqrt.f64 (-.f64 z x)) (*.f64 (sqrt.f64 (-.f64 z x)) y) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y (-.f64 z x))) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (sqrt.f64 (*.f64 y (-.f64 z x))) (sqrt.f64 (*.f64 y (-.f64 z x))) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 z x)) 2)) (cbrt.f64 (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 z x))) (sqrt.f64 (-.f64 z x)) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (*.f64 (-.f64 z x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
(fma.f64 (*.f64 (-.f64 z x) (sqrt.f64 y)) (sqrt.f64 y) x) |
(fma.f64 y z (*.f64 (+.f64 1 (neg.f64 y)) x)) |
(fma.f64 y (-.f64 z x) x) |
Compiled 1045 to 327 computations (68.7% saved)
6 alts after pruning (4 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 75 | 4 | 79 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 0 | 0 |
| Total | 75 | 6 | 81 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 y (-.f64 z x) x) |
| ▶ | 61.6% | (-.f64 x (*.f64 y x)) |
| ✓ | 100.0% | (+.f64 x (*.f64 y (-.f64 z x))) |
| ▶ | 65.7% | (*.f64 y (-.f64 z x)) |
| ▶ | 42.0% | (*.f64 y z) |
| 36.3% | x | |
| ✓ | 100.0% | (fma.f64 y (-.f64 z x) x) |
| ▶ | 61.6% | (-.f64 x (*.f64 y x)) |
| ✓ | 100.0% | (+.f64 x (*.f64 y (-.f64 z x))) |
| ▶ | 65.7% | (*.f64 y (-.f64 z x)) |
| ▶ | 42.0% | (*.f64 y z) |
| 36.3% | x |
Compiled 90 to 56 computations (37.8% saved)
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (-.f64 x (*.f64 y x)) |
Compiled 30 to 9 computations (70% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | inf | (-.f64 x (*.f64 y x)) |
| 0.0ms | x | @ | 0 | (-.f64 x (*.f64 y x)) |
| 0.0ms | x | @ | -inf | (-.f64 x (*.f64 y x)) |
| 0.0ms | y | @ | 0 | (-.f64 x (*.f64 y x)) |
| 0.0ms | y | @ | -inf | (-.f64 x (*.f64 y x)) |
| 1× | batch-egg-rewrite |
| 1498× | pow1 |
| 1388× | add-exp-log |
| 1388× | log1p-expm1-u |
| 1388× | expm1-log1p-u |
| 1358× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 13 |
| 1 | 133 | 13 |
| 2 | 1901 | 13 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 x (*.f64 y x)) |
| Outputs |
|---|
(+.f64 x (*.f64 x (neg.f64 y))) |
(+.f64 x (*.f64 (*.f64 x (neg.f64 y)) 1)) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 y) x (*.f64 x y))) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 x) y (*.f64 x y))) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (*.f64 x (neg.f64 y)) 1 (*.f64 x y))) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x y))) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 x y))) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 x y))) (sqrt.f64 (*.f64 x y)) (*.f64 x y))) |
(+.f64 (*.f64 x (neg.f64 y)) x) |
(*.f64 x (+.f64 1 (neg.f64 y))) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (-.f64 x (*.f64 x y)) 1) |
(*.f64 1 (-.f64 x (*.f64 x y))) |
(*.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) 2) (cbrt.f64 (-.f64 x (*.f64 x y)))) |
(*.f64 (sqrt.f64 (-.f64 x (*.f64 x y))) (sqrt.f64 (-.f64 x (*.f64 x y)))) |
(*.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y)))))) |
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (+.f64 x (*.f64 x y)))) |
(*.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x y))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x y)))) |
(*.f64 (+.f64 (neg.f64 y) 1) x) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y)))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)))) |
(/.f64 1 (/.f64 (+.f64 x (*.f64 x y)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (+.f64 x (*.f64 x y))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y)))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2))) (neg.f64 (+.f64 x (*.f64 x y)))) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (neg.f64 y)) 3)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 x (neg.f64 y)) (*.f64 x (neg.f64 y))) (*.f64 x (*.f64 x (neg.f64 y)))))) |
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 x (neg.f64 y)) (*.f64 x (neg.f64 y)))) (-.f64 x (*.f64 x (neg.f64 y)))) |
(pow.f64 (-.f64 x (*.f64 x y)) 1) |
(pow.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) 3) |
(pow.f64 (pow.f64 (-.f64 x (*.f64 x y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 x y))) 2) |
(sqrt.f64 (pow.f64 (-.f64 x (*.f64 x y)) 2)) |
(log.f64 (exp.f64 (-.f64 x (*.f64 x y)))) |
(cbrt.f64 (pow.f64 (-.f64 x (*.f64 x y)) 3)) |
(expm1.f64 (log1p.f64 (-.f64 x (*.f64 x y)))) |
(exp.f64 (log.f64 (-.f64 x (*.f64 x y)))) |
(log1p.f64 (expm1.f64 (-.f64 x (*.f64 x y)))) |
(fma.f64 1 x (*.f64 x (neg.f64 y))) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (neg.f64 y))) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (neg.f64 y))) |
| 1× | egg-herbie |
| 1626× | fma-neg |
| 1214× | fma-def |
| 640× | times-frac |
| 394× | associate-/l* |
| 362× | sub-neg |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 117 | 1096 |
| 1 | 302 | 1036 |
| 2 | 1149 | 1036 |
| 3 | 5651 | 1036 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 1 y) x) |
(*.f64 (-.f64 1 y) x) |
(*.f64 (-.f64 1 y) x) |
(*.f64 (-.f64 1 y) x) |
(*.f64 (-.f64 1 y) x) |
(*.f64 (-.f64 1 y) x) |
(*.f64 (-.f64 1 y) x) |
(*.f64 (-.f64 1 y) x) |
(*.f64 (+.f64 1 (*.f64 -1 y)) x) |
(*.f64 (+.f64 1 (*.f64 -1 y)) x) |
(*.f64 (+.f64 1 (*.f64 -1 y)) x) |
(*.f64 (+.f64 1 (*.f64 -1 y)) x) |
x |
(+.f64 (*.f64 -1 (*.f64 y x)) x) |
(+.f64 (*.f64 -1 (*.f64 y x)) x) |
(+.f64 (*.f64 -1 (*.f64 y x)) x) |
(*.f64 -1 (*.f64 y x)) |
(+.f64 x (*.f64 -1 (*.f64 y x))) |
(+.f64 x (*.f64 -1 (*.f64 y x))) |
(+.f64 x (*.f64 -1 (*.f64 y x))) |
(*.f64 -1 (*.f64 y x)) |
(+.f64 x (*.f64 -1 (*.f64 y x))) |
(+.f64 x (*.f64 -1 (*.f64 y x))) |
(+.f64 x (*.f64 -1 (*.f64 y x))) |
(+.f64 x (*.f64 x (neg.f64 y))) |
(+.f64 x (*.f64 (*.f64 x (neg.f64 y)) 1)) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 y) x (*.f64 x y))) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 x) y (*.f64 x y))) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (*.f64 x (neg.f64 y)) 1 (*.f64 x y))) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x y))) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 x y))) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 x y))) (sqrt.f64 (*.f64 x y)) (*.f64 x y))) |
(+.f64 (*.f64 x (neg.f64 y)) x) |
(*.f64 x (+.f64 1 (neg.f64 y))) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (-.f64 x (*.f64 x y)) 1) |
(*.f64 1 (-.f64 x (*.f64 x y))) |
(*.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) 2) (cbrt.f64 (-.f64 x (*.f64 x y)))) |
(*.f64 (sqrt.f64 (-.f64 x (*.f64 x y))) (sqrt.f64 (-.f64 x (*.f64 x y)))) |
(*.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y)))))) |
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (+.f64 x (*.f64 x y)))) |
(*.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x y))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x y)))) |
(*.f64 (+.f64 (neg.f64 y) 1) x) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y)))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)))) |
(/.f64 1 (/.f64 (+.f64 x (*.f64 x y)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (+.f64 x (*.f64 x y))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y)))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2))) (neg.f64 (+.f64 x (*.f64 x y)))) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (neg.f64 y)) 3)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 x (neg.f64 y)) (*.f64 x (neg.f64 y))) (*.f64 x (*.f64 x (neg.f64 y)))))) |
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 x (neg.f64 y)) (*.f64 x (neg.f64 y)))) (-.f64 x (*.f64 x (neg.f64 y)))) |
(pow.f64 (-.f64 x (*.f64 x y)) 1) |
(pow.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) 3) |
(pow.f64 (pow.f64 (-.f64 x (*.f64 x y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 x y))) 2) |
(sqrt.f64 (pow.f64 (-.f64 x (*.f64 x y)) 2)) |
(log.f64 (exp.f64 (-.f64 x (*.f64 x y)))) |
(cbrt.f64 (pow.f64 (-.f64 x (*.f64 x y)) 3)) |
(expm1.f64 (log1p.f64 (-.f64 x (*.f64 x y)))) |
(exp.f64 (log.f64 (-.f64 x (*.f64 x y)))) |
(log1p.f64 (expm1.f64 (-.f64 x (*.f64 x y)))) |
(fma.f64 1 x (*.f64 x (neg.f64 y))) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (neg.f64 y))) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (neg.f64 y))) |
| Outputs |
|---|
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (+.f64 1 (*.f64 -1 y)) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (+.f64 1 (*.f64 -1 y)) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (+.f64 1 (*.f64 -1 y)) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (+.f64 1 (*.f64 -1 y)) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
x |
(+.f64 (*.f64 -1 (*.f64 y x)) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 (*.f64 -1 (*.f64 y x)) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 (*.f64 -1 (*.f64 y x)) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 -1 (*.f64 y x)) |
(*.f64 x (neg.f64 y)) |
(*.f64 y (neg.f64 x)) |
(+.f64 x (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 x (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 x (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 -1 (*.f64 y x)) |
(*.f64 x (neg.f64 y)) |
(*.f64 y (neg.f64 x)) |
(+.f64 x (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 x (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 x (*.f64 -1 (*.f64 y x))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 x (*.f64 x (neg.f64 y))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 x (*.f64 (*.f64 x (neg.f64 y)) 1)) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 y) x (*.f64 x y))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 x) y (*.f64 x y))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (*.f64 x (neg.f64 y)) 1 (*.f64 x y))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x y))) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 x y))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 x y))) (sqrt.f64 (*.f64 x y)) (*.f64 x y))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(+.f64 (*.f64 x (neg.f64 y)) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 x (+.f64 1 (neg.f64 y))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 x (-.f64 1 y)) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (-.f64 x (*.f64 x y)) 1) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 1 (-.f64 x (*.f64 x y))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) 2)) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) 2) (cbrt.f64 (-.f64 x (*.f64 x y)))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (sqrt.f64 (-.f64 x (*.f64 x y))) (sqrt.f64 (-.f64 x (*.f64 x y)))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y)))))) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 x (*.f64 y (+.f64 x (*.f64 y x))))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)))) |
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (*.f64 x (+.f64 x (*.f64 y (fma.f64 y x x))))) |
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (*.f64 x (+.f64 x (*.f64 x (fma.f64 y y y))))) |
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (/.f64 1 (+.f64 x (*.f64 x y)))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x y))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x y)))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(*.f64 (+.f64 (neg.f64 y) 1) x) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y)))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)))) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 x (*.f64 y (+.f64 x (*.f64 y x))))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)))) |
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (*.f64 x (+.f64 x (*.f64 y (fma.f64 y x x))))) |
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (*.f64 x (+.f64 x (*.f64 x (fma.f64 y y y))))) |
(/.f64 1 (/.f64 (+.f64 x (*.f64 x y)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y))))) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 x (*.f64 y (+.f64 x (*.f64 y x))))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)))) |
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (*.f64 x (+.f64 x (*.f64 y (fma.f64 y x x))))) |
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (*.f64 x (+.f64 x (*.f64 x (fma.f64 y y y))))) |
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2)) (+.f64 x (*.f64 x y))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(/.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 x y) (+.f64 x (*.f64 x y)))))) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 x (*.f64 y (+.f64 x (*.f64 y x))))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)))) |
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (*.f64 x (+.f64 x (*.f64 y (fma.f64 y x x))))) |
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (*.f64 x (+.f64 x (*.f64 x (fma.f64 y y y))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x y) 2))) (neg.f64 (+.f64 x (*.f64 x y)))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (neg.f64 y)) 3)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 x (neg.f64 y)) (*.f64 x (neg.f64 y))) (*.f64 x (*.f64 x (neg.f64 y)))))) |
(/.f64 1 (/.f64 (fma.f64 x x (*.f64 x (*.f64 y (+.f64 x (*.f64 y x))))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)))) |
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (*.f64 x (+.f64 x (*.f64 y (fma.f64 y x x))))) |
(/.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) (*.f64 x (+.f64 x (*.f64 x (fma.f64 y y y))))) |
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 x (neg.f64 y)) (*.f64 x (neg.f64 y)))) (-.f64 x (*.f64 x (neg.f64 y)))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(pow.f64 (-.f64 x (*.f64 x y)) 1) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(pow.f64 (cbrt.f64 (-.f64 x (*.f64 x y))) 3) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(pow.f64 (pow.f64 (-.f64 x (*.f64 x y)) 3) 1/3) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 x y))) 2) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(sqrt.f64 (pow.f64 (-.f64 x (*.f64 x y)) 2)) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(log.f64 (exp.f64 (-.f64 x (*.f64 x y)))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(cbrt.f64 (pow.f64 (-.f64 x (*.f64 x y)) 3)) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(expm1.f64 (log1p.f64 (-.f64 x (*.f64 x y)))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(exp.f64 (log.f64 (-.f64 x (*.f64 x y)))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(log1p.f64 (expm1.f64 (-.f64 x (*.f64 x y)))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(fma.f64 1 x (*.f64 x (neg.f64 y))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 x (neg.f64 y))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 x (neg.f64 y))) |
(*.f64 (-.f64 1 y) x) |
(-.f64 x (*.f64 y x)) |
(fma.f64 y (neg.f64 x) x) |
Compiled 621 to 208 computations (66.5% saved)
7 alts after pruning (2 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 52 | 1 | 53 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 3 | 3 |
| Done | 0 | 2 | 2 |
| Total | 52 | 7 | 59 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 y (-.f64 z x) x) |
| ✓ | 61.6% | (-.f64 x (*.f64 y x)) |
| ✓ | 100.0% | (+.f64 x (*.f64 y (-.f64 z x))) |
| ✓ | 65.7% | (*.f64 y (-.f64 z x)) |
| ▶ | 27.5% | (*.f64 y (neg.f64 x)) |
| ✓ | 42.0% | (*.f64 y z) |
| 36.3% | x | |
| ✓ | 100.0% | (fma.f64 y (-.f64 z x) x) |
| ✓ | 61.6% | (-.f64 x (*.f64 y x)) |
| ✓ | 100.0% | (+.f64 x (*.f64 y (-.f64 z x))) |
| ✓ | 65.7% | (*.f64 y (-.f64 z x)) |
| ▶ | 27.5% | (*.f64 y (neg.f64 x)) |
| ✓ | 42.0% | (*.f64 y z) |
| 36.3% | x |
Compiled 104 to 66 computations (36.5% saved)
Compiled 12 to 6 computations (50% 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 |
|---|---|---|
| ✓ | 100.0% | (fma.f64 y (-.f64 z x) x) |
| ✓ | 61.6% | (-.f64 x (*.f64 y x)) |
| ✓ | 100.0% | (+.f64 x (*.f64 y (-.f64 z x))) |
| ✓ | 65.7% | (*.f64 y (-.f64 z x)) |
| ✓ | 27.5% | (*.f64 y (neg.f64 x)) |
| ✓ | 42.0% | (*.f64 y z) |
| 36.3% | x | |
| ✓ | 100.0% | (fma.f64 y (-.f64 z x) x) |
| ✓ | 61.6% | (-.f64 x (*.f64 y x)) |
| ✓ | 100.0% | (+.f64 x (*.f64 y (-.f64 z x))) |
| ✓ | 65.7% | (*.f64 y (-.f64 z x)) |
| ✓ | 27.5% | (*.f64 y (neg.f64 x)) |
| ✓ | 42.0% | (*.f64 y z) |
| 36.3% | x |
Compiled 104 to 66 computations (36.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 | 0 | 0 |
| Done | 0 | 6 | 6 |
| Total | 0 | 7 | 7 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 y (-.f64 z x) x) |
| ✓ | 61.6% | (-.f64 x (*.f64 y x)) |
| ✓ | 100.0% | (+.f64 x (*.f64 y (-.f64 z x))) |
| ✓ | 65.7% | (*.f64 y (-.f64 z x)) |
| ✓ | 27.5% | (*.f64 y (neg.f64 x)) |
| ✓ | 42.0% | (*.f64 y z) |
| 36.3% | x |
Compiled 86 to 45 computations (47.7% saved)
| Inputs |
|---|
x |
(*.f64 y z) |
(*.f64 y (neg.f64 x)) |
(*.f64 y (-.f64 z x)) |
(-.f64 x (*.f64 y x)) |
(+.f64 x (*.f64 y (-.f64 z x))) |
(fma.f64 y (-.f64 z x) x) |
| Outputs |
|---|
(fma.f64 y (-.f64 z x) x) |
4 calls:
| 9.0ms | z |
| 5.0ms | y |
| 5.0ms | x |
| 4.0ms | (+.f64 x (*.f64 y (-.f64 z x))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
| 100.0% | 1 | (+.f64 x (*.f64 y (-.f64 z x))) |
Compiled 56 to 27 computations (51.8% saved)
| Inputs |
|---|
x |
(*.f64 y z) |
(*.f64 y (neg.f64 x)) |
(*.f64 y (-.f64 z x)) |
(-.f64 x (*.f64 y x)) |
(+.f64 x (*.f64 y (-.f64 z x))) |
| Outputs |
|---|
(+.f64 x (*.f64 y (-.f64 z x))) |
4 calls:
| 9.0ms | z |
| 5.0ms | x |
| 5.0ms | y |
| 4.0ms | (+.f64 x (*.f64 y (-.f64 z x))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
| 100.0% | 1 | (+.f64 x (*.f64 y (-.f64 z x))) |
Compiled 50 to 26 computations (48% saved)
| Inputs |
|---|
x |
(*.f64 y z) |
(*.f64 y (neg.f64 x)) |
(*.f64 y (-.f64 z x)) |
(-.f64 x (*.f64 y x)) |
| Outputs |
|---|
(*.f64 y (-.f64 z x)) |
(-.f64 x (*.f64 y x)) |
(*.f64 y (-.f64 z x)) |
3 calls:
| 19.0ms | z |
| 17.0ms | x |
| 15.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 82.4% | 3 | x |
| 84.7% | 3 | y |
| 86.0% | 3 | z |
Compiled 33 to 19 computations (42.4% saved)
| Inputs |
|---|
x |
(*.f64 y z) |
(*.f64 y (neg.f64 x)) |
(*.f64 y (-.f64 z x)) |
| Outputs |
|---|
(*.f64 y (-.f64 z x)) |
x |
(*.f64 y (-.f64 z x)) |
2 calls:
| 26.0ms | z |
| 10.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 84.2% | 3 | y |
| 74.9% | 7 | z |
Compiled 24 to 14 computations (41.7% saved)
| Inputs |
|---|
x |
(*.f64 y z) |
(*.f64 y (neg.f64 x)) |
| Outputs |
|---|
(*.f64 y (neg.f64 x)) |
x |
(*.f64 y z) |
(*.f64 y (neg.f64 x)) |
(*.f64 y z) |
(*.f64 y (neg.f64 x)) |
3 calls:
| 32.0ms | z |
| 28.0ms | x |
| 24.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 66.7% | 9 | z |
| 62.6% | 6 | x |
| 64.8% | 6 | y |
Compiled 23 to 15 computations (34.8% saved)
| Inputs |
|---|
x |
(*.f64 y z) |
| Outputs |
|---|
(*.f64 y z) |
x |
(*.f64 y z) |
1 calls:
| 8.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 60.7% | 3 | y |
Compiled 11 to 7 computations (36.4% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
x |
| Outputs |
|---|
x |
3 calls:
| 4.0ms | z |
| 3.0ms | x |
| 3.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 36.3% | 1 | z |
| 36.3% | 1 | x |
| 36.3% | 1 | y |
Compiled 16 to 12 computations (25% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 15.0ms | 8.715640903655333e-26 | 1.4065632497321475e-19 |
| 14.0ms | -9.951769945306675e+75 | -3.398746028200398e+69 |
| 23.0ms | 253× | body | 256 | valid |
| 3.0ms | 35× | body | 256 | infinite |
Compiled 340 to 227 computations (33.2% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 15.0ms | 5.726861038427894e-112 | 6.60074761330548e-96 |
| 16.0ms | -439700536.1934507 | -0.053583049717944906 |
| 28.0ms | 320× | body | 256 | valid |
Compiled 296 to 211 computations (28.7% saved)
| 5× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 1.3752125662368302e+205 | 1.904821339055593e+222 |
| 11.0ms | 1.4335733188207216e+91 | 2.622331832799373e+93 |
| 12.0ms | 1.1610555071591213e+52 | 2.882112037251769e+54 |
| 15.0ms | 5.726861038427894e-112 | 6.60074761330548e-96 |
| 15.0ms | -1018736580516937.5 | -439700536.1934507 |
| 48.0ms | 543× | body | 256 | valid |
| 13.0ms | 145× | body | 256 | infinite |
Compiled 613 to 455 computations (25.8% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 5.726861038427894e-112 | 6.60074761330548e-96 |
| 15.0ms | -439700536.1934507 | -0.053583049717944906 |
| 28.0ms | 319× | body | 256 | valid |
| 0.0ms | 1× | body | 256 | infinite |
Compiled 256 to 191 computations (25.4% saved)
| 1× | egg-herbie |
| 14× | *-commutative |
| 12× | +-commutative |
| 10× | sub-neg |
| 10× | if-if-or-not |
| 6× | neg-mul-1 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 48 | 247 |
| 1 | 76 | 247 |
| 2 | 88 | 247 |
| 3 | 96 | 243 |
| 4 | 99 | 243 |
| 5 | 100 | 243 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(fma.f64 y (-.f64 z x) x) |
(+.f64 x (*.f64 y (-.f64 z x))) |
(if (<=.f64 z -150000000000000006282228834631718693848715079996050742471514156771049472) (*.f64 y (-.f64 z x)) (if (<=.f64 z 2637188343637273/85070591730234615865843651857942052864) (-.f64 x (*.f64 y x)) (*.f64 y (-.f64 z x)))) |
(if (<=.f64 y -7782220156096217/144115188075855872) (*.f64 y (-.f64 z x)) (if (<=.f64 y 7815949715471317/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) x (*.f64 y (-.f64 z x)))) |
(if (<=.f64 y -450000000) (*.f64 y (neg.f64 x)) (if (<=.f64 y 2340163952016261/40347654345107946713373737062547060536401653012956617387979052445947619094013143666088208645002153616185987062074179584) x (if (<=.f64 y 29999999999999999796628460230848839293851253258321920) (*.f64 y z) (if (<=.f64 y 30999999999999999752554979200097081197898049204051385683082698316861865657038334330375503872) (*.f64 y (neg.f64 x)) (if (<=.f64 y 4999999999999999909315349154054740991463637108491892860888337397349569053269712469449300329851548412746772308261348178402514182220821421164656873275098572126930396830492460411478655642866237930786475017764864) (*.f64 y z) (*.f64 y (neg.f64 x))))))) |
(if (<=.f64 y -7782220156096217/144115188075855872) (*.f64 y z) (if (<=.f64 y 7815949715471317/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) x (*.f64 y z))) |
x |
| Outputs |
|---|
(fma.f64 y (-.f64 z x) x) |
(+.f64 x (*.f64 y (-.f64 z x))) |
(if (<=.f64 z -150000000000000006282228834631718693848715079996050742471514156771049472) (*.f64 y (-.f64 z x)) (if (<=.f64 z 2637188343637273/85070591730234615865843651857942052864) (-.f64 x (*.f64 y x)) (*.f64 y (-.f64 z x)))) |
(if (or (<=.f64 z -150000000000000006282228834631718693848715079996050742471514156771049472) (not (<=.f64 z 2637188343637273/85070591730234615865843651857942052864))) (*.f64 y (-.f64 z x)) (-.f64 x (*.f64 y x))) |
(if (<=.f64 y -7782220156096217/144115188075855872) (*.f64 y (-.f64 z x)) (if (<=.f64 y 7815949715471317/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) x (*.f64 y (-.f64 z x)))) |
(if (or (<=.f64 y -7782220156096217/144115188075855872) (not (<=.f64 y 7815949715471317/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712))) (*.f64 y (-.f64 z x)) x) |
(if (<=.f64 y -450000000) (*.f64 y (neg.f64 x)) (if (<=.f64 y 2340163952016261/40347654345107946713373737062547060536401653012956617387979052445947619094013143666088208645002153616185987062074179584) x (if (<=.f64 y 29999999999999999796628460230848839293851253258321920) (*.f64 y z) (if (<=.f64 y 30999999999999999752554979200097081197898049204051385683082698316861865657038334330375503872) (*.f64 y (neg.f64 x)) (if (<=.f64 y 4999999999999999909315349154054740991463637108491892860888337397349569053269712469449300329851548412746772308261348178402514182220821421164656873275098572126930396830492460411478655642866237930786475017764864) (*.f64 y z) (*.f64 y (neg.f64 x))))))) |
(if (<=.f64 y -450000000) (*.f64 y (neg.f64 x)) (if (<=.f64 y 2340163952016261/40347654345107946713373737062547060536401653012956617387979052445947619094013143666088208645002153616185987062074179584) x (if (<=.f64 y 29999999999999999796628460230848839293851253258321920) (*.f64 y z) (if (or (<=.f64 y 30999999999999999752554979200097081197898049204051385683082698316861865657038334330375503872) (not (<=.f64 y 4999999999999999909315349154054740991463637108491892860888337397349569053269712469449300329851548412746772308261348178402514182220821421164656873275098572126930396830492460411478655642866237930786475017764864))) (*.f64 y (neg.f64 x)) (*.f64 y z))))) |
(if (<=.f64 y -450000000) (*.f64 y (neg.f64 x)) (if (<=.f64 y 2340163952016261/40347654345107946713373737062547060536401653012956617387979052445947619094013143666088208645002153616185987062074179584) x (if (or (<=.f64 y 29999999999999999796628460230848839293851253258321920) (and (not (<=.f64 y 30999999999999999752554979200097081197898049204051385683082698316861865657038334330375503872)) (<=.f64 y 4999999999999999909315349154054740991463637108491892860888337397349569053269712469449300329851548412746772308261348178402514182220821421164656873275098572126930396830492460411478655642866237930786475017764864))) (*.f64 y z) (*.f64 y (neg.f64 x))))) |
(if (<=.f64 y -7782220156096217/144115188075855872) (*.f64 y z) (if (<=.f64 y 7815949715471317/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) x (*.f64 y z))) |
x |
Compiled 117 to 72 computations (38.5% saved)
| 1626× | fma-neg |
| 1214× | fma-def |
| 1138× | div-sub |
| 986× | fma-def |
| 812× | cancel-sign-sub-inv |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 13 | 15 |
| 2 | 27 | 15 |
| 3 | 55 | 15 |
| 4 | 103 | 15 |
| 5 | 174 | 15 |
| 6 | 287 | 15 |
| 7 | 485 | 15 |
| 8 | 878 | 15 |
| 9 | 1117 | 15 |
| 10 | 1217 | 15 |
| 11 | 1224 | 15 |
| 0 | 169 | 2906 |
| 1 | 422 | 2098 |
| 2 | 1122 | 2098 |
| 3 | 4763 | 1836 |
| 0 | 117 | 1096 |
| 1 | 302 | 1036 |
| 2 | 1149 | 1036 |
| 3 | 5651 | 1036 |
| 1× | node limit |
| 1× | node limit |
| 1× | saturated |
Compiled 74 to 39 computations (47.3% saved)
Compiled 218 to 108 computations (50.5% saved)
Loading profile data...