
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)
| 809.0ms | 6526× | body | 256 | valid |
| 154.0ms | 1730× | body | 256 | infinite |
| 1× | egg-herbie |
| 2990× | fma-def |
| 462× | unsub-neg |
| 350× | distribute-rgt-in |
| 310× | sub-neg |
| 262× | associate-+l- |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 29 | 164 |
| 1 | 86 | 128 |
| 2 | 255 | 128 |
| 3 | 466 | 128 |
| 4 | 903 | 128 |
| 5 | 1458 | 128 |
| 6 | 2670 | 128 |
| 7 | 3174 | 128 |
| 8 | 3263 | 128 |
| 9 | 3263 | 128 |
| 10 | 3975 | 128 |
| 11 | 3975 | 128 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 x (*.f64 y (+.f64 z x))) |
(+.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))) |
(+.f64 x (*.f64 y (+.f64 x z))) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 x (*.f64 y (+.f64 z x))) |
(+.f64 x (*.f64 y (+.f64 x z))) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (neg.f64 x) (*.f64 y (+.f64 z (neg.f64 x)))) |
(+.f64 (neg.f64 x) (*.f64 y (-.f64 z x))) |
(-.f64 (*.f64 y (-.f64 z x)) x) |
(+.f64 x (*.f64 (neg.f64 y) (+.f64 z x))) |
(+.f64 x (*.f64 (+.f64 x z) (neg.f64 y))) |
(-.f64 x (*.f64 y (+.f64 x z))) |
(+.f64 x (*.f64 y (+.f64 (neg.f64 z) x))) |
(+.f64 x (*.f64 y (+.f64 x (neg.f64 z)))) |
(fma.f64 y (-.f64 x z) x) |
(+.f64 y (*.f64 x (+.f64 z y))) |
(+.f64 y (*.f64 x (+.f64 y z))) |
(fma.f64 x (+.f64 y z) y) |
(+.f64 z (*.f64 y (+.f64 x z))) |
(fma.f64 y (+.f64 x z) z) |
(+.f64 x (*.f64 z (+.f64 y x))) |
(+.f64 x (*.f64 z (+.f64 x y))) |
(fma.f64 z (+.f64 x y) x) |
Compiled 10 to 6 computations (40% saved)
Compiled 16 to 7 computations (56.3% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (fma.f64 y (+.f64 x z) x) |
| ▶ | 100.0% | (+.f64 x (*.f64 y (+.f64 z x))) |
| ▶ | 100.0% | (fma.f64 y (+.f64 x z) x) |
| ▶ | 100.0% | (+.f64 x (*.f64 y (+.f64 z x))) |
Compiled 38 to 22 computations (42.1% saved)
Found 2 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 y (+.f64 x z) x) |
| ✓ | 100.0% | (*.f64 y (+.f64 z x)) |
Compiled 34 to 9 computations (73.5% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (*.f64 y (+.f64 z x)) |
| 0.0ms | z | @ | -inf | (*.f64 y (+.f64 z x)) |
| 0.0ms | z | @ | inf | (*.f64 y (+.f64 z x)) |
| 0.0ms | y | @ | -inf | (*.f64 y (+.f64 z x)) |
| 0.0ms | y | @ | inf | (*.f64 y (+.f64 z x)) |
| 1× | batch-egg-rewrite |
| 1010× | log-prod |
| 972× | prod-exp |
| 858× | pow-prod-down |
| 826× | fma-def |
| 484× | pow-prod-up |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 28 |
| 1 | 223 | 28 |
| 2 | 3044 | 28 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (+.f64 z x)) |
(fma.f64 y (+.f64 x z) x) |
| Outputs |
|---|
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 y z)) |
(+.f64 0 (*.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (*.f64 y z) 1) (*.f64 (*.f64 y x) 1)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 z x)) y)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 z x)) y)))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 z x)) y))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 z x)) y)))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 y (+.f64 z x)))) 1) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y z) 2) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 y z) (*.f64 y x))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 y z) (*.f64 y x))) |
(/.f64 (*.f64 y (+.f64 (pow.f64 x 3) (pow.f64 z 3))) (fma.f64 z (-.f64 z x) (*.f64 x x))) |
(/.f64 (*.f64 y (+.f64 (pow.f64 x 3) (pow.f64 z 3))) (fma.f64 x (-.f64 x z) (*.f64 z z))) |
(/.f64 (*.f64 y (-.f64 (*.f64 x x) (*.f64 z z))) (-.f64 x z)) |
(/.f64 (*.f64 y (-.f64 (*.f64 z z) (*.f64 x x))) (-.f64 z x)) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 z 3)) y) (fma.f64 z (-.f64 z x) (*.f64 x x))) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 z 3)) y) (fma.f64 x (-.f64 x z) (*.f64 z z))) |
(/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y) (-.f64 x z)) |
(/.f64 (*.f64 (-.f64 (*.f64 z z) (*.f64 x x)) y) (-.f64 z x)) |
(pow.f64 (*.f64 y (+.f64 z x)) 1) |
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) 3) |
(pow.f64 (pow.f64 (*.f64 y (+.f64 z x)) 2) 1/2) |
(pow.f64 (pow.f64 (*.f64 y (+.f64 z x)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 z x))) 2) |
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 z x)) 2)) |
(log.f64 (pow.f64 (exp.f64 (+.f64 z x)) y)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 y (+.f64 z x))))) |
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 z x)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 z x)))) |
(exp.f64 (log.f64 (*.f64 y (+.f64 z x)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 y (+.f64 z x))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 y (+.f64 z x))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 y (+.f64 z x)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 y (+.f64 z x)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 y (+.f64 z x)))) 2)) |
(exp.f64 (+.f64 (log.f64 y) (*.f64 (log.f64 (+.f64 z x)) 1))) |
(exp.f64 (+.f64 (*.f64 (log.f64 y) 1) (log.f64 (+.f64 z x)))) |
(exp.f64 (+.f64 (*.f64 (log.f64 y) 1) (*.f64 (log.f64 (+.f64 z x)) 1))) |
(exp.f64 (+.f64 (log.f64 (+.f64 z x)) (*.f64 (log.f64 y) 1))) |
(exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 z x)) 1) (log.f64 y))) |
(exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 z x)) 1) (*.f64 (log.f64 y) 1))) |
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 z x)))) |
(fma.f64 y z (*.f64 y x)) |
(fma.f64 y x (*.f64 y z)) |
(fma.f64 z y (*.f64 y x)) |
(fma.f64 x y (*.f64 y z)) |
(fma.f64 1 (*.f64 y z) (*.f64 y x)) |
(fma.f64 1 (*.f64 y x) (*.f64 y z)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 y z)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 y z)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) z) (*.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) y) (*.f64 y x)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 y z)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 y z)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) z) (*.f64 y x)) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) y) (*.f64 y x)) |
(fma.f64 (*.f64 y z) 1 (*.f64 (*.f64 y x) 1)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 y z)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (cbrt.f64 (*.f64 y z)) (*.f64 y x)) |
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 y z)) |
(fma.f64 (sqrt.f64 (*.f64 y z)) (sqrt.f64 (*.f64 y z)) (*.f64 y x)) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 y z)) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 y z)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y z)) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y z)) |
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 y x)) |
(fma.f64 (*.f64 z (sqrt.f64 y)) (sqrt.f64 y) (*.f64 y x)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 y x)) |
(fma.f64 (*.f64 y (sqrt.f64 z)) (sqrt.f64 z) (*.f64 y x)) |
(+.f64 x (*.f64 y (+.f64 z x))) |
(+.f64 (*.f64 y (+.f64 z x)) x) |
(+.f64 (*.f64 y z) (fma.f64 y x x)) |
(+.f64 0 (fma.f64 y (+.f64 z x) x)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y (+.f64 z x) x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y (+.f64 z x) x))))) |
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y (+.f64 z x) x)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y (+.f64 z x) x))))) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (+.f64 z x) x))) 1) |
(*.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 (pow.f64 (*.f64 y (+.f64 z x)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 y (+.f64 z x)) x)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (+.f64 z x)) 2) (*.f64 x x)) (-.f64 (*.f64 y (+.f64 z x)) 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) |
(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 (*.f64 3 (log.f64 (fma.f64 y (+.f64 z x) x))) 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))) |
| 1× | egg-herbie |
| 1644× | fma-neg |
| 722× | log-prod |
| 682× | unswap-sqr |
| 520× | *-commutative |
| 510× | exp-prod |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 269 | 2798 |
| 1 | 656 | 2726 |
| 2 | 1995 | 2712 |
| 3 | 6046 | 2712 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y x) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y 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 y z) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x)) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x)) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x)) |
(*.f64 (+.f64 1 y) x) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x)) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x)) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(+.f64 (*.f64 y x) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 y z)) |
(+.f64 0 (*.f64 y (+.f64 z x))) |
(+.f64 (*.f64 (*.f64 y z) 1) (*.f64 (*.f64 y x) 1)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 z x)) y)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 z x)) y)))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 z x)) y))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 z x)) y)))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 y (+.f64 z x)))) 1) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y z) 2) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 y z) (*.f64 y x))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 y z) (*.f64 y x))) |
(/.f64 (*.f64 y (+.f64 (pow.f64 x 3) (pow.f64 z 3))) (fma.f64 z (-.f64 z x) (*.f64 x x))) |
(/.f64 (*.f64 y (+.f64 (pow.f64 x 3) (pow.f64 z 3))) (fma.f64 x (-.f64 x z) (*.f64 z z))) |
(/.f64 (*.f64 y (-.f64 (*.f64 x x) (*.f64 z z))) (-.f64 x z)) |
(/.f64 (*.f64 y (-.f64 (*.f64 z z) (*.f64 x x))) (-.f64 z x)) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 z 3)) y) (fma.f64 z (-.f64 z x) (*.f64 x x))) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 z 3)) y) (fma.f64 x (-.f64 x z) (*.f64 z z))) |
(/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y) (-.f64 x z)) |
(/.f64 (*.f64 (-.f64 (*.f64 z z) (*.f64 x x)) y) (-.f64 z x)) |
(pow.f64 (*.f64 y (+.f64 z x)) 1) |
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) 3) |
(pow.f64 (pow.f64 (*.f64 y (+.f64 z x)) 2) 1/2) |
(pow.f64 (pow.f64 (*.f64 y (+.f64 z x)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 z x))) 2) |
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 z x)) 2)) |
(log.f64 (pow.f64 (exp.f64 (+.f64 z x)) y)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 y (+.f64 z x))))) |
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 z x)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 z x)))) |
(exp.f64 (log.f64 (*.f64 y (+.f64 z x)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 y (+.f64 z x))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 y (+.f64 z x))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 y (+.f64 z x)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 y (+.f64 z x)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 y (+.f64 z x)))) 2)) |
(exp.f64 (+.f64 (log.f64 y) (*.f64 (log.f64 (+.f64 z x)) 1))) |
(exp.f64 (+.f64 (*.f64 (log.f64 y) 1) (log.f64 (+.f64 z x)))) |
(exp.f64 (+.f64 (*.f64 (log.f64 y) 1) (*.f64 (log.f64 (+.f64 z x)) 1))) |
(exp.f64 (+.f64 (log.f64 (+.f64 z x)) (*.f64 (log.f64 y) 1))) |
(exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 z x)) 1) (log.f64 y))) |
(exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 z x)) 1) (*.f64 (log.f64 y) 1))) |
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 z x)))) |
(fma.f64 y z (*.f64 y x)) |
(fma.f64 y x (*.f64 y z)) |
(fma.f64 z y (*.f64 y x)) |
(fma.f64 x y (*.f64 y z)) |
(fma.f64 1 (*.f64 y z) (*.f64 y x)) |
(fma.f64 1 (*.f64 y x) (*.f64 y z)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 y z)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 y z)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) z) (*.f64 y x)) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) y) (*.f64 y x)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 y z)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 y z)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) z) (*.f64 y x)) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) y) (*.f64 y x)) |
(fma.f64 (*.f64 y z) 1 (*.f64 (*.f64 y x) 1)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 y z)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (cbrt.f64 (*.f64 y z)) (*.f64 y x)) |
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 y z)) |
(fma.f64 (sqrt.f64 (*.f64 y z)) (sqrt.f64 (*.f64 y z)) (*.f64 y x)) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 y z)) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 y z)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y z)) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y z)) |
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 y x)) |
(fma.f64 (*.f64 z (sqrt.f64 y)) (sqrt.f64 y) (*.f64 y x)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 y x)) |
(fma.f64 (*.f64 y (sqrt.f64 z)) (sqrt.f64 z) (*.f64 y x)) |
(+.f64 x (*.f64 y (+.f64 z x))) |
(+.f64 (*.f64 y (+.f64 z x)) x) |
(+.f64 (*.f64 y z) (fma.f64 y x x)) |
(+.f64 0 (fma.f64 y (+.f64 z x) x)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y (+.f64 z x) x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y (+.f64 z x) x))))) |
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y (+.f64 z x) x)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y (+.f64 z x) x))))) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (+.f64 z x) x))) 1) |
(*.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 (pow.f64 (*.f64 y (+.f64 z x)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 y (+.f64 z x)) x)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (+.f64 z x)) 2) (*.f64 x x)) (-.f64 (*.f64 y (+.f64 z x)) 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) |
(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 (*.f64 3 (log.f64 (fma.f64 y (+.f64 z x) x))) 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))) |
| Outputs |
|---|
(*.f64 y x) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y x) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y x) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
x |
(+.f64 (*.f64 y (+.f64 z x)) x) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y (+.f64 z x)) x) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y (+.f64 z x)) x) |
(fma.f64 y (+.f64 x z) x) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y (+.f64 z x)) x) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y (+.f64 z x)) x) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y (+.f64 z x)) x) |
(fma.f64 y (+.f64 x z) x) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y (+.f64 z x)) x) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y (+.f64 z x)) x) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y (+.f64 z x)) x) |
(fma.f64 y (+.f64 x z) x) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x)) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x)) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x)) |
(fma.f64 y (+.f64 x z) x) |
(*.f64 (+.f64 1 y) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x)) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x)) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x)) |
(fma.f64 y (+.f64 x z) x) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)) |
(neg.f64 (*.f64 x (fma.f64 -1 y -1))) |
(*.f64 x (neg.f64 (fma.f64 y -1 -1))) |
(*.f64 x (neg.f64 (-.f64 -1 y))) |
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(fma.f64 y z (neg.f64 (*.f64 x (fma.f64 -1 y -1)))) |
(-.f64 (*.f64 y z) (*.f64 x (fma.f64 y -1 -1))) |
(-.f64 (*.f64 y z) (*.f64 x (-.f64 -1 y))) |
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(fma.f64 y z (neg.f64 (*.f64 x (fma.f64 -1 y -1)))) |
(-.f64 (*.f64 y z) (*.f64 x (fma.f64 y -1 -1))) |
(-.f64 (*.f64 y z) (*.f64 x (-.f64 -1 y))) |
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))) |
(fma.f64 y z (neg.f64 (*.f64 x (fma.f64 -1 y -1)))) |
(-.f64 (*.f64 y z) (*.f64 x (fma.f64 y -1 -1))) |
(-.f64 (*.f64 y z) (*.f64 x (-.f64 -1 y))) |
(+.f64 (*.f64 y x) x) |
(fma.f64 y x x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(fma.f64 y (+.f64 x z) x) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(fma.f64 y (+.f64 x z) x) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x)) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(+.f64 0 (*.f64 y (+.f64 z x))) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 (*.f64 y z) 1) (*.f64 (*.f64 y x) 1)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 z x)) y)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 z x)) y)))) |
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x z)) y)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x z)) y)))) |
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x z)) y)))) |
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (+.f64 x z)))) 3) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 z x)) y))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 z x)) y)))) |
(*.f64 y (+.f64 x z)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 y (+.f64 z x)))) 1) |
(*.f64 y (+.f64 x z)) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y z) 2) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 y z) (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y z) 2) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 z (*.f64 y x)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 y z))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 z 3)) (pow.f64 y 3)) (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 (*.f64 y x) (*.f64 y (-.f64 x z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 y z) (*.f64 y x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 y x) 2)) (*.f64 y (-.f64 z x))) |
(*.f64 (/.f64 (*.f64 y (+.f64 x z)) y) (/.f64 (*.f64 y (-.f64 z x)) (-.f64 z x))) |
(/.f64 (*.f64 y (+.f64 (pow.f64 x 3) (pow.f64 z 3))) (fma.f64 z (-.f64 z x) (*.f64 x x))) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 z 3)) (/.f64 (fma.f64 z (-.f64 z x) (*.f64 x x)) y)) |
(/.f64 y (/.f64 (fma.f64 x (-.f64 x z) (*.f64 z z)) (+.f64 (pow.f64 x 3) (pow.f64 z 3)))) |
(/.f64 (*.f64 y (+.f64 (pow.f64 x 3) (pow.f64 z 3))) (fma.f64 x (-.f64 x z) (*.f64 z z))) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 z 3)) (/.f64 (fma.f64 z (-.f64 z x) (*.f64 x x)) y)) |
(/.f64 y (/.f64 (fma.f64 x (-.f64 x z) (*.f64 z z)) (+.f64 (pow.f64 x 3) (pow.f64 z 3)))) |
(/.f64 (*.f64 y (-.f64 (*.f64 x x) (*.f64 z z))) (-.f64 x z)) |
(/.f64 y (/.f64 (-.f64 x z) (-.f64 (*.f64 x x) (*.f64 z z)))) |
(*.f64 (/.f64 y (-.f64 x z)) (-.f64 (*.f64 x x) (*.f64 z z))) |
(*.f64 (-.f64 (*.f64 x x) (*.f64 z z)) (/.f64 y (-.f64 x z))) |
(/.f64 (*.f64 y (-.f64 (*.f64 z z) (*.f64 x x))) (-.f64 z x)) |
(/.f64 y (/.f64 (-.f64 z x) (-.f64 (*.f64 z z) (*.f64 x x)))) |
(*.f64 (/.f64 y (-.f64 z x)) (-.f64 (*.f64 z z) (*.f64 x x))) |
(/.f64 (+.f64 x z) (/.f64 (-.f64 z x) (*.f64 y (-.f64 z x)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 z 3)) y) (fma.f64 z (-.f64 z x) (*.f64 x x))) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 z 3)) (/.f64 (fma.f64 z (-.f64 z x) (*.f64 x x)) y)) |
(/.f64 y (/.f64 (fma.f64 x (-.f64 x z) (*.f64 z z)) (+.f64 (pow.f64 x 3) (pow.f64 z 3)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 z 3)) y) (fma.f64 x (-.f64 x z) (*.f64 z z))) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 z 3)) (/.f64 (fma.f64 z (-.f64 z x) (*.f64 x x)) y)) |
(/.f64 y (/.f64 (fma.f64 x (-.f64 x z) (*.f64 z z)) (+.f64 (pow.f64 x 3) (pow.f64 z 3)))) |
(/.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 z z)) y) (-.f64 x z)) |
(/.f64 y (/.f64 (-.f64 x z) (-.f64 (*.f64 x x) (*.f64 z z)))) |
(*.f64 (/.f64 y (-.f64 x z)) (-.f64 (*.f64 x x) (*.f64 z z))) |
(*.f64 (-.f64 (*.f64 x x) (*.f64 z z)) (/.f64 y (-.f64 x z))) |
(/.f64 (*.f64 (-.f64 (*.f64 z z) (*.f64 x x)) y) (-.f64 z x)) |
(/.f64 y (/.f64 (-.f64 z x) (-.f64 (*.f64 z z) (*.f64 x x)))) |
(*.f64 (/.f64 y (-.f64 z x)) (-.f64 (*.f64 z z) (*.f64 x x))) |
(/.f64 (+.f64 x z) (/.f64 (-.f64 z x) (*.f64 y (-.f64 z x)))) |
(pow.f64 (*.f64 y (+.f64 z x)) 1) |
(*.f64 y (+.f64 x z)) |
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) 3) |
(*.f64 y (+.f64 x z)) |
(pow.f64 (pow.f64 (*.f64 y (+.f64 z x)) 2) 1/2) |
(*.f64 y (+.f64 x z)) |
(pow.f64 (pow.f64 (*.f64 y (+.f64 z x)) 3) 1/3) |
(*.f64 y (+.f64 x z)) |
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 z x))) 2) |
(*.f64 y (+.f64 x z)) |
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 z x)) 2)) |
(*.f64 y (+.f64 x z)) |
(log.f64 (pow.f64 (exp.f64 (+.f64 z x)) y)) |
(*.f64 y (+.f64 x z)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 y (+.f64 z x))))) |
(*.f64 y (+.f64 x z)) |
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 z x)) 3)) |
(*.f64 y (+.f64 x z)) |
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 z x)))) |
(*.f64 y (+.f64 x z)) |
(exp.f64 (log.f64 (*.f64 y (+.f64 z x)))) |
(*.f64 y (+.f64 x z)) |
(exp.f64 (*.f64 (log.f64 (*.f64 y (+.f64 z x))) 1)) |
(*.f64 y (+.f64 x z)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 y (+.f64 z x))) 1) 1)) |
(*.f64 y (+.f64 x z)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 y (+.f64 z x)))) 3)) |
(*.f64 y (+.f64 x z)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 y (+.f64 z x)))) 1/3)) |
(*.f64 y (+.f64 x z)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 y (+.f64 z x)))) 2)) |
(*.f64 y (+.f64 x z)) |
(exp.f64 (+.f64 (log.f64 y) (*.f64 (log.f64 (+.f64 z x)) 1))) |
(*.f64 y (+.f64 x z)) |
(exp.f64 (+.f64 (*.f64 (log.f64 y) 1) (log.f64 (+.f64 z x)))) |
(*.f64 y (+.f64 x z)) |
(exp.f64 (+.f64 (*.f64 (log.f64 y) 1) (*.f64 (log.f64 (+.f64 z x)) 1))) |
(*.f64 y (+.f64 x z)) |
(exp.f64 (+.f64 (log.f64 (+.f64 z x)) (*.f64 (log.f64 y) 1))) |
(*.f64 y (+.f64 x z)) |
(exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 z x)) 1) (log.f64 y))) |
(*.f64 y (+.f64 x z)) |
(exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 z x)) 1) (*.f64 (log.f64 y) 1))) |
(*.f64 y (+.f64 x z)) |
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 z x)))) |
(*.f64 y (+.f64 x z)) |
(fma.f64 y z (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 y x (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 z y (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 x y (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 1 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 1 (*.f64 y x) (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) y) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) y) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (*.f64 y z) 1 (*.f64 (*.f64 y x) 1)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (cbrt.f64 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (sqrt.f64 (*.f64 y z)) (sqrt.f64 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y z)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (*.f64 z (sqrt.f64 y)) (sqrt.f64 y) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(fma.f64 (*.f64 y (sqrt.f64 z)) (sqrt.f64 z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 x (*.f64 y (+.f64 z x))) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y (+.f64 z x)) x) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (*.f64 y z) (fma.f64 y x x)) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 0 (fma.f64 y (+.f64 z x) x)) |
(fma.f64 y (+.f64 x z) x) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y (+.f64 z x) x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y (+.f64 z x) x))))) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y (+.f64 x z) x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y (+.f64 x z) x))))) |
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y (+.f64 x z) x))))) |
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y (+.f64 z x) x)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y (+.f64 z x) x))))) |
(fma.f64 y (+.f64 x z) x) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y (+.f64 z x) x))) 1) |
(fma.f64 y (+.f64 x z) x) |
(*.f64 (fma.f64 y (+.f64 z x) x) 1) |
(fma.f64 y (+.f64 x z) x) |
(*.f64 1 (fma.f64 y (+.f64 z x) x)) |
(fma.f64 y (+.f64 x z) 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 (+.f64 x z) 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 (+.f64 x z) x) |
(*.f64 (sqrt.f64 (fma.f64 y (+.f64 z x) x)) (sqrt.f64 (fma.f64 y (+.f64 z x) x))) |
(fma.f64 y (+.f64 x z) 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 (*.f64 y (+.f64 z x)) x)))) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (+.f64 x z)) 3)) (+.f64 (pow.f64 (*.f64 y (+.f64 x z)) 2) (*.f64 x (-.f64 x (*.f64 y (+.f64 x z)))))) |
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (+.f64 x z)) 3)) (fma.f64 x (-.f64 x (*.f64 y (+.f64 x z))) (pow.f64 (*.f64 y (+.f64 x z)) 2))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (+.f64 z x)) 2) (*.f64 x x)) (-.f64 (*.f64 y (+.f64 z x)) x)) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (+.f64 x z)) 2) (*.f64 x x)) (fma.f64 y (+.f64 x z) (neg.f64 x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (+.f64 x z)) 2) (*.f64 x x)) (-.f64 (*.f64 y (+.f64 x z)) x)) |
(pow.f64 (fma.f64 y (+.f64 z x) x) 1) |
(fma.f64 y (+.f64 x z) x) |
(pow.f64 (cbrt.f64 (fma.f64 y (+.f64 z x) x)) 3) |
(fma.f64 y (+.f64 x z) x) |
(pow.f64 (pow.f64 (fma.f64 y (+.f64 z x) x) 2) 1/2) |
(fma.f64 y (+.f64 x z) x) |
(pow.f64 (pow.f64 (fma.f64 y (+.f64 z x) x) 3) 1/3) |
(fma.f64 y (+.f64 x z) x) |
(pow.f64 (sqrt.f64 (fma.f64 y (+.f64 z x) x)) 2) |
(fma.f64 y (+.f64 x z) x) |
(sqrt.f64 (pow.f64 (fma.f64 y (+.f64 z x) x) 2)) |
(fma.f64 y (+.f64 x z) x) |
(log.f64 (exp.f64 (fma.f64 y (+.f64 z x) x))) |
(fma.f64 y (+.f64 x z) x) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (+.f64 z x) x)))) |
(fma.f64 y (+.f64 x z) x) |
(log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 y (+.f64 z x)))))) |
(fma.f64 y (+.f64 x z) x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 (+.f64 z x)) y))) |
(fma.f64 y (+.f64 x z) x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 y (+.f64 z x)))))) |
(fma.f64 y (+.f64 x z) x) |
(log.f64 (*.f64 (pow.f64 (exp.f64 (+.f64 z x)) y) (+.f64 1 (expm1.f64 x)))) |
(fma.f64 y (+.f64 x z) x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (+.f64 z x)))) (exp.f64 x))) |
(fma.f64 y (+.f64 x z) x) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (+.f64 z x)))) (+.f64 1 (expm1.f64 x)))) |
(fma.f64 y (+.f64 x z) x) |
(cbrt.f64 (pow.f64 (fma.f64 y (+.f64 z x) x) 3)) |
(fma.f64 y (+.f64 x z) x) |
(expm1.f64 (log1p.f64 (fma.f64 y (+.f64 z x) x))) |
(fma.f64 y (+.f64 x z) x) |
(exp.f64 (log.f64 (fma.f64 y (+.f64 z x) x))) |
(fma.f64 y (+.f64 x z) x) |
(exp.f64 (*.f64 (log.f64 (fma.f64 y (+.f64 z x) x)) 1)) |
(fma.f64 y (+.f64 x z) x) |
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y (+.f64 z x) x)) 1) 1)) |
(fma.f64 y (+.f64 x z) x) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y (+.f64 z x) x))) 3)) |
(fma.f64 y (+.f64 x z) x) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 y (+.f64 z x) x))) 1/3)) |
(fma.f64 y (+.f64 x z) x) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y (+.f64 z x) x))) 2)) |
(fma.f64 y (+.f64 x z) x) |
(log1p.f64 (expm1.f64 (fma.f64 y (+.f64 z x) x))) |
(fma.f64 y (+.f64 x z) x) |
Compiled 1873 to 656 computations (65% saved)
5 alts after pruning (5 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 140 | 5 | 145 |
| Fresh | 0 | 0 | 0 |
| Picked | 2 | 0 | 2 |
| Done | 0 | 0 | 0 |
| Total | 142 | 5 | 147 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 99.6% | (+.f64 x (fma.f64 z y (*.f64 y x))) |
| ▶ | 76.2% | (+.f64 x (*.f64 y z)) |
| ▶ | 64.5% | (*.f64 (+.f64 1 y) x) |
| ▶ | 61.9% | (*.f64 y (+.f64 z x)) |
| 40.5% | x | |
| ▶ | 99.6% | (+.f64 x (fma.f64 z y (*.f64 y x))) |
| ▶ | 76.2% | (+.f64 x (*.f64 y z)) |
| ▶ | 64.5% | (*.f64 (+.f64 1 y) x) |
| ▶ | 61.9% | (*.f64 y (+.f64 z x)) |
| 40.5% | x |
Compiled 78 to 50 computations (35.9% saved)
Found 2 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 99.6% | (fma.f64 z y (*.f64 y x)) |
| 100.0% | (*.f64 y (+.f64 z x)) |
Compiled 57 to 17 computations (70.2% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | 0 | (fma.f64 z y (*.f64 y x)) |
| 1.0ms | y | @ | inf | (fma.f64 z y (*.f64 y x)) |
| 1.0ms | y | @ | -inf | (fma.f64 z y (*.f64 y x)) |
| 0.0ms | y | @ | 0 | (fma.f64 z y (*.f64 y x)) |
| 0.0ms | x | @ | inf | (fma.f64 z y (*.f64 y x)) |
| 1× | batch-egg-rewrite |
| 1518× | pow1 |
| 1380× | add-exp-log |
| 1380× | log1p-expm1-u |
| 1380× | expm1-log1p-u |
| 1348× | add-log-exp |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 157 | 13 |
| 2 | 1869 | 13 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 z y (*.f64 y x)) |
| Outputs |
|---|
(+.f64 (*.f64 y x) (*.f64 z y)) |
(+.f64 (*.f64 z y) (*.f64 y x)) |
(+.f64 (*.f64 (*.f64 z y) 1) (*.f64 y x)) |
(-.f64 (+.f64 1 (*.f64 y (+.f64 z x))) 1) |
(*.f64 y (+.f64 z x)) |
(*.f64 (*.f64 y (+.f64 z x)) 1) |
(*.f64 1 (*.f64 y (+.f64 z x))) |
(*.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) (pow.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) 2) (cbrt.f64 (*.f64 y (+.f64 z x)))) |
(*.f64 (sqrt.f64 (*.f64 y (+.f64 z x))) (sqrt.f64 (*.f64 y (+.f64 z x)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 z y) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 (*.f64 z y) (*.f64 z y)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 z y) (*.f64 y x))))) |
(/.f64 (-.f64 (*.f64 (*.f64 z y) (*.f64 z y)) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 z y) (*.f64 y x))) |
(pow.f64 (*.f64 y (+.f64 z x)) 1) |
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) 3) |
(pow.f64 (pow.f64 (*.f64 y (+.f64 z x)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 z x))) 2) |
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 z x)) 2)) |
(log.f64 (exp.f64 (*.f64 y (+.f64 z x)))) |
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 z x)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 z x)))) |
(exp.f64 (log.f64 (*.f64 y (+.f64 z x)))) |
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 z x)))) |
| 1× | egg-herbie |
| 1702× | fma-neg |
| 892× | associate-/l* |
| 674× | log-prod |
| 564× | fma-def |
| 496× | exp-prod |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 64 | 846 |
| 1 | 187 | 828 |
| 2 | 738 | 820 |
| 3 | 2758 | 790 |
| 4 | 6928 | 790 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y x) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 z x)) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 x)))) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 x)))) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 x)))) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 x)))) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z y)) |
(+.f64 (*.f64 z y) (*.f64 y x)) |
(+.f64 (*.f64 (*.f64 z y) 1) (*.f64 y x)) |
(-.f64 (+.f64 1 (*.f64 y (+.f64 z x))) 1) |
(*.f64 y (+.f64 z x)) |
(*.f64 (*.f64 y (+.f64 z x)) 1) |
(*.f64 1 (*.f64 y (+.f64 z x))) |
(*.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) (pow.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) 2) (cbrt.f64 (*.f64 y (+.f64 z x)))) |
(*.f64 (sqrt.f64 (*.f64 y (+.f64 z x))) (sqrt.f64 (*.f64 y (+.f64 z x)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 z y) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 (*.f64 z y) (*.f64 z y)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 z y) (*.f64 y x))))) |
(/.f64 (-.f64 (*.f64 (*.f64 z y) (*.f64 z y)) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 z y) (*.f64 y x))) |
(pow.f64 (*.f64 y (+.f64 z x)) 1) |
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) 3) |
(pow.f64 (pow.f64 (*.f64 y (+.f64 z x)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 z x))) 2) |
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 z x)) 2)) |
(log.f64 (exp.f64 (*.f64 y (+.f64 z x)))) |
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 z x)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 z x)))) |
(exp.f64 (log.f64 (*.f64 y (+.f64 z x)))) |
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 z x)))) |
| Outputs |
|---|
(*.f64 y x) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 x)))) |
(*.f64 y (+.f64 x z)) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 x)))) |
(*.f64 y (+.f64 x z)) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 x)))) |
(*.f64 y (+.f64 x z)) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 x)))) |
(*.f64 y (+.f64 x z)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y x) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 y x) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y z) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 z y)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 z y) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(+.f64 (*.f64 (*.f64 z y) 1) (*.f64 y x)) |
(*.f64 y (+.f64 x z)) |
(-.f64 (+.f64 1 (*.f64 y (+.f64 z x))) 1) |
(*.f64 y (+.f64 x z)) |
(*.f64 y (+.f64 z x)) |
(*.f64 y (+.f64 x z)) |
(*.f64 (*.f64 y (+.f64 z x)) 1) |
(*.f64 y (+.f64 x z)) |
(*.f64 1 (*.f64 y (+.f64 z x))) |
(*.f64 y (+.f64 x z)) |
(*.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) (pow.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) 2)) |
(*.f64 y (+.f64 x z)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) 2) (cbrt.f64 (*.f64 y (+.f64 z x)))) |
(*.f64 y (+.f64 x z)) |
(*.f64 (sqrt.f64 (*.f64 y (+.f64 z x))) (sqrt.f64 (*.f64 y (+.f64 z x)))) |
(*.f64 y (+.f64 x z)) |
(/.f64 (+.f64 (pow.f64 (*.f64 z y) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 (*.f64 z y) (*.f64 z y)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 z y) (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y z) (*.f64 y z) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (*.f64 y (*.f64 y x)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (*.f64 y (*.f64 y z)) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 y z))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 y z) (*.f64 y (-.f64 z x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 z (*.f64 y y)) (-.f64 z x)))) |
(/.f64 (-.f64 (*.f64 (*.f64 z y) (*.f64 z y)) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 z y) (*.f64 y x))) |
(/.f64 (fma.f64 (*.f64 y z) (*.f64 y z) (neg.f64 (pow.f64 (*.f64 y x) 2))) (-.f64 (*.f64 y z) (*.f64 y x))) |
(/.f64 (*.f64 (*.f64 y (+.f64 x z)) (*.f64 y (-.f64 z x))) (*.f64 y (-.f64 z x))) |
(*.f64 (/.f64 (*.f64 y (+.f64 x z)) y) (/.f64 (*.f64 y (-.f64 z x)) (-.f64 z x))) |
(*.f64 y (/.f64 (+.f64 x z) 1)) |
(pow.f64 (*.f64 y (+.f64 z x)) 1) |
(*.f64 y (+.f64 x z)) |
(pow.f64 (cbrt.f64 (*.f64 y (+.f64 z x))) 3) |
(*.f64 y (+.f64 x z)) |
(pow.f64 (pow.f64 (*.f64 y (+.f64 z x)) 3) 1/3) |
(*.f64 y (+.f64 x z)) |
(pow.f64 (sqrt.f64 (*.f64 y (+.f64 z x))) 2) |
(*.f64 y (+.f64 x z)) |
(sqrt.f64 (pow.f64 (*.f64 y (+.f64 z x)) 2)) |
(*.f64 y (+.f64 x z)) |
(log.f64 (exp.f64 (*.f64 y (+.f64 z x)))) |
(*.f64 y (+.f64 x z)) |
(cbrt.f64 (pow.f64 (*.f64 y (+.f64 z x)) 3)) |
(*.f64 y (+.f64 x z)) |
(expm1.f64 (log1p.f64 (*.f64 y (+.f64 z x)))) |
(*.f64 y (+.f64 x z)) |
(exp.f64 (log.f64 (*.f64 y (+.f64 z x)))) |
(*.f64 y (+.f64 x z)) |
(log1p.f64 (expm1.f64 (*.f64 y (+.f64 z x)))) |
(*.f64 y (+.f64 x z)) |
Compiled 1527 to 497 computations (67.5% saved)
7 alts after pruning (4 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 118 | 3 | 121 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 3 | 4 |
| Done | 0 | 0 | 0 |
| Total | 119 | 7 | 126 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 61.5% | (fma.f64 z y (*.f64 y x)) |
| ✓ | 76.2% | (+.f64 x (*.f64 y z)) |
| ✓ | 64.5% | (*.f64 (+.f64 1 y) x) |
| ✓ | 61.9% | (*.f64 y (+.f64 z x)) |
| ▶ | 38.4% | (*.f64 y z) |
| ▶ | 27.0% | (*.f64 y x) |
| 40.5% | x | |
| ▶ | 61.5% | (fma.f64 z y (*.f64 y x)) |
| ✓ | 76.2% | (+.f64 x (*.f64 y z)) |
| ✓ | 64.5% | (*.f64 (+.f64 1 y) x) |
| ✓ | 61.9% | (*.f64 y (+.f64 z x)) |
| ▶ | 38.4% | (*.f64 y z) |
| ▶ | 27.0% | (*.f64 y x) |
| 40.5% | x |
Compiled 98 to 64 computations (34.7% saved)
Found 1 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| 99.6% | (fma.f64 z y (*.f64 y x)) |
Compiled 26 to 7 computations (73.1% saved)
Compiled 434 to 142 computations (67.3% saved)
7 alts after pruning (1 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 35 | 0 | 35 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 3 | 3 |
| Done | 0 | 3 | 3 |
| Total | 35 | 7 | 42 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 61.5% | (fma.f64 z y (*.f64 y x)) |
| ✓ | 76.2% | (+.f64 x (*.f64 y z)) |
| ✓ | 64.5% | (*.f64 (+.f64 1 y) x) |
| ✓ | 61.9% | (*.f64 y (+.f64 z x)) |
| ✓ | 38.4% | (*.f64 y z) |
| ✓ | 27.0% | (*.f64 y x) |
| 40.5% | x | |
| ✓ | 61.5% | (fma.f64 z y (*.f64 y x)) |
| ✓ | 76.2% | (+.f64 x (*.f64 y z)) |
| ✓ | 64.5% | (*.f64 (+.f64 1 y) x) |
| ✓ | 61.9% | (*.f64 y (+.f64 z x)) |
| ✓ | 38.4% | (*.f64 y z) |
| ✓ | 27.0% | (*.f64 y x) |
| 40.5% | x |
Compiled 98 to 64 computations (34.7% 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 |
|---|---|---|
| ✓ | 61.5% | (fma.f64 z y (*.f64 y x)) |
| ✓ | 76.2% | (+.f64 x (*.f64 y z)) |
| ✓ | 64.5% | (*.f64 (+.f64 1 y) x) |
| ✓ | 61.9% | (*.f64 y (+.f64 z x)) |
| ✓ | 38.4% | (*.f64 y z) |
| ✓ | 27.0% | (*.f64 y x) |
| 40.5% | x |
Compiled 101 to 48 computations (52.5% saved)
| Inputs |
|---|
x |
(*.f64 y x) |
(*.f64 y z) |
(*.f64 y (+.f64 z x)) |
(*.f64 (+.f64 1 y) x) |
(+.f64 x (*.f64 y z)) |
(+.f64 x (*.f64 y (+.f64 z x))) |
(fma.f64 y (+.f64 x z) x) |
(fma.f64 z y (*.f64 y x)) |
(+.f64 x (fma.f64 z y (*.f64 y x))) |
| Outputs |
|---|
(fma.f64 y (+.f64 x z) x) |
4 calls:
| 7.0ms | z |
| 7.0ms | x |
| 6.0ms | y |
| 6.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 74 to 31 computations (58.1% saved)
| Inputs |
|---|
x |
(*.f64 y x) |
(*.f64 y z) |
(*.f64 y (+.f64 z x)) |
(*.f64 (+.f64 1 y) x) |
(+.f64 x (*.f64 y z)) |
(+.f64 x (*.f64 y (+.f64 z x))) |
| Outputs |
|---|
(+.f64 x (*.f64 y (+.f64 z x))) |
4 calls:
| 6.0ms | z |
| 6.0ms | x |
| 5.0ms | y |
| 5.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 54 to 27 computations (50% saved)
| Inputs |
|---|
x |
(*.f64 y x) |
(*.f64 y z) |
(*.f64 y (+.f64 z x)) |
(*.f64 (+.f64 1 y) x) |
(+.f64 x (*.f64 y z)) |
| Outputs |
|---|
(*.f64 y (+.f64 z x)) |
(+.f64 x (*.f64 y z)) |
(*.f64 y (+.f64 z x)) |
3 calls:
| 14.0ms | y |
| 14.0ms | z |
| 14.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 90.7% | 3 | x |
| 99.6% | 3 | y |
| 87.9% | 3 | z |
Compiled 37 to 20 computations (45.9% saved)
| Inputs |
|---|
x |
(*.f64 y x) |
(*.f64 y z) |
(*.f64 y (+.f64 z x)) |
(*.f64 (+.f64 1 y) x) |
| Outputs |
|---|
(*.f64 y (+.f64 z x)) |
x |
(*.f64 y (+.f64 z x)) |
3 calls:
| 14.0ms | y |
| 13.0ms | z |
| 12.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 79.9% | 3 | z |
| 81.5% | 3 | x |
| 87.4% | 3 | y |
Compiled 32 to 19 computations (40.6% saved)
| Inputs |
|---|
x |
(*.f64 y x) |
(*.f64 y z) |
| Outputs |
|---|
(*.f64 y z) |
(*.f64 y x) |
x |
(*.f64 y z) |
(*.f64 y x) |
(*.f64 y z) |
(*.f64 y x) |
3 calls:
| 25.0ms | z |
| 25.0ms | x |
| 22.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 61.6% | 8 | z |
| 62.0% | 7 | x |
| 71.7% | 7 | y |
Compiled 22 to 14 computations (36.4% saved)
| Inputs |
|---|
x |
(*.f64 y x) |
| Outputs |
|---|
(*.f64 y x) |
x |
(*.f64 y x) |
1 calls:
| 8.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 64.2% | 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:
| 3.0ms | y |
| 3.0ms | x |
| 3.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 40.5% | 1 | z |
| 40.5% | 1 | x |
| 40.5% | 1 | y |
Compiled 16 to 12 computations (25% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 6.401019706514989e-27 | 1.372001022149119e-24 |
| 16.0ms | -93318505223.05385 | -1.0143667938550226e-5 |
| 25.0ms | 272× | body | 256 | valid |
Compiled 322 to 215 computations (33.2% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 12.0ms | 5.1108970991038695e-31 | 3.372412404492995e-28 |
| 18.0ms | -1.652052777090907e-16 | -1.1698619981236435e-26 |
| 27.0ms | 288× | body | 256 | valid |
Compiled 268 to 191 computations (28.7% saved)
| 6× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 18.0ms | 4.415956970088634e+207 | 9.594536532220353e+229 |
| 15.0ms | 7.18074110235683e+109 | 4.763822332526191e+116 |
| 19.0ms | 1.6798404045489633e-7 | 3459237340390.742 |
| 12.0ms | 5.1108970991038695e-31 | 3.372412404492995e-28 |
| 19.0ms | -93318505223.05385 | -1.0143667938550226e-5 |
| 15.0ms | -3.043952703518169e+208 | -4.489165330050184e+204 |
| 69.0ms | 705× | body | 256 | valid |
| 19.0ms | 207× | body | 256 | infinite |
Compiled 778 to 563 computations (27.6% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 1.372001022149119e-24 | 1.5671813953115943e-18 |
| 15.0ms | -93318505223.05385 | -1.0143667938550226e-5 |
| 27.0ms | 304× | body | 256 | valid |
Compiled 244 to 182 computations (25.4% saved)
| 1× | egg-herbie |
| 10× | if-if-or-not |
| 6× | +-commutative |
| 6× | *-commutative |
| 4× | not-or |
| 2× | not-not |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 49 | 255 |
| 1 | 69 | 255 |
| 2 | 72 | 255 |
| 3 | 75 | 251 |
| 4 | 76 | 251 |
| 5 | 77 | 251 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(fma.f64 y (+.f64 x z) x) |
(+.f64 x (*.f64 y (+.f64 z x))) |
(if (<=.f64 y -1) (*.f64 y (+.f64 z x)) (if (<=.f64 y 7350099125492271/5444517870735015415413993718908291383296) (+.f64 x (*.f64 y z)) (*.f64 y (+.f64 z x)))) |
(if (<=.f64 y -473797088341303/324518553658426726783156020576256) (*.f64 y (+.f64 z x)) (if (<=.f64 y 7421688002070991/1427247692705959881058285969449495136382746624) x (*.f64 y (+.f64 z x)))) |
(if (<=.f64 y -13999999999999999564298234272968934033364002739156317534272771376893983615140493029408795980113595937095998887205258189596760188145397812975786166427973394212525636667696917588974822993483659601337611452416) (*.f64 y z) (if (<=.f64 y -1) (*.f64 y x) (if (<=.f64 y 7707137540612183/1427247692705959881058285969449495136382746624) x (if (<=.f64 y 1450000000000) (*.f64 y z) (if (<=.f64 y 1449999999999999984113386741150540902078501314483601015537485939204959123642146828934273751325288898717181542400) (*.f64 y x) (if (<=.f64 y 900000000000000041941626457338627811564577228954439175278882412216814503190777669615490940992776141088930578936386940878785535499406208282224559887743379096528687114630584599709538485305549714493813762194404218505919463424) (*.f64 y z) (*.f64 y x))))))) |
(if (<=.f64 y -1) (*.f64 y x) (if (<=.f64 y 8048060130728983/5192296858534827628530496329220096) x (*.f64 y x))) |
x |
| Outputs |
|---|
(fma.f64 y (+.f64 x z) x) |
(+.f64 x (*.f64 y (+.f64 z x))) |
(+.f64 x (*.f64 y (+.f64 x z))) |
(if (<=.f64 y -1) (*.f64 y (+.f64 z x)) (if (<=.f64 y 7350099125492271/5444517870735015415413993718908291383296) (+.f64 x (*.f64 y z)) (*.f64 y (+.f64 z x)))) |
(if (or (<=.f64 y -1) (not (<=.f64 y 7350099125492271/5444517870735015415413993718908291383296))) (*.f64 y (+.f64 x z)) (+.f64 x (*.f64 y z))) |
(if (<=.f64 y -473797088341303/324518553658426726783156020576256) (*.f64 y (+.f64 z x)) (if (<=.f64 y 7421688002070991/1427247692705959881058285969449495136382746624) x (*.f64 y (+.f64 z x)))) |
(if (or (<=.f64 y -473797088341303/324518553658426726783156020576256) (not (<=.f64 y 7421688002070991/1427247692705959881058285969449495136382746624))) (*.f64 y (+.f64 x z)) x) |
(if (<=.f64 y -13999999999999999564298234272968934033364002739156317534272771376893983615140493029408795980113595937095998887205258189596760188145397812975786166427973394212525636667696917588974822993483659601337611452416) (*.f64 y z) (if (<=.f64 y -1) (*.f64 y x) (if (<=.f64 y 7707137540612183/1427247692705959881058285969449495136382746624) x (if (<=.f64 y 1450000000000) (*.f64 y z) (if (<=.f64 y 1449999999999999984113386741150540902078501314483601015537485939204959123642146828934273751325288898717181542400) (*.f64 y x) (if (<=.f64 y 900000000000000041941626457338627811564577228954439175278882412216814503190777669615490940992776141088930578936386940878785535499406208282224559887743379096528687114630584599709538485305549714493813762194404218505919463424) (*.f64 y z) (*.f64 y x))))))) |
(if (<=.f64 y -13999999999999999564298234272968934033364002739156317534272771376893983615140493029408795980113595937095998887205258189596760188145397812975786166427973394212525636667696917588974822993483659601337611452416) (*.f64 y z) (if (<=.f64 y -1) (*.f64 y x) (if (<=.f64 y 7707137540612183/1427247692705959881058285969449495136382746624) x (if (or (<=.f64 y 1450000000000) (and (not (<=.f64 y 1449999999999999984113386741150540902078501314483601015537485939204959123642146828934273751325288898717181542400)) (<=.f64 y 900000000000000041941626457338627811564577228954439175278882412216814503190777669615490940992776141088930578936386940878785535499406208282224559887743379096528687114630584599709538485305549714493813762194404218505919463424))) (*.f64 y z) (*.f64 y x))))) |
(if (<=.f64 y -1) (*.f64 y x) (if (<=.f64 y 8048060130728983/5192296858534827628530496329220096) x (*.f64 y x))) |
x |
Compiled 122 to 74 computations (39.3% saved)
| 2990× | fma-def |
| 462× | unsub-neg |
| 350× | distribute-rgt-in |
| 310× | sub-neg |
| 262× | associate-+l- |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 29 | 164 |
| 1 | 86 | 128 |
| 2 | 255 | 128 |
| 3 | 466 | 128 |
| 4 | 903 | 128 |
| 5 | 1458 | 128 |
| 6 | 2670 | 128 |
| 7 | 3174 | 128 |
| 8 | 3263 | 128 |
| 9 | 3263 | 128 |
| 10 | 3975 | 128 |
| 11 | 3975 | 128 |
| 1× | saturated |
Compiled 29 to 10 computations (65.5% saved)
Compiled 228 to 110 computations (51.8% saved)
Loading profile data...