
Time bar (total: 4.9s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 13 to 9 computations (30.8% saved)
ival-add, time spent: 0.0ms, 0.0% of total-timeival-mult, time spent: 0.0ms, 0.0% of total-timeival-div, time spent: 0.0ms, 0.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1.1s | 7221× | 256 | valid |
| 165.0ms | 1033× | 256 | infinite |
| 0.0ms | 1× | 256 | valid |
| 0.0ms | 1× | 1024 | valid |
ival-add, time spent: 106.0ms, 40.0% of total-timeival-div, time spent: 81.0ms, 31.0% of total-timeival-mult, time spent: 64.0ms, 24.0% of total-timeconst, time spent: 14.0ms, 5.0% of total-time| 1× | egg-herbie |
| 2916× | fma-def |
| 416× | distribute-rgt-in |
| 308× | sub-neg |
| 280× | unsub-neg |
| 262× | cancel-sign-sub |
| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 0 | 0 | - | 0 | - | (+.f64 (/.f64 x 2) (*.f64 y x)) |
| 0 | 0 | - | 0 | - | x |
| 0 | 0 | - | 0 | - | (*.f64 y x) |
| 0 | 0 | - | 0 | - | (/.f64 x 2) |
| 0 | 0 | - | 0 | - | z |
| 0 | 0 | - | 0 | - | 2 |
| 0 | 0 | - | 0 | - | y |
| 0 | 0 | - | 0 | - | (+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
Useful iterations: 10 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 435 |
| 1 | 99 | 375 |
| 2 | 274 | 371 |
| 3 | 804 | 323 |
| 4 | 1692 | 297 |
| 5 | 2827 | 297 |
| 6 | 3301 | 292 |
| 7 | 3465 | 292 |
| 8 | 3573 | 292 |
| 9 | 3608 | 292 |
| 10 | 3616 | 276 |
| 11 | 4174 | 276 |
| 12 | 4174 | 276 |
| 13 | 4174 | 276 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
(+.f64 (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 y (neg.f64 x))) z) |
(+.f64 (+.f64 (/.f64 x 2) (*.f64 (neg.f64 y) x)) z) |
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) (neg.f64 z)) |
(neg.f64 (+.f64 (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 y (neg.f64 x))) z)) |
(neg.f64 (+.f64 (+.f64 (/.f64 x 2) (*.f64 (neg.f64 y) x)) z)) |
(neg.f64 (+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) (neg.f64 z))) |
(+.f64 (+.f64 (/.f64 y 2) (*.f64 x y)) z) |
(+.f64 (+.f64 (/.f64 z 2) (*.f64 y z)) x) |
(+.f64 (+.f64 (/.f64 x 2) (*.f64 z x)) y) |
| Outputs |
|---|
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z)) |
(+.f64 (/.f64 x 2) (fma.f64 x y z)) |
(-.f64 z (*.f64 x (-.f64 -1/2 y))) |
(fma.f64 x (+.f64 y 1/2) z) |
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z)) |
(+.f64 (/.f64 x 2) (fma.f64 x y z)) |
(-.f64 z (*.f64 x (-.f64 -1/2 y))) |
(fma.f64 x (+.f64 y 1/2) z) |
(+.f64 (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 y (neg.f64 x))) z) |
(+.f64 z (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 x (neg.f64 y)))) |
(-.f64 z (fma.f64 x y (/.f64 x 2))) |
(+.f64 z (*.f64 x (-.f64 -1/2 y))) |
(fma.f64 x (-.f64 -1/2 y) z) |
(+.f64 (+.f64 (/.f64 x 2) (*.f64 (neg.f64 y) x)) z) |
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x (neg.f64 y)) z)) |
(+.f64 (/.f64 x 2) (fma.f64 y (neg.f64 x) z)) |
(+.f64 (/.f64 x 2) (-.f64 z (*.f64 x y))) |
(-.f64 z (*.f64 x (+.f64 y -1/2))) |
(+.f64 z (*.f64 x (-.f64 1/2 y))) |
(fma.f64 x (-.f64 1/2 y) z) |
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) (neg.f64 z)) |
(-.f64 (+.f64 (/.f64 x 2) (*.f64 x y)) z) |
(-.f64 (fma.f64 x y (/.f64 x 2)) z) |
(-.f64 (*.f64 x (-.f64 y -1/2)) z) |
(-.f64 (*.f64 x (+.f64 y 1/2)) z) |
(neg.f64 (fma.f64 x (-.f64 -1/2 y) z)) |
(neg.f64 (+.f64 (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 y (neg.f64 x))) z)) |
(-.f64 (+.f64 (/.f64 x 2) (*.f64 x y)) z) |
(-.f64 (fma.f64 x y (/.f64 x 2)) z) |
(-.f64 (*.f64 x (-.f64 y -1/2)) z) |
(-.f64 (*.f64 x (+.f64 y 1/2)) z) |
(neg.f64 (fma.f64 x (-.f64 -1/2 y) z)) |
(neg.f64 (+.f64 (+.f64 (/.f64 x 2) (*.f64 (neg.f64 y) x)) z)) |
(neg.f64 (+.f64 (/.f64 x 2) (+.f64 (*.f64 x (neg.f64 y)) z))) |
(-.f64 (/.f64 (neg.f64 x) 2) (fma.f64 y (neg.f64 x) z)) |
(+.f64 (*.f64 -1/2 x) (fma.f64 x y (neg.f64 z))) |
(-.f64 (*.f64 x (+.f64 y -1/2)) z) |
(neg.f64 (+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) (neg.f64 z))) |
(+.f64 z (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 x (neg.f64 y)))) |
(-.f64 z (fma.f64 x y (/.f64 x 2))) |
(+.f64 z (*.f64 x (-.f64 -1/2 y))) |
(fma.f64 x (-.f64 -1/2 y) z) |
(+.f64 (+.f64 (/.f64 y 2) (*.f64 x y)) z) |
(+.f64 z (+.f64 (*.f64 x y) (/.f64 y 2))) |
(+.f64 z (fma.f64 x y (/.f64 y 2))) |
(+.f64 z (fma.f64 x y (*.f64 1/2 y))) |
(+.f64 z (*.f64 y (+.f64 1/2 x))) |
(+.f64 z (*.f64 y (+.f64 x 1/2))) |
(fma.f64 y (+.f64 x 1/2) z) |
(+.f64 (+.f64 (/.f64 z 2) (*.f64 y z)) x) |
(+.f64 x (+.f64 (/.f64 z 2) (*.f64 y z))) |
(+.f64 x (fma.f64 y z (/.f64 z 2))) |
(+.f64 x (fma.f64 y z (*.f64 1/2 z))) |
(+.f64 x (*.f64 z (+.f64 y 1/2))) |
(-.f64 x (*.f64 z (-.f64 -1/2 y))) |
(fma.f64 z (+.f64 y 1/2) x) |
(+.f64 (+.f64 (/.f64 x 2) (*.f64 z x)) y) |
(+.f64 y (+.f64 (/.f64 x 2) (*.f64 x z))) |
(+.f64 y (fma.f64 x z (/.f64 x 2))) |
(+.f64 (/.f64 x 2) (fma.f64 x z y)) |
(+.f64 (*.f64 1/2 x) (fma.f64 x z y)) |
(-.f64 y (*.f64 x (-.f64 -1/2 z))) |
(fma.f64 x (+.f64 z 1/2) y) |
Compiled 72 to 38 computations (47.2% saved)
ival-add, time spent: 12.0ms, 43.0% of total-timeival-div, time spent: 10.0ms, 36.0% of total-timeival-mult, time spent: 4.0ms, 14.0% of total-timeconst, time spent: 2.0ms, 7.0% of total-timeCompiled 33 to 19 computations (42.4% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (-.f64 z (*.f64 x (-.f64 -1/2 y))) |
| ▶ | 100.0% | (+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z)) |
Compiled 22 to 15 computations (31.8% saved)
Found 2 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 x (-.f64 -1/2 y)) |
| ✓ | 100.0% | (+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z)) |
Compiled 47 to 22 computations (53.2% saved)
ival-mult, time spent: 7.0ms, 34.0% of total-timeival-sub, time spent: 5.0ms, 24.0% of total-timeival-div, time spent: 4.0ms, 20.0% of total-timeival-add, time spent: 3.0ms, 15.0% of total-timeconst, time spent: 1.0ms, 5.0% of total-time15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | x | @ | inf | (*.f64 x (-.f64 -1/2 y)) |
| 1.0ms | y | @ | 0 | (*.f64 x (-.f64 -1/2 y)) |
| 1.0ms | x | @ | 0 | (*.f64 x (-.f64 -1/2 y)) |
| 1.0ms | x | @ | inf | (+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z)) |
| 1.0ms | y | @ | 0 | (+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z)) |
| 1× | batch-egg-rewrite |
| 1268× | fma-def |
| 835× | log1p-expm1-u |
| 835× | expm1-log1p-u |
| 498× | fma-neg |
| 412× | expm1-udef |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 52 |
| 1 | 234 | 47 |
| 2 | 3469 | 43 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z)) |
(*.f64 x (-.f64 -1/2 y)) |
| Outputs |
|---|
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z))) 1) |
(-.f64 (/.f64 (*.f64 (pow.f64 x 2) 1/4) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) (/.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))) |
(*.f64 (fma.f64 x (+.f64 1/2 y) z) 1) |
(*.f64 1 (fma.f64 x (+.f64 1/2 y) z)) |
(*.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2) (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(*.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (/.f64 1 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)))) |
(*.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)) (/.f64 1 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))) |
(/.f64 1 (/.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (+.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 (*.f64 x 1/2) (fma.f64 x y z))))) |
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (fma.f64 x (-.f64 (*.f64 x y) z) (*.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 2 (-.f64 (*.f64 x y) z))) |
(/.f64 (+.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 (/.f64 2 x) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (+.f64 (-.f64 (*.f64 x y) z) (*.f64 (/.f64 2 x) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 (/.f64 2 x) (-.f64 (*.f64 x y) z))) |
(/.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 -2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 -2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 x y) z) (*.f64 -2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 -2 (-.f64 (*.f64 x y) z))) |
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) 2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) x)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 2)) |
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 2 x) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 1)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (/.f64 2 x))) |
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) -2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (neg.f64 x))) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2)) |
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) 2 (*.f64 (-.f64 (*.f64 x y) z) x)) (*.f64 (-.f64 (*.f64 x y) z) 2)) |
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (*.f64 (-.f64 (*.f64 x y) z) 1)) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x))) |
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2 (*.f64 (-.f64 (*.f64 x y) z) (neg.f64 x))) (*.f64 (-.f64 (*.f64 x y) z) -2)) |
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))) (neg.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)))) |
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2))) (neg.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) (pow.f64 z 3)) (fma.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y)) (-.f64 (pow.f64 z 2) (*.f64 (*.f64 x (+.f64 1/2 y)) z)))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y z) 2) (*.f64 (pow.f64 x 2) 1/4)) (-.f64 (fma.f64 x y z) (*.f64 x 1/2))) |
(/.f64 (-.f64 (*.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y))) (pow.f64 z 2)) (-.f64 (*.f64 x (+.f64 1/2 y)) z)) |
(pow.f64 (fma.f64 x (+.f64 1/2 y) z) 1) |
(pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 3) |
(pow.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2) |
(sqrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 2)) |
(log.f64 (exp.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z)))) |
(cbrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(exp.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z)) 1)) |
(log1p.f64 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(fma.f64 x y (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x 1/2 (fma.f64 x y z)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (*.f64 x 1/2) 1 (fma.f64 x y z)) |
(fma.f64 y x (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (*.f64 x y) 1 (+.f64 z (*.f64 x 1/2))) |
(fma.f64 z 1 (*.f64 x (+.f64 1/2 y))) |
(fma.f64 (fma.f64 x y z) 1 (*.f64 x 1/2)) |
(fma.f64 1 (*.f64 x 1/2) (fma.f64 x y z)) |
(fma.f64 1 (*.f64 x y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 1 z (*.f64 x (+.f64 1/2 y))) |
(fma.f64 1 (fma.f64 x y z) (*.f64 x 1/2)) |
(fma.f64 1 (*.f64 x (+.f64 1/2 y)) z) |
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (fma.f64 x y z)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (fma.f64 x y z)) |
(fma.f64 (cbrt.f64 (fma.f64 x y z)) (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (cbrt.f64 (fma.f64 x y z)) (*.f64 x 1/2)) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (fma.f64 x y z)) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 x (+.f64 1/2 y))) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (+.f64 1/2 y))) |
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (fma.f64 x y z)) |
(fma.f64 (sqrt.f64 (fma.f64 x y z)) (sqrt.f64 (fma.f64 x y z)) (*.f64 x 1/2)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (fma.f64 x y z)) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (+.f64 1/2 y))) |
(fma.f64 (neg.f64 x) -1/2 (fma.f64 x y z)) |
(fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (*.f64 x 1/2)) |
(fma.f64 1/2 x (fma.f64 x y z)) |
(fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 1 (-.f64 (*.f64 x y) z)) (*.f64 x 1/2)) |
(fma.f64 (*.f64 x (+.f64 1/2 y)) 1 z) |
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) (cbrt.f64 (*.f64 x (+.f64 1/2 y))) z) |
(fma.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) (sqrt.f64 (*.f64 x (+.f64 1/2 y))) z) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 z (*.f64 x 1/2))) |
(+.f64 (*.f64 x -1/2) (*.f64 x (neg.f64 y))) |
(+.f64 (*.f64 -1/2 x) (*.f64 (neg.f64 y) x)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 -1/2 y)))) 1) |
(/.f64 (*.f64 x (-.f64 -1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 y -1/2) 1/4)) |
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (+.f64 y -1/2)) |
(/.f64 (*.f64 (-.f64 -1/8 (pow.f64 y 3)) x) (fma.f64 y (+.f64 y -1/2) 1/4)) |
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (+.f64 y -1/2)) |
(pow.f64 (*.f64 x (-.f64 -1/2 y)) 1) |
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 -1/2 y))) 3) |
(pow.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 -1/2 y))) 2) |
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 2)) |
(log.f64 (pow.f64 (exp.f64 x) (-.f64 -1/2 y))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 -1/2 y))))) |
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 3)) |
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (-.f64 -1/2 y) 3))) |
(cbrt.f64 (*.f64 (pow.f64 (-.f64 -1/2 y) 3) (pow.f64 x 3))) |
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 -1/2 y)))) |
(exp.f64 (log.f64 (*.f64 x (-.f64 -1/2 y)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 -1/2 y))) 1)) |
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 -1/2 y)))) |
(fma.f64 x -1/2 (*.f64 x (neg.f64 y))) |
(fma.f64 -1/2 x (*.f64 (neg.f64 y) x)) |
| 1× | egg-herbie |
| 1840× | fma-def |
| 1324× | distribute-lft-in |
| 1314× | distribute-rgt-in |
| 844× | unswap-sqr |
| 414× | times-frac |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 305 | 6488 |
| 1 | 765 | 6285 |
| 2 | 2313 | 6175 |
| 1× | node limit |
| Inputs |
|---|
z |
(+.f64 z (*.f64 x (+.f64 1/2 y))) |
(+.f64 z (*.f64 x (+.f64 1/2 y))) |
(+.f64 z (*.f64 x (+.f64 1/2 y))) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 z (*.f64 x (+.f64 1/2 y))) |
(+.f64 z (*.f64 x (+.f64 1/2 y))) |
(+.f64 z (*.f64 x (+.f64 1/2 y))) |
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) |
(+.f64 z (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))) |
(+.f64 z (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))) |
(+.f64 z (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))) |
(+.f64 z (*.f64 1/2 x)) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(*.f64 x y) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(*.f64 x y) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
z |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
z |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 -1/2 x) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(*.f64 -1 (*.f64 x y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(*.f64 -1 (*.f64 x y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z))) 1) |
(-.f64 (/.f64 (*.f64 (pow.f64 x 2) 1/4) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) (/.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))) |
(*.f64 (fma.f64 x (+.f64 1/2 y) z) 1) |
(*.f64 1 (fma.f64 x (+.f64 1/2 y) z)) |
(*.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2) (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(*.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (/.f64 1 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)))) |
(*.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)) (/.f64 1 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))) |
(/.f64 1 (/.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (+.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 (*.f64 x 1/2) (fma.f64 x y z))))) |
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (fma.f64 x (-.f64 (*.f64 x y) z) (*.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 2 (-.f64 (*.f64 x y) z))) |
(/.f64 (+.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 (/.f64 2 x) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (+.f64 (-.f64 (*.f64 x y) z) (*.f64 (/.f64 2 x) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 (/.f64 2 x) (-.f64 (*.f64 x y) z))) |
(/.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 -2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 -2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 x y) z) (*.f64 -2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 -2 (-.f64 (*.f64 x y) z))) |
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) 2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) x)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 2)) |
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 2 x) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 1)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (/.f64 2 x))) |
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) -2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (neg.f64 x))) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2)) |
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) 2 (*.f64 (-.f64 (*.f64 x y) z) x)) (*.f64 (-.f64 (*.f64 x y) z) 2)) |
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (*.f64 (-.f64 (*.f64 x y) z) 1)) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x))) |
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2 (*.f64 (-.f64 (*.f64 x y) z) (neg.f64 x))) (*.f64 (-.f64 (*.f64 x y) z) -2)) |
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))) (neg.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)))) |
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2))) (neg.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) (pow.f64 z 3)) (fma.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y)) (-.f64 (pow.f64 z 2) (*.f64 (*.f64 x (+.f64 1/2 y)) z)))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y z) 2) (*.f64 (pow.f64 x 2) 1/4)) (-.f64 (fma.f64 x y z) (*.f64 x 1/2))) |
(/.f64 (-.f64 (*.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y))) (pow.f64 z 2)) (-.f64 (*.f64 x (+.f64 1/2 y)) z)) |
(pow.f64 (fma.f64 x (+.f64 1/2 y) z) 1) |
(pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 3) |
(pow.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2) |
(sqrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 2)) |
(log.f64 (exp.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z)))) |
(cbrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(exp.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z)) 1)) |
(log1p.f64 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(fma.f64 x y (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x 1/2 (fma.f64 x y z)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (*.f64 x 1/2) 1 (fma.f64 x y z)) |
(fma.f64 y x (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (*.f64 x y) 1 (+.f64 z (*.f64 x 1/2))) |
(fma.f64 z 1 (*.f64 x (+.f64 1/2 y))) |
(fma.f64 (fma.f64 x y z) 1 (*.f64 x 1/2)) |
(fma.f64 1 (*.f64 x 1/2) (fma.f64 x y z)) |
(fma.f64 1 (*.f64 x y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 1 z (*.f64 x (+.f64 1/2 y))) |
(fma.f64 1 (fma.f64 x y z) (*.f64 x 1/2)) |
(fma.f64 1 (*.f64 x (+.f64 1/2 y)) z) |
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (fma.f64 x y z)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (fma.f64 x y z)) |
(fma.f64 (cbrt.f64 (fma.f64 x y z)) (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (cbrt.f64 (fma.f64 x y z)) (*.f64 x 1/2)) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (fma.f64 x y z)) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 x (+.f64 1/2 y))) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (+.f64 1/2 y))) |
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (fma.f64 x y z)) |
(fma.f64 (sqrt.f64 (fma.f64 x y z)) (sqrt.f64 (fma.f64 x y z)) (*.f64 x 1/2)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (fma.f64 x y z)) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (+.f64 1/2 y))) |
(fma.f64 (neg.f64 x) -1/2 (fma.f64 x y z)) |
(fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (*.f64 x 1/2)) |
(fma.f64 1/2 x (fma.f64 x y z)) |
(fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 1 (-.f64 (*.f64 x y) z)) (*.f64 x 1/2)) |
(fma.f64 (*.f64 x (+.f64 1/2 y)) 1 z) |
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) (cbrt.f64 (*.f64 x (+.f64 1/2 y))) z) |
(fma.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) (sqrt.f64 (*.f64 x (+.f64 1/2 y))) z) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 z (*.f64 x 1/2))) |
(+.f64 (*.f64 x -1/2) (*.f64 x (neg.f64 y))) |
(+.f64 (*.f64 -1/2 x) (*.f64 (neg.f64 y) x)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 -1/2 y)))) 1) |
(/.f64 (*.f64 x (-.f64 -1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 y -1/2) 1/4)) |
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (+.f64 y -1/2)) |
(/.f64 (*.f64 (-.f64 -1/8 (pow.f64 y 3)) x) (fma.f64 y (+.f64 y -1/2) 1/4)) |
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (+.f64 y -1/2)) |
(pow.f64 (*.f64 x (-.f64 -1/2 y)) 1) |
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 -1/2 y))) 3) |
(pow.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 -1/2 y))) 2) |
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 2)) |
(log.f64 (pow.f64 (exp.f64 x) (-.f64 -1/2 y))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 -1/2 y))))) |
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 3)) |
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (-.f64 -1/2 y) 3))) |
(cbrt.f64 (*.f64 (pow.f64 (-.f64 -1/2 y) 3) (pow.f64 x 3))) |
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 -1/2 y)))) |
(exp.f64 (log.f64 (*.f64 x (-.f64 -1/2 y)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 -1/2 y))) 1)) |
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 -1/2 y)))) |
(fma.f64 x -1/2 (*.f64 x (neg.f64 y))) |
(fma.f64 -1/2 x (*.f64 (neg.f64 y) x)) |
| Outputs |
|---|
z |
(+.f64 z (*.f64 x (+.f64 1/2 y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (*.f64 x (+.f64 1/2 y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (*.f64 x (+.f64 1/2 y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 z (*.f64 x (+.f64 1/2 y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (*.f64 x (+.f64 1/2 y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (*.f64 x (+.f64 1/2 y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 z (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2)))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (*.f64 1/2 x)) |
(+.f64 z (*.f64 x 1/2)) |
(fma.f64 x 1/2 z) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(*.f64 x y) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(*.f64 x y) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
z |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
z |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 z (+.f64 (*.f64 1/2 x) (*.f64 x y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1 (*.f64 x (+.f64 1/2 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1/2 x) |
(*.f64 x -1/2) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1 (*.f64 x y)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(*.f64 -1 (*.f64 x y)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 -1/2 x)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z))) 1) |
(fma.f64 x (+.f64 1/2 y) z) |
(-.f64 (/.f64 (*.f64 (pow.f64 x 2) 1/4) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) (/.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))) |
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (fma.f64 (pow.f64 x 2) -1/4 (pow.f64 (fma.f64 x y z) 2)) (fma.f64 x -1/2 (fma.f64 x y z))) |
(*.f64 (fma.f64 x (+.f64 1/2 y) z) 1) |
(fma.f64 x (+.f64 1/2 y) z) |
(*.f64 1 (fma.f64 x (+.f64 1/2 y) z)) |
(fma.f64 x (+.f64 1/2 y) z) |
(*.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2)) |
(fma.f64 x (+.f64 1/2 y) z) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2) (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(fma.f64 x (+.f64 1/2 y) z) |
(*.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(fma.f64 x (+.f64 1/2 y) z) |
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (/.f64 1 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)))) |
(/.f64 (*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) 1) (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (+.f64 (*.f64 x -1/2) (fma.f64 x y z)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (pow.f64 x 2) 1/4 (*.f64 (fma.f64 x y z) (fma.f64 x -1/2 (fma.f64 x y z))))) |
(*.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)) (/.f64 1 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))) |
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (fma.f64 (pow.f64 x 2) -1/4 (pow.f64 (fma.f64 x y z) 2)) (fma.f64 x -1/2 (fma.f64 x y z))) |
(/.f64 1 (/.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)))) |
(/.f64 (*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) 1) (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (+.f64 (*.f64 x -1/2) (fma.f64 x y z)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (pow.f64 x 2) 1/4 (*.f64 (fma.f64 x y z) (fma.f64 x -1/2 (fma.f64 x y z))))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)))) |
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (fma.f64 (pow.f64 x 2) -1/4 (pow.f64 (fma.f64 x y z) 2)) (fma.f64 x -1/2 (fma.f64 x y z))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) 1) (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (+.f64 (*.f64 x -1/2) (fma.f64 x y z)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (pow.f64 x 2) 1/4 (*.f64 (fma.f64 x y z) (fma.f64 x -1/2 (fma.f64 x y z))))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (+.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 (*.f64 x 1/2) (fma.f64 x y z))))) |
(/.f64 (*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) 1) (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (+.f64 (*.f64 x -1/2) (fma.f64 x y z)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (pow.f64 x 2) 1/4 (*.f64 (fma.f64 x y z) (fma.f64 x -1/2 (fma.f64 x y z))))) |
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (fma.f64 (pow.f64 x 2) -1/4 (pow.f64 (fma.f64 x y z) 2)) (fma.f64 x -1/2 (fma.f64 x y z))) |
(/.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (/.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) 2) |
(/.f64 (fma.f64 x (-.f64 (*.f64 x y) z) (*.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 2 (-.f64 (*.f64 x y) z))) |
(/.f64 (fma.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (*.f64 x (fma.f64 x y (neg.f64 z)))) (*.f64 2 (fma.f64 x y (neg.f64 z)))) |
(/.f64 (+.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 (/.f64 2 x) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (/.f64 2 x))) |
(*.f64 (/.f64 (/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) 2) x) |
(/.f64 (+.f64 (-.f64 (*.f64 x y) z) (*.f64 (/.f64 2 x) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 (/.f64 2 x) (-.f64 (*.f64 x y) z))) |
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (-.f64 (*.f64 x y) z)) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x))) |
(*.f64 (/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (-.f64 (*.f64 x y) z)) (*.f64 2 (-.f64 (*.f64 x y) z))) x) |
(*.f64 (/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (fma.f64 x y (neg.f64 z))) (*.f64 2 (fma.f64 x y (neg.f64 z)))) x) |
(/.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 -2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 -2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) -2)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2)) |
(/.f64 (fma.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (neg.f64 x) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) -2)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2)) |
(/.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 x y) z) (*.f64 -2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 -2 (-.f64 (*.f64 x y) z))) |
(/.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 x y) z) (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2)) (*.f64 (-.f64 (*.f64 x y) z) -2)) |
(/.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2) (*.f64 x (-.f64 (*.f64 x y) z))) (*.f64 (-.f64 (*.f64 x y) z) -2)) |
(/.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2) (*.f64 x (fma.f64 x y (neg.f64 z)))) (*.f64 (fma.f64 x y (neg.f64 z)) -2)) |
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) 2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) x)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 2)) |
(/.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (*.f64 2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (/.f64 (fma.f64 x (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 2 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)))) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) 2) |
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 2 x) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) 1)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (/.f64 2 x))) |
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (/.f64 2 x))) |
(*.f64 (/.f64 (/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 2 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) 2) x) |
(/.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) -2 (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (neg.f64 x))) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2)) |
(/.f64 (fma.f64 (neg.f64 x) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) -2)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2)) |
(/.f64 (fma.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (neg.f64 x) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) -2)) (*.f64 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) -2)) |
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) 2 (*.f64 (-.f64 (*.f64 x y) z) x)) (*.f64 (-.f64 (*.f64 x y) z) 2)) |
(/.f64 (fma.f64 x (-.f64 (*.f64 x y) z) (*.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)))) (*.f64 2 (-.f64 (*.f64 x y) z))) |
(/.f64 (fma.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (*.f64 x (fma.f64 x y (neg.f64 z)))) (*.f64 2 (fma.f64 x y (neg.f64 z)))) |
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (*.f64 (-.f64 (*.f64 x y) z) 1)) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x))) |
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (-.f64 (*.f64 x y) z)) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 x))) |
(*.f64 (/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (-.f64 (*.f64 x y) z)) (*.f64 2 (-.f64 (*.f64 x y) z))) x) |
(*.f64 (/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 2 x) (fma.f64 x y (neg.f64 z))) (*.f64 2 (fma.f64 x y (neg.f64 z)))) x) |
(/.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2 (*.f64 (-.f64 (*.f64 x y) z) (neg.f64 x))) (*.f64 (-.f64 (*.f64 x y) z) -2)) |
(/.f64 (fma.f64 (neg.f64 x) (-.f64 (*.f64 x y) z) (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2)) (*.f64 (-.f64 (*.f64 x y) z) -2)) |
(/.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2) (*.f64 x (-.f64 (*.f64 x y) z))) (*.f64 (-.f64 (*.f64 x y) z) -2)) |
(/.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) -2) (*.f64 x (fma.f64 x y (neg.f64 z)))) (*.f64 (fma.f64 x y (neg.f64 z)) -2)) |
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3))) (neg.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4)))) |
(/.f64 (*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) 1) (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (fma.f64 x y z) (+.f64 (*.f64 x -1/2) (fma.f64 x y z)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (pow.f64 x 2) 1/4 (*.f64 (fma.f64 x y z) (fma.f64 x -1/2 (fma.f64 x y z))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2))) (neg.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))) |
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (fma.f64 (pow.f64 x 2) -1/4 (pow.f64 (fma.f64 x y z) 2)) (fma.f64 x -1/2 (fma.f64 x y z))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) (pow.f64 z 3)) (fma.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y)) (-.f64 (pow.f64 z 2) (*.f64 (*.f64 x (+.f64 1/2 y)) z)))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (+.f64 1/2 y)) 3)) (fma.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y)) (-.f64 (pow.f64 z 2) (*.f64 z (*.f64 x (+.f64 1/2 y)))))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (+.f64 1/2 y)) 3)) (fma.f64 (pow.f64 x 2) (*.f64 (+.f64 1/2 y) (+.f64 1/2 y)) (*.f64 z (-.f64 z (*.f64 x (+.f64 1/2 y)))))) |
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (+.f64 1/2 y)) 3)) (fma.f64 z (+.f64 z (*.f64 x (-.f64 -1/2 y))) (pow.f64 (*.f64 x (-.f64 -1/2 y)) 2))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 x y z) 2) (*.f64 (pow.f64 x 2) 1/4)) (-.f64 (fma.f64 x y z) (*.f64 x 1/2))) |
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (fma.f64 (pow.f64 x 2) -1/4 (pow.f64 (fma.f64 x y z) 2)) (fma.f64 x -1/2 (fma.f64 x y z))) |
(/.f64 (-.f64 (*.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y))) (pow.f64 z 2)) (-.f64 (*.f64 x (+.f64 1/2 y)) z)) |
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) (*.f64 (+.f64 1/2 y) (+.f64 1/2 y))) (pow.f64 z 2)) (fma.f64 x (+.f64 1/2 y) (neg.f64 z))) |
(/.f64 (-.f64 (*.f64 (+.f64 1/2 y) (*.f64 (+.f64 1/2 y) (pow.f64 x 2))) (pow.f64 z 2)) (-.f64 (*.f64 x (+.f64 1/2 y)) z)) |
(/.f64 (-.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 2) (pow.f64 z 2)) (fma.f64 x (+.f64 1/2 y) (neg.f64 z))) |
(pow.f64 (fma.f64 x (+.f64 1/2 y) z) 1) |
(fma.f64 x (+.f64 1/2 y) z) |
(pow.f64 (cbrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 3) |
(fma.f64 x (+.f64 1/2 y) z) |
(pow.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3) 1/3) |
(fma.f64 x (+.f64 1/2 y) z) |
(pow.f64 (sqrt.f64 (fma.f64 x (+.f64 1/2 y) z)) 2) |
(fma.f64 x (+.f64 1/2 y) z) |
(sqrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 2)) |
(fma.f64 x (+.f64 1/2 y) z) |
(log.f64 (exp.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(fma.f64 x (+.f64 1/2 y) z) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z)))) |
(fma.f64 x (+.f64 1/2 y) z) |
(cbrt.f64 (pow.f64 (fma.f64 x (+.f64 1/2 y) z) 3)) |
(fma.f64 x (+.f64 1/2 y) z) |
(expm1.f64 (log1p.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(fma.f64 x (+.f64 1/2 y) z) |
(exp.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(fma.f64 x (+.f64 1/2 y) z) |
(exp.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 1/2 y) z)) 1)) |
(fma.f64 x (+.f64 1/2 y) z) |
(log1p.f64 (expm1.f64 (fma.f64 x (+.f64 1/2 y) z))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 x y (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 x 1/2 (fma.f64 x y z)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (*.f64 x 1/2) 1 (fma.f64 x y z)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 y x (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (*.f64 x y) 1 (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 z 1 (*.f64 x (+.f64 1/2 y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (fma.f64 x y z) 1 (*.f64 x 1/2)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 1 (*.f64 x 1/2) (fma.f64 x y z)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 1 (*.f64 x y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 1 z (*.f64 x (+.f64 1/2 y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 1 (fma.f64 x y z) (*.f64 x 1/2)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 1 (*.f64 x (+.f64 1/2 y)) z) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (fma.f64 x y z)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (fma.f64 x y z)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (cbrt.f64 (fma.f64 x y z)) (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (*.f64 x 1/2)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y z)) 2) (cbrt.f64 (fma.f64 x y z)) (*.f64 x 1/2)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (fma.f64 x y z)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 x (+.f64 1/2 y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (+.f64 1/2 y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (fma.f64 x y z)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (sqrt.f64 (fma.f64 x y z)) (sqrt.f64 (fma.f64 x y z)) (*.f64 x 1/2)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (fma.f64 x y z)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (+.f64 1/2 y))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (neg.f64 x) -1/2 (fma.f64 x y z)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) (*.f64 x 1/2)) |
(fma.f64 x 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(fma.f64 1/2 x (fma.f64 x y z)) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (/.f64 1 (-.f64 (*.f64 x y) z)) (*.f64 x 1/2)) |
(fma.f64 x 1/2 (/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (fma.f64 x y (neg.f64 z)))) |
(fma.f64 (*.f64 x (+.f64 1/2 y)) 1 z) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) (cbrt.f64 (*.f64 x (+.f64 1/2 y))) z) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) (sqrt.f64 (*.f64 x (+.f64 1/2 y))) z) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 z (*.f64 x 1/2))) |
(fma.f64 x (+.f64 1/2 y) z) |
(+.f64 (*.f64 x -1/2) (*.f64 x (neg.f64 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(+.f64 (*.f64 -1/2 x) (*.f64 (neg.f64 y) x)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 -1/2 y)))) 1) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(/.f64 (*.f64 x (-.f64 -1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 y -1/2) 1/4)) |
(/.f64 x (/.f64 (fma.f64 y (+.f64 y -1/2) 1/4) (-.f64 -1/8 (pow.f64 y 3)))) |
(/.f64 (-.f64 -1/8 (pow.f64 y 3)) (/.f64 (fma.f64 y (+.f64 y -1/2) 1/4) x)) |
(*.f64 (/.f64 (-.f64 -1/8 (pow.f64 y 3)) (fma.f64 y (+.f64 y -1/2) 1/4)) x) |
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (+.f64 y -1/2)) |
(/.f64 (-.f64 1/4 (pow.f64 y 2)) (/.f64 (+.f64 y -1/2) x)) |
(*.f64 (/.f64 x (+.f64 y -1/2)) (-.f64 1/4 (pow.f64 y 2))) |
(/.f64 (*.f64 (-.f64 -1/8 (pow.f64 y 3)) x) (fma.f64 y (+.f64 y -1/2) 1/4)) |
(/.f64 x (/.f64 (fma.f64 y (+.f64 y -1/2) 1/4) (-.f64 -1/8 (pow.f64 y 3)))) |
(/.f64 (-.f64 -1/8 (pow.f64 y 3)) (/.f64 (fma.f64 y (+.f64 y -1/2) 1/4) x)) |
(*.f64 (/.f64 (-.f64 -1/8 (pow.f64 y 3)) (fma.f64 y (+.f64 y -1/2) 1/4)) x) |
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (+.f64 y -1/2)) |
(/.f64 (-.f64 1/4 (pow.f64 y 2)) (/.f64 (+.f64 y -1/2) x)) |
(*.f64 (/.f64 x (+.f64 y -1/2)) (-.f64 1/4 (pow.f64 y 2))) |
(pow.f64 (*.f64 x (-.f64 -1/2 y)) 1) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 -1/2 y))) 3) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(pow.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 3) 1/3) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 -1/2 y))) 2) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 2)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(log.f64 (pow.f64 (exp.f64 x) (-.f64 -1/2 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 -1/2 y))))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 -1/2 y)) 3)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (-.f64 -1/2 y) 3))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(cbrt.f64 (*.f64 (pow.f64 (-.f64 -1/2 y) 3) (pow.f64 x 3))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 -1/2 y)))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(exp.f64 (log.f64 (*.f64 x (-.f64 -1/2 y)))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 -1/2 y))) 1)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 -1/2 y)))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(fma.f64 x -1/2 (*.f64 x (neg.f64 y))) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
(fma.f64 -1/2 x (*.f64 (neg.f64 y) x)) |
(*.f64 (neg.f64 x) (+.f64 1/2 y)) |
(*.f64 x (-.f64 -1/2 y)) |
Compiled 2622 to 1381 computations (47.3% saved)
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 149 | 7 | 156 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 1 | 2 |
| Done | 0 | 0 | 0 |
| Total | 150 | 8 | 158 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (fma.f64 y x (+.f64 z (*.f64 x 1/2))) |
| ✓ | 100.0% | (-.f64 z (*.f64 x (-.f64 -1/2 y))) |
| 80.1% | (-.f64 z (*.f64 x (neg.f64 y))) | |
| ▶ | 57.9% | (-.f64 z (*.f64 x -1/2)) |
| 62.6% | (+.f64 (*.f64 1/2 x) (*.f64 x y)) | |
| ▶ | 62.6% | (*.f64 x (+.f64 1/2 y)) |
| ▶ | 43.1% | (*.f64 x y) |
| ▶ | 38.8% | z |
Compiled 122 to 85 computations (30.3% saved)
Found 1 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 x (+.f64 1/2 y)) |
Compiled 52 to 27 computations (48.1% saved)
ival-mult, time spent: 11.0ms, 49.0% of total-timeival-add, time spent: 5.0ms, 22.0% of total-timeival-fma, time spent: 3.0ms, 13.0% of total-timeconst, time spent: 2.0ms, 9.0% of total-timeival-sub, time spent: 1.0ms, 4.0% of total-time6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | -inf | (*.f64 x (+.f64 1/2 y)) |
| 0.0ms | y | @ | inf | (*.f64 x (+.f64 1/2 y)) |
| 0.0ms | x | @ | 0 | (*.f64 x (+.f64 1/2 y)) |
| 0.0ms | x | @ | -inf | (*.f64 x (+.f64 1/2 y)) |
| 0.0ms | x | @ | inf | (*.f64 x (+.f64 1/2 y)) |
| 1× | batch-egg-rewrite |
| 686× | unpow-prod-down |
| 523× | log1p-expm1-u |
| 523× | expm1-log1p-u |
| 500× | log-prod |
| 490× | add-exp-log |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 19 |
| 1 | 106 | 19 |
| 2 | 1431 | 19 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 x (+.f64 1/2 y)) |
| Outputs |
|---|
(+.f64 (*.f64 x 1/2) (*.f64 x y)) |
(+.f64 (*.f64 x y) (*.f64 x 1/2)) |
(+.f64 0 (*.f64 x (+.f64 1/2 y))) |
(+.f64 (*.f64 (*.f64 x 1/2) 1) (*.f64 (*.f64 x y) 1)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)))) |
(-.f64 (+.f64 1 (*.f64 x (+.f64 1/2 y))) 1) |
(/.f64 (+.f64 (pow.f64 (*.f64 x 1/2) 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x 1/2) 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x 1/2) (*.f64 x y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (*.f64 x y) 2)) (-.f64 (*.f64 x 1/2) (*.f64 x y))) |
(/.f64 (*.f64 x (+.f64 (pow.f64 y 3) 1/8)) (fma.f64 y (-.f64 y 1/2) 1/4)) |
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (-.f64 1/2 y)) |
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) 1/8) x) (fma.f64 y (-.f64 y 1/2) 1/4)) |
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y)) |
(pow.f64 (*.f64 x (+.f64 1/2 y)) 1) |
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 3) |
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) 1/2) |
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) 2) |
(pow.f64 (E.f64) (log.f64 (*.f64 x (+.f64 1/2 y)))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (+.f64 1/2 y)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))) (sqrt.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))) |
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2)) |
(log.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)) |
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y)))) |
(exp.f64 (log.f64 (*.f64 x (+.f64 1/2 y)))) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (+.f64 1/2 y)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y)))) 2)) |
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 1/2 y)))) |
(fma.f64 x 1/2 (*.f64 x y)) |
(fma.f64 x y (*.f64 x 1/2)) |
(fma.f64 1/2 x (*.f64 x y)) |
(fma.f64 y x (*.f64 x 1/2)) |
(fma.f64 1 (*.f64 x 1/2) (*.f64 x y)) |
(fma.f64 1 (*.f64 x y) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 x 1/2)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 x 1/2)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (*.f64 x y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 x 1/2)) |
(fma.f64 (*.f64 x 1/2) 1 (*.f64 (*.f64 x y) 1)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (*.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 x 1/2)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 1/2)) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 1/2)) |
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x y)) |
(fma.f64 (*.f64 1/2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x y)) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x 1/2)) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x 1/2)) |
| 1× | egg-herbie |
| 1308× | associate-/r* |
| 1114× | fma-def |
| 566× | fma-neg |
| 472× | cancel-sign-sub-inv |
| 422× | associate-*r/ |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 151 | 1525 |
| 1 | 380 | 1474 |
| 2 | 1036 | 1461 |
| 3 | 4204 | 1459 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/2 x) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x y) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x y) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 x 1/2) (*.f64 x y)) |
(+.f64 (*.f64 x y) (*.f64 x 1/2)) |
(+.f64 0 (*.f64 x (+.f64 1/2 y))) |
(+.f64 (*.f64 (*.f64 x 1/2) 1) (*.f64 (*.f64 x y) 1)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)))) |
(-.f64 (+.f64 1 (*.f64 x (+.f64 1/2 y))) 1) |
(/.f64 (+.f64 (pow.f64 (*.f64 x 1/2) 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x 1/2) 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x 1/2) (*.f64 x y))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (*.f64 x y) 2)) (-.f64 (*.f64 x 1/2) (*.f64 x y))) |
(/.f64 (*.f64 x (+.f64 (pow.f64 y 3) 1/8)) (fma.f64 y (-.f64 y 1/2) 1/4)) |
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (-.f64 1/2 y)) |
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) 1/8) x) (fma.f64 y (-.f64 y 1/2) 1/4)) |
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y)) |
(pow.f64 (*.f64 x (+.f64 1/2 y)) 1) |
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 3) |
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) 1/2) |
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) 2) |
(pow.f64 (E.f64) (log.f64 (*.f64 x (+.f64 1/2 y)))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (+.f64 1/2 y)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))) (sqrt.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))) |
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2)) |
(log.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)) |
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y)))) |
(exp.f64 (log.f64 (*.f64 x (+.f64 1/2 y)))) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (+.f64 1/2 y)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y)))) 2)) |
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 1/2 y)))) |
(fma.f64 x 1/2 (*.f64 x y)) |
(fma.f64 x y (*.f64 x 1/2)) |
(fma.f64 1/2 x (*.f64 x y)) |
(fma.f64 y x (*.f64 x 1/2)) |
(fma.f64 1 (*.f64 x 1/2) (*.f64 x y)) |
(fma.f64 1 (*.f64 x y) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 x 1/2)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 x 1/2)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (*.f64 x y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 x 1/2)) |
(fma.f64 (*.f64 x 1/2) 1 (*.f64 (*.f64 x y) 1)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (*.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 x 1/2)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 1/2)) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 1/2)) |
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x y)) |
(fma.f64 (*.f64 1/2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x y)) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x 1/2)) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x 1/2)) |
| Outputs |
|---|
(*.f64 1/2 x) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x y) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x y) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 x 1/2) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 x y) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 0 (*.f64 x (+.f64 1/2 y))) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 (*.f64 x 1/2) 1) (*.f64 (*.f64 x y) 1)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)))) |
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)))) |
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)))) |
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x))) 3) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)))) |
(*.f64 x (+.f64 1/2 y)) |
(-.f64 (+.f64 1 (*.f64 x (+.f64 1/2 y))) 1) |
(*.f64 x (+.f64 1/2 y)) |
(/.f64 (+.f64 (pow.f64 (*.f64 x 1/2) 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 x 1/2) 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x 1/2) (*.f64 x y))))) |
(/.f64 (+.f64 (*.f64 (pow.f64 x 3) 1/8) (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 1/2 x) 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x y) (*.f64 1/2 x))))) |
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 (pow.f64 y 3) 1/8)) (+.f64 (pow.f64 (*.f64 1/2 x) 2) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 1/2 x))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) 1/8) (pow.f64 x 3)) (fma.f64 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (pow.f64 (*.f64 1/2 x) 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) 1/8) (pow.f64 x 3)) (*.f64 x (+.f64 (/.f64 x 4) (*.f64 (*.f64 x y) (+.f64 y -1/2))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (*.f64 x y) 2)) (-.f64 (*.f64 x 1/2) (*.f64 x y))) |
(*.f64 x (+.f64 1/2 y)) |
(/.f64 (*.f64 x (+.f64 (pow.f64 y 3) 1/8)) (fma.f64 y (-.f64 y 1/2) 1/4)) |
(/.f64 (+.f64 (pow.f64 y 3) 1/8) (/.f64 (fma.f64 y (+.f64 y -1/2) 1/4) x)) |
(*.f64 (/.f64 x (fma.f64 y (+.f64 y -1/2) 1/4)) (+.f64 (pow.f64 y 3) 1/8)) |
(*.f64 (+.f64 (pow.f64 y 3) 1/8) (/.f64 x (fma.f64 y (+.f64 y -1/2) 1/4))) |
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (-.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(/.f64 (*.f64 (+.f64 (pow.f64 y 3) 1/8) x) (fma.f64 y (-.f64 y 1/2) 1/4)) |
(/.f64 (+.f64 (pow.f64 y 3) 1/8) (/.f64 (fma.f64 y (+.f64 y -1/2) 1/4) x)) |
(*.f64 (/.f64 x (fma.f64 y (+.f64 y -1/2) 1/4)) (+.f64 (pow.f64 y 3) 1/8)) |
(*.f64 (+.f64 (pow.f64 y 3) 1/8) (/.f64 x (fma.f64 y (+.f64 y -1/2) 1/4))) |
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (-.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(pow.f64 (*.f64 x (+.f64 1/2 y)) 1) |
(*.f64 x (+.f64 1/2 y)) |
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 3) |
(*.f64 x (+.f64 1/2 y)) |
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2) 1/2) |
(*.f64 x (+.f64 1/2 y)) |
(pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3) 1/3) |
(*.f64 x (+.f64 1/2 y)) |
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))) 2) |
(*.f64 x (+.f64 1/2 y)) |
(pow.f64 (E.f64) (log.f64 (*.f64 x (+.f64 1/2 y)))) |
(*.f64 x (+.f64 1/2 y)) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (+.f64 1/2 y)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))) (sqrt.f64 (log.f64 (*.f64 x (+.f64 1/2 y))))) |
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 2)) |
(*.f64 x (+.f64 1/2 y)) |
(log.f64 (pow.f64 (exp.f64 (+.f64 1/2 y)) x)) |
(*.f64 x (+.f64 1/2 y)) |
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3)) |
(*.f64 x (+.f64 1/2 y)) |
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 1/2 y)))) |
(*.f64 x (+.f64 1/2 y)) |
(exp.f64 (log.f64 (*.f64 x (+.f64 1/2 y)))) |
(*.f64 x (+.f64 1/2 y)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) 3)) |
(*.f64 x (+.f64 1/2 y)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (+.f64 1/2 y)))) 1/3)) |
(*.f64 x (+.f64 1/2 y)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y)))) 2)) |
(*.f64 x (+.f64 1/2 y)) |
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 1/2 y)))) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 x 1/2 (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 x y (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 1/2 x (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 y x (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 1 (*.f64 x 1/2) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 1 (*.f64 x y) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 x 1/2) 1 (*.f64 (*.f64 x y) 1)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 1/2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
Compiled 776 to 489 computations (37% saved)
9 alts after pruning (4 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 64 | 3 | 67 |
| Fresh | 1 | 1 | 2 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 1 | 1 |
| Total | 66 | 9 | 75 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 62.6% | (fma.f64 y x (*.f64 x 1/2)) |
| ✓ | 100.0% | (-.f64 z (*.f64 x (-.f64 -1/2 y))) |
| ▶ | 80.1% | (-.f64 z (*.f64 x (neg.f64 y))) |
| ✓ | 57.9% | (-.f64 z (*.f64 x -1/2)) |
| ▶ | 62.6% | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| ✓ | 62.6% | (*.f64 x (+.f64 1/2 y)) |
| ✓ | 43.1% | (*.f64 x y) |
| ▶ | 21.7% | (*.f64 1/2 x) |
| ✓ | 38.8% | z |
Compiled 70 to 50 computations (28.6% saved)
Found 1 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
Compiled 52 to 23 computations (55.8% saved)
ival-mult, time spent: 11.0ms, 53.0% of total-timeival-fma, time spent: 3.0ms, 15.0% of total-timeival-add, time spent: 2.0ms, 10.0% of total-timeival-sub, time spent: 1.0ms, 5.0% of total-timeconst, time spent: 1.0ms, 5.0% of total-timeival-neg, time spent: 1.0ms, 5.0% of total-time6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | inf | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| 1× | batch-egg-rewrite |
| 1018× | unpow-prod-down |
| 726× | fma-def |
| 636× | log-prod |
| 599× | log1p-expm1-u |
| 599× | expm1-log1p-u |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 19 |
| 1 | 121 | 19 |
| 2 | 1642 | 19 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| Outputs |
|---|
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 y 1/2)))) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (-.f64 y 1/2))) (/.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (-.f64 y 1/2)))) |
(*.f64 x (+.f64 y 1/2)) |
(*.f64 (*.f64 x (+.f64 y 1/2)) 1) |
(*.f64 (*.f64 x (+.f64 y 1/2)) (log.f64 (exp.f64 1))) |
(*.f64 1 (*.f64 x (+.f64 y 1/2))) |
(*.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 2) (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) |
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 y 1/2))) |
(*.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) (sqrt.f64 (*.f64 x (+.f64 y 1/2)))) |
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y 1/2))) |
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (/.f64 1 (*.f64 x (-.f64 y 1/2)))) |
(*.f64 (+.f64 y 1/2) x) |
(*.f64 (pow.f64 1 1/3) (*.f64 x (+.f64 y 1/2))) |
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 2) 3) (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) |
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 3)) |
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3)) 1/3)) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 2) x) 1/3) (cbrt.f64 (+.f64 y 1/2))) |
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 x (+.f64 y 1/2)) (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))))) |
(*.f64 (pow.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))))) |
(/.f64 1 (/.f64 (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)))) |
(/.f64 1 (/.f64 (*.f64 x (-.f64 y 1/2)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (fma.f64 (pow.f64 x 2) 1/4 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 y (*.f64 x 1/2)))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (*.f64 x (-.f64 y 1/2))) |
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4))) (neg.f64 (*.f64 x (-.f64 y 1/2)))) |
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (-.f64 (*.f64 x 1/2) (*.f64 x y))) |
(pow.f64 (*.f64 x (+.f64 y 1/2)) 1) |
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 3) |
(pow.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 2) 1/2) |
(pow.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) 2) |
(pow.f64 (/.f64 (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) -1) |
(pow.f64 (/.f64 (*.f64 x (-.f64 y 1/2)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4))) -1) |
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 2)) |
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y 1/2))) |
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 y 1/2)))) |
(exp.f64 (log.f64 (*.f64 x (+.f64 y 1/2)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 x (+.f64 y 1/2))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 y 1/2))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 3)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3)) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2)))) 2)) |
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 y 1/2)))) |
(fma.f64 x y (*.f64 x 1/2)) |
(fma.f64 x 1/2 (*.f64 x y)) |
(fma.f64 y x (*.f64 x 1/2)) |
(fma.f64 (*.f64 x y) 1 (*.f64 x 1/2)) |
(fma.f64 1/2 x (*.f64 x y)) |
(fma.f64 (*.f64 x 1/2) 1 (*.f64 x y)) |
(fma.f64 1 (*.f64 x y) (*.f64 x 1/2)) |
(fma.f64 1 (*.f64 x 1/2) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 x 1/2)) |
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 x 1/2)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 x 1/2)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (*.f64 x y)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 x 1/2)) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x 1/2)) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x 1/2)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 1/2)) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 1/2)) |
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x y)) |
(fma.f64 (*.f64 1/2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x y)) |
| 1× | egg-herbie |
| 1076× | fma-neg |
| 1064× | times-frac |
| 776× | log-prod |
| 610× | unswap-sqr |
| 548× | fma-def |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 192 | 2855 |
| 1 | 497 | 2771 |
| 2 | 1333 | 2707 |
| 3 | 6573 | 2653 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) |
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) |
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) |
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) |
(*.f64 1/2 x) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x y) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x y) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 y 1/2)))) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (-.f64 y 1/2))) (/.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (-.f64 y 1/2)))) |
(*.f64 x (+.f64 y 1/2)) |
(*.f64 (*.f64 x (+.f64 y 1/2)) 1) |
(*.f64 (*.f64 x (+.f64 y 1/2)) (log.f64 (exp.f64 1))) |
(*.f64 1 (*.f64 x (+.f64 y 1/2))) |
(*.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 2) (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) |
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 y 1/2))) |
(*.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) (sqrt.f64 (*.f64 x (+.f64 y 1/2)))) |
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y 1/2))) |
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (/.f64 1 (*.f64 x (-.f64 y 1/2)))) |
(*.f64 (+.f64 y 1/2) x) |
(*.f64 (pow.f64 1 1/3) (*.f64 x (+.f64 y 1/2))) |
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 2) 3) (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) |
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 3)) |
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3)) 1/3)) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 2) x) 1/3) (cbrt.f64 (+.f64 y 1/2))) |
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 x (+.f64 y 1/2)) (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))))) |
(*.f64 (pow.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))))) |
(/.f64 1 (/.f64 (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)))) |
(/.f64 1 (/.f64 (*.f64 x (-.f64 y 1/2)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (fma.f64 (pow.f64 x 2) 1/4 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 y (*.f64 x 1/2)))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (*.f64 x (-.f64 y 1/2))) |
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4))) (neg.f64 (*.f64 x (-.f64 y 1/2)))) |
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (-.f64 (*.f64 x 1/2) (*.f64 x y))) |
(pow.f64 (*.f64 x (+.f64 y 1/2)) 1) |
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 3) |
(pow.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 2) 1/2) |
(pow.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) 2) |
(pow.f64 (/.f64 (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) -1) |
(pow.f64 (/.f64 (*.f64 x (-.f64 y 1/2)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4))) -1) |
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 2)) |
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y 1/2))) |
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 y 1/2)))) |
(exp.f64 (log.f64 (*.f64 x (+.f64 y 1/2)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 x (+.f64 y 1/2))) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 y 1/2))) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 3)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3)) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2)))) 2)) |
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 y 1/2)))) |
(fma.f64 x y (*.f64 x 1/2)) |
(fma.f64 x 1/2 (*.f64 x y)) |
(fma.f64 y x (*.f64 x 1/2)) |
(fma.f64 (*.f64 x y) 1 (*.f64 x 1/2)) |
(fma.f64 1/2 x (*.f64 x y)) |
(fma.f64 (*.f64 x 1/2) 1 (*.f64 x y)) |
(fma.f64 1 (*.f64 x y) (*.f64 x 1/2)) |
(fma.f64 1 (*.f64 x 1/2) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (*.f64 x y)) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 x 1/2)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (*.f64 x y)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 x 1/2)) |
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 x y)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 x 1/2)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 x 1/2)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (*.f64 x y)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 x 1/2)) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x 1/2)) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x 1/2)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 1/2)) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 1/2)) |
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x y)) |
(fma.f64 (*.f64 1/2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x y)) |
| Outputs |
|---|
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) |
(neg.f64 (*.f64 x (fma.f64 -1 y -1/2))) |
(*.f64 x (neg.f64 (fma.f64 y -1 -1/2))) |
(*.f64 x (neg.f64 (-.f64 -1/2 y))) |
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) |
(neg.f64 (*.f64 x (fma.f64 -1 y -1/2))) |
(*.f64 x (neg.f64 (fma.f64 y -1 -1/2))) |
(*.f64 x (neg.f64 (-.f64 -1/2 y))) |
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) |
(neg.f64 (*.f64 x (fma.f64 -1 y -1/2))) |
(*.f64 x (neg.f64 (fma.f64 y -1 -1/2))) |
(*.f64 x (neg.f64 (-.f64 -1/2 y))) |
(*.f64 -1 (*.f64 x (-.f64 (*.f64 -1 y) 1/2))) |
(neg.f64 (*.f64 x (fma.f64 -1 y -1/2))) |
(*.f64 x (neg.f64 (fma.f64 y -1 -1/2))) |
(*.f64 x (neg.f64 (-.f64 -1/2 y))) |
(*.f64 1/2 x) |
(*.f64 x 1/2) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x y) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 x y) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 y 1/2)))) 1) |
(*.f64 x (+.f64 1/2 y)) |
(-.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (-.f64 y 1/2))) (/.f64 (*.f64 (pow.f64 x 2) 1/4) (*.f64 x (-.f64 y 1/2)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) -1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (-.f64 (/.f64 (*.f64 y y) (/.f64 1 x)) (*.f64 x 1/4)) (+.f64 y -1/2)) |
(/.f64 (*.f64 (pow.f64 x 2) (fma.f64 y y -1/4)) (*.f64 x (+.f64 y -1/2))) |
(*.f64 x (+.f64 y 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 (*.f64 x (+.f64 y 1/2)) 1) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 (*.f64 x (+.f64 y 1/2)) (log.f64 (exp.f64 1))) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 1 (*.f64 x (+.f64 y 1/2))) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 2)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 2) (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 y 1/2))) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) (sqrt.f64 (*.f64 x (+.f64 y 1/2)))) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y 1/2))) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x 1/2) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x 1/2) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 x (*.f64 1/2 (*.f64 x (-.f64 1/2 y))) (pow.f64 (*.f64 x y) 2))) |
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (/.f64 1 (*.f64 x (-.f64 y 1/2)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) -1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (-.f64 (/.f64 (*.f64 y y) (/.f64 1 x)) (*.f64 x 1/4)) (+.f64 y -1/2)) |
(/.f64 (*.f64 (pow.f64 x 2) (fma.f64 y y -1/4)) (*.f64 x (+.f64 y -1/2))) |
(*.f64 (+.f64 y 1/2) x) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 (pow.f64 1 1/3) (*.f64 x (+.f64 y 1/2))) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 2) 3) (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 3)) |
(*.f64 x (+.f64 1/2 y)) |
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3)) 1/3)) |
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3))) (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3)))) |
(*.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3/2)) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3/2))) |
(pow.f64 (pow.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 3/2) 1/6) 4) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 2) x) 1/3) (cbrt.f64 (+.f64 y 1/2))) |
(*.f64 (cbrt.f64 (*.f64 x (pow.f64 (*.f64 x (+.f64 1/2 y)) 2))) (cbrt.f64 (+.f64 1/2 y))) |
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 x (+.f64 y 1/2)) (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))))) |
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) (cbrt.f64 (pow.f64 (*.f64 x (*.f64 (+.f64 1/2 y) (cbrt.f64 (*.f64 x (+.f64 1/2 y))))) 2))) |
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 4) 2))) |
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 1/2 y))) 8))) |
(*.f64 (pow.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))))) |
(*.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 1/2 y)) 5/2)) (cbrt.f64 (sqrt.f64 (*.f64 x (+.f64 1/2 y))))) |
(/.f64 1 (/.f64 (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)))) |
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x 1/2) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x 1/2) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 x (*.f64 1/2 (*.f64 x (-.f64 1/2 y))) (pow.f64 (*.f64 x y) 2))) |
(/.f64 1 (/.f64 (*.f64 x (-.f64 y 1/2)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) -1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (-.f64 (/.f64 (*.f64 y y) (/.f64 1 x)) (*.f64 x 1/4)) (+.f64 y -1/2)) |
(/.f64 (*.f64 (pow.f64 x 2) (fma.f64 y y -1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2))) |
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x 1/2) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x 1/2) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 x (*.f64 1/2 (*.f64 x (-.f64 1/2 y))) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (fma.f64 (pow.f64 x 2) 1/4 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 x (*.f64 y (*.f64 x 1/2)))))) |
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x 1/2) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x 1/2) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 x (*.f64 1/2 (*.f64 x (-.f64 1/2 y))) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (*.f64 x (-.f64 y 1/2))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) -1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (-.f64 (/.f64 (*.f64 y y) (/.f64 1 x)) (*.f64 x 1/4)) (+.f64 y -1/2)) |
(/.f64 (*.f64 (pow.f64 x 2) (fma.f64 y y -1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) (neg.f64 (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x 1/2) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x 1/2) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 x (*.f64 1/2 (*.f64 x (-.f64 1/2 y))) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4))) (neg.f64 (*.f64 x (-.f64 y 1/2)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) -1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (-.f64 (/.f64 (*.f64 y y) (/.f64 1 x)) (*.f64 x 1/4)) (+.f64 y -1/2)) |
(/.f64 (*.f64 (pow.f64 x 2) (fma.f64 y y -1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (-.f64 (*.f64 (pow.f64 x 2) 1/4) (pow.f64 (*.f64 x y) 2)) (-.f64 (*.f64 x 1/2) (*.f64 x y))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) -1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (-.f64 (/.f64 (*.f64 y y) (/.f64 1 x)) (*.f64 x 1/4)) (+.f64 y -1/2)) |
(/.f64 (*.f64 (pow.f64 x 2) (fma.f64 y y -1/4)) (*.f64 x (+.f64 y -1/2))) |
(pow.f64 (*.f64 x (+.f64 y 1/2)) 1) |
(*.f64 x (+.f64 1/2 y)) |
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2))) 3) |
(*.f64 x (+.f64 1/2 y)) |
(pow.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 2) 1/2) |
(*.f64 x (+.f64 1/2 y)) |
(pow.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3) 1/3) |
(*.f64 x (+.f64 1/2 y)) |
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) 2) |
(*.f64 x (+.f64 1/2 y)) |
(pow.f64 (/.f64 (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 x y)) (pow.f64 (*.f64 x y) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3))) -1) |
(*.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (*.f64 x y) 3)) (/.f64 1 (fma.f64 (*.f64 x 1/2) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 (*.f64 x 1/2) (*.f64 x (-.f64 1/2 y)) (pow.f64 (*.f64 x y) 2))) |
(/.f64 (*.f64 (pow.f64 x 3) (+.f64 1/8 (pow.f64 y 3))) (fma.f64 x (*.f64 1/2 (*.f64 x (-.f64 1/2 y))) (pow.f64 (*.f64 x y) 2))) |
(pow.f64 (/.f64 (*.f64 x (-.f64 y 1/2)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4))) -1) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) 1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (pow.f64 x 2) -1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (-.f64 (/.f64 (*.f64 y y) (/.f64 1 x)) (*.f64 x 1/4)) (+.f64 y -1/2)) |
(/.f64 (*.f64 (pow.f64 x 2) (fma.f64 y y -1/4)) (*.f64 x (+.f64 y -1/2))) |
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 2)) |
(*.f64 x (+.f64 1/2 y)) |
(log.f64 (pow.f64 (exp.f64 x) (+.f64 y 1/2))) |
(*.f64 x (+.f64 1/2 y)) |
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3)) |
(*.f64 x (+.f64 1/2 y)) |
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 y 1/2)))) |
(*.f64 x (+.f64 1/2 y)) |
(exp.f64 (log.f64 (*.f64 x (+.f64 y 1/2)))) |
(*.f64 x (+.f64 1/2 y)) |
(exp.f64 (*.f64 (log.f64 (*.f64 x (+.f64 y 1/2))) 1)) |
(*.f64 x (+.f64 1/2 y)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 y 1/2))) 1) 1)) |
(*.f64 x (+.f64 1/2 y)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 y 1/2)))) 3)) |
(*.f64 x (+.f64 1/2 y)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (+.f64 y 1/2)) 3)) 1/3)) |
(*.f64 x (+.f64 1/2 y)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2)))) 2)) |
(*.f64 x (+.f64 1/2 y)) |
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 y 1/2)))) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 x y (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 x 1/2 (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 y x (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 x y) 1 (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 1/2 x (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 x 1/2) 1 (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 1 (*.f64 x y) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 1 (*.f64 x 1/2) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (cbrt.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 1/2)) 2) (cbrt.f64 (*.f64 x 1/2)) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (cbrt.f64 (*.f64 x y)) (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/2) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (*.f64 x 1/2)) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/2) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 1/2)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
(fma.f64 (*.f64 1/2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x y)) |
(*.f64 x (+.f64 1/2 y)) |
Compiled 1268 to 817 computations (35.6% saved)
9 alts after pruning (0 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 97 | 0 | 97 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 4 | 4 |
| Done | 0 | 5 | 5 |
| Total | 97 | 9 | 106 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 62.6% | (fma.f64 y x (*.f64 x 1/2)) |
| ✓ | 100.0% | (-.f64 z (*.f64 x (-.f64 -1/2 y))) |
| ✓ | 80.1% | (-.f64 z (*.f64 x (neg.f64 y))) |
| ✓ | 57.9% | (-.f64 z (*.f64 x -1/2)) |
| ✓ | 62.6% | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| ✓ | 62.6% | (*.f64 x (+.f64 1/2 y)) |
| ✓ | 43.1% | (*.f64 x y) |
| ✓ | 21.7% | (*.f64 1/2 x) |
| ✓ | 38.8% | z |
Compiled 149 to 91 computations (38.9% saved)
| Inputs |
|---|
z |
(*.f64 1/2 x) |
(*.f64 x y) |
(*.f64 x (+.f64 1/2 y)) |
(-.f64 z (*.f64 x -1/2)) |
(-.f64 z (*.f64 x (neg.f64 y))) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 x y) (*.f64 x 1/2)) |
(-.f64 z (*.f64 x (-.f64 -1/2 y))) |
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z)) |
(fma.f64 y x (*.f64 x 1/2)) |
(fma.f64 y x (+.f64 z (*.f64 x 1/2))) |
| Outputs |
|---|
(fma.f64 y x (+.f64 z (*.f64 x 1/2))) |
5 calls:
| 63.0ms | (+.f64 (/.f64 x 2) (*.f64 y x)) |
| 16.0ms | x |
| 7.0ms | z |
| 7.0ms | y |
| 6.0ms | (+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
| 100.0% | 1 | (+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
| 100.0% | 1 | (+.f64 (/.f64 x 2) (*.f64 y x)) |
Compiled 34 to 24 computations (29.4% saved)
| Inputs |
|---|
z |
(*.f64 1/2 x) |
(*.f64 x y) |
(*.f64 x (+.f64 1/2 y)) |
(-.f64 z (*.f64 x -1/2)) |
(-.f64 z (*.f64 x (neg.f64 y))) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 x y) (*.f64 x 1/2)) |
(-.f64 z (*.f64 x (-.f64 -1/2 y))) |
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z)) |
(fma.f64 y x (*.f64 x 1/2)) |
| Outputs |
|---|
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
5 calls:
| 55.0ms | z |
| 20.0ms | x |
| 7.0ms | y |
| 6.0ms | (+.f64 (/.f64 x 2) (*.f64 y x)) |
| 6.0ms | (+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
| 100.0% | 1 | (+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
| 100.0% | 1 | (+.f64 (/.f64 x 2) (*.f64 y x)) |
Compiled 34 to 24 computations (29.4% saved)
| Inputs |
|---|
z |
(*.f64 1/2 x) |
(*.f64 x y) |
(*.f64 x (+.f64 1/2 y)) |
(-.f64 z (*.f64 x -1/2)) |
(-.f64 z (*.f64 x (neg.f64 y))) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 x y) (*.f64 x 1/2)) |
(-.f64 z (*.f64 x (-.f64 -1/2 y))) |
| Outputs |
|---|
(-.f64 z (*.f64 x (-.f64 -1/2 y))) |
3 calls:
| 7.0ms | x |
| 6.0ms | z |
| 6.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
Compiled 12 to 9 computations (25% saved)
| Inputs |
|---|
z |
(*.f64 1/2 x) |
(*.f64 x y) |
(*.f64 x (+.f64 1/2 y)) |
(-.f64 z (*.f64 x -1/2)) |
(-.f64 z (*.f64 x (neg.f64 y))) |
(+.f64 (*.f64 1/2 x) (*.f64 x y)) |
(+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| Outputs |
|---|
(-.f64 z (*.f64 x (neg.f64 y))) |
(-.f64 z (*.f64 x -1/2)) |
(-.f64 z (*.f64 x (neg.f64 y))) |
3 calls:
| 67.0ms | x |
| 58.0ms | y |
| 14.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 90.1% | 3 | x |
| 98.7% | 3 | y |
| 88.5% | 3 | z |
Compiled 12 to 9 computations (25% saved)
| Inputs |
|---|
z |
(*.f64 1/2 x) |
(*.f64 x y) |
(*.f64 x (+.f64 1/2 y)) |
(-.f64 z (*.f64 x -1/2)) |
| Outputs |
|---|
(*.f64 x (+.f64 1/2 y)) |
(-.f64 z (*.f64 x -1/2)) |
(*.f64 x (+.f64 1/2 y)) |
3 calls:
| 51.0ms | x |
| 20.0ms | z |
| 16.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 79.9% | 5 | z |
| 83.4% | 5 | x |
| 87.9% | 3 | y |
Compiled 12 to 9 computations (25% saved)
| Inputs |
|---|
z |
(*.f64 1/2 x) |
(*.f64 x y) |
(*.f64 x (+.f64 1/2 y)) |
| Outputs |
|---|
(*.f64 x (+.f64 1/2 y)) |
z |
(*.f64 x (+.f64 1/2 y)) |
2 calls:
| 21.0ms | y |
| 14.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 79.7% | 3 | x |
| 71.5% | 5 | y |
Compiled 8 to 6 computations (25% saved)
| Inputs |
|---|
z |
(*.f64 1/2 x) |
(*.f64 x y) |
| Outputs |
|---|
(*.f64 x y) |
z |
(*.f64 1/2 x) |
z |
(*.f64 x y) |
3 calls:
| 21.0ms | y |
| 20.0ms | z |
| 18.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 71.4% | 5 | y |
| 62.1% | 5 | z |
| 63.5% | 5 | x |
Compiled 12 to 9 computations (25% saved)
| Inputs |
|---|
z |
(*.f64 1/2 x) |
| Outputs |
|---|
(*.f64 1/2 x) |
z |
(*.f64 1/2 x) |
3 calls:
| 59.0ms | y |
| 31.0ms | x |
| 8.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 47.3% | 3 | z |
| 48.3% | 3 | x |
| 41.1% | 3 | y |
Compiled 12 to 9 computations (25% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
z |
| Outputs |
|---|
z |
2 calls:
| 3.0ms | x |
| 2.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 38.8% | 1 | z |
| 38.8% | 1 | x |
Compiled 8 to 6 computations (25% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 0.16413103235402005 | 10.39841097769946 |
| 60.0ms | -7472.48751572396 | -2225.1879131397714 |
| 70.0ms | 191× | 256 | valid |
| 0.0ms | 1× | 256 | valid |
Compiled 246 to 181 computations (26.4% saved)
ival-div, time spent: 2.0ms, 39.0% of total-timeival-add, time spent: 2.0ms, 39.0% of total-timeival-mult, time spent: 1.0ms, 20.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 4.0ms | 6109861367348666.0 | 7181915080484686.0 |
| 62.0ms | -1079820890412.0721 | -125480766214.53326 |
| 13.0ms | 122× | 256 | valid |
| 51.0ms | 5× | 256 | infinite |
| 0.0ms | 1× | 256 | infinite |
Compiled 162 to 125 computations (22.8% saved)
ival-add, time spent: 51.0ms, 95.0% of total-timeival-div, time spent: 1.0ms, 2.0% of total-timeival-mult, time spent: 1.0ms, 2.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 19.0ms | 8.86998244420484e-157 | 1.1973505737658516e-150 |
| 17.0ms | -5.641826057395163e-134 | -3.4069904237398324e-137 |
| 31.0ms | 271× | 256 | valid |
| 0.0ms | 1× | 256 | valid |
Compiled 256 to 200 computations (21.9% saved)
ival-add, time spent: 4.0ms, 46.0% of total-timeival-div, time spent: 2.0ms, 23.0% of total-timeival-mult, time spent: 2.0ms, 23.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 4× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 4.0ms | 6109861367348666.0 | 7181915080484686.0 |
| 14.0ms | -1.5583362975883288e-164 | -9.361477580282411e-166 |
| 23.0ms | -1.211113995295972e-105 | -1.4372528804727223e-118 |
| 13.0ms | -1079820890412.0721 | -125480766214.53326 |
| 45.0ms | 394× | 256 | valid |
| 1.0ms | 5× | 256 | infinite |
| 0.0ms | 1× | 256 | valid |
Compiled 318 to 255 computations (19.8% saved)
ival-div, time spent: 4.0ms, 35.0% of total-timeival-add, time spent: 4.0ms, 35.0% of total-timeival-mult, time spent: 3.0ms, 26.0% of total-timeconst, time spent: 1.0ms, 9.0% of total-time| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 1.7041094149131547e+139 | 5.575360850337563e+141 |
| 13.0ms | -1.7454430281969292e-17 | -1.9794851567561638e-18 |
| 23.0ms | 194× | 256 | valid |
| 3.0ms | 29× | 256 | infinite |
| 0.0ms | 1× | 256 | valid |
Compiled 186 to 153 computations (17.7% saved)
ival-div, time spent: 2.0ms, 33.0% of total-timeival-add, time spent: 2.0ms, 33.0% of total-timeival-mult, time spent: 2.0ms, 33.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1× | egg-herbie |
| 142× | unsub-neg |
| 140× | distribute-lft-neg-in |
| 96× | neg-mul-1 |
| 80× | cancel-sign-sub |
| 66× | neg-sub0 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 71 | 438 |
| 1 | 116 | 434 |
| 2 | 150 | 434 |
| 3 | 189 | 434 |
| 4 | 237 | 434 |
| 5 | 282 | 434 |
| 6 | 373 | 434 |
| 7 | 461 | 434 |
| 8 | 503 | 434 |
| 9 | 537 | 434 |
| 10 | 566 | 434 |
| 11 | 571 | 434 |
| 12 | 582 | 434 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(fma.f64 y x (+.f64 z (*.f64 x 1/2))) |
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
(-.f64 z (*.f64 x (-.f64 -1/2 y))) |
(if (<=.f64 y -2300) (-.f64 z (*.f64 x (neg.f64 y))) (if (<=.f64 y 1/2) (-.f64 z (*.f64 x -1/2)) (-.f64 z (*.f64 x (neg.f64 y))))) |
(if (<=.f64 y -720000000000) (*.f64 x (+.f64 1/2 y)) (if (<=.f64 y 6500000000000000) (-.f64 z (*.f64 x -1/2)) (*.f64 x (+.f64 1/2 y)))) |
(if (<=.f64 x -5523846650824739/102293456496754433437912178025862473506770063938845774671352855253004181137646079840102190385184504910965208878986252219038039267058918532916516487168) (*.f64 x (+.f64 1/2 y)) (if (<=.f64 x 3538089773270195/235872651551346334515097161311766805682307576276027526773512893765351510149509303255382920323603672971341773439422740306235661539370299539535089640714543502728087207936) z (*.f64 x (+.f64 1/2 y)))) |
(if (<=.f64 y -640000000000) (*.f64 x y) (if (<=.f64 y -3215376232195769/338460656020607282663380637712778772392143197677711984273740183180495765112991409062496875745134225841966700556811959451779072) z (if (<=.f64 y -7718098958118647/4149515568880992958512407863691161151012446232242436899995657329690652811412908146399707048947103794288197886611300789182395151075411775307886874834113963687061181803401509523685376) (*.f64 1/2 x) (if (<=.f64 y 6200000000000000) z (*.f64 x y))))) |
(if (<=.f64 x -2076918743413931/162259276829213363391578010288128) (*.f64 1/2 x) (if (<=.f64 x 23500000000000000441248734101191463380237141293065354930337024034939945019797120258081135299095921285478208142573934812302633517392290906112) z (*.f64 1/2 x))) |
z |
| Outputs |
|---|
(fma.f64 y x (+.f64 z (*.f64 x 1/2))) |
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z) |
(+.f64 z (+.f64 (/.f64 x 2) (*.f64 y x))) |
(-.f64 z (*.f64 x (-.f64 -1/2 y))) |
(+.f64 z (*.f64 x (-.f64 y -1/2))) |
(if (<=.f64 y -2300) (-.f64 z (*.f64 x (neg.f64 y))) (if (<=.f64 y 1/2) (-.f64 z (*.f64 x -1/2)) (-.f64 z (*.f64 x (neg.f64 y))))) |
(if (or (<=.f64 y -2300) (not (<=.f64 y 1/2))) (-.f64 z (*.f64 x (neg.f64 y))) (-.f64 z (*.f64 x -1/2))) |
(if (or (<=.f64 y -2300) (not (<=.f64 y 1/2))) (+.f64 z (*.f64 y x)) (-.f64 z (*.f64 x -1/2))) |
(if (<=.f64 y -720000000000) (*.f64 x (+.f64 1/2 y)) (if (<=.f64 y 6500000000000000) (-.f64 z (*.f64 x -1/2)) (*.f64 x (+.f64 1/2 y)))) |
(if (or (<=.f64 y -720000000000) (not (<=.f64 y 6500000000000000))) (*.f64 x (+.f64 y 1/2)) (-.f64 z (*.f64 x -1/2))) |
(if (<=.f64 x -5523846650824739/102293456496754433437912178025862473506770063938845774671352855253004181137646079840102190385184504910965208878986252219038039267058918532916516487168) (*.f64 x (+.f64 1/2 y)) (if (<=.f64 x 3538089773270195/235872651551346334515097161311766805682307576276027526773512893765351510149509303255382920323603672971341773439422740306235661539370299539535089640714543502728087207936) z (*.f64 x (+.f64 1/2 y)))) |
(if (or (<=.f64 x -5523846650824739/102293456496754433437912178025862473506770063938845774671352855253004181137646079840102190385184504910965208878986252219038039267058918532916516487168) (not (<=.f64 x 3538089773270195/235872651551346334515097161311766805682307576276027526773512893765351510149509303255382920323603672971341773439422740306235661539370299539535089640714543502728087207936))) (*.f64 x (+.f64 y 1/2)) z) |
(if (<=.f64 y -640000000000) (*.f64 x y) (if (<=.f64 y -3215376232195769/338460656020607282663380637712778772392143197677711984273740183180495765112991409062496875745134225841966700556811959451779072) z (if (<=.f64 y -7718098958118647/4149515568880992958512407863691161151012446232242436899995657329690652811412908146399707048947103794288197886611300789182395151075411775307886874834113963687061181803401509523685376) (*.f64 1/2 x) (if (<=.f64 y 6200000000000000) z (*.f64 x y))))) |
(if (<=.f64 y -640000000000) (*.f64 y x) (if (<=.f64 y -3215376232195769/338460656020607282663380637712778772392143197677711984273740183180495765112991409062496875745134225841966700556811959451779072) z (if (<=.f64 y -7718098958118647/4149515568880992958512407863691161151012446232242436899995657329690652811412908146399707048947103794288197886611300789182395151075411775307886874834113963687061181803401509523685376) (*.f64 x 1/2) (if (<=.f64 y 6200000000000000) z (*.f64 y x))))) |
(if (<=.f64 x -2076918743413931/162259276829213363391578010288128) (*.f64 1/2 x) (if (<=.f64 x 23500000000000000441248734101191463380237141293065354930337024034939945019797120258081135299095921285478208142573934812302633517392290906112) z (*.f64 1/2 x))) |
(if (or (<=.f64 x -2076918743413931/162259276829213363391578010288128) (not (<=.f64 x 23500000000000000441248734101191463380237141293065354930337024034939945019797120258081135299095921285478208142573934812302633517392290906112))) (*.f64 x 1/2) z) |
z |
Compiled 145 to 99 computations (31.7% saved)
| 2916× | fma-def |
| 2916× | fma-def |
| 1840× | fma-def |
| 1840× | fma-def |
| 1324× | distribute-lft-in |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 435 |
| 1 | 99 | 375 |
| 2 | 274 | 371 |
| 3 | 804 | 323 |
| 4 | 1692 | 297 |
| 5 | 2827 | 297 |
| 6 | 3301 | 292 |
| 7 | 3465 | 292 |
| 8 | 3573 | 292 |
| 9 | 3608 | 292 |
| 10 | 3616 | 276 |
| 11 | 4174 | 276 |
| 12 | 4174 | 276 |
| 13 | 4174 | 276 |
| 0 | 17 | 52 |
| 1 | 234 | 47 |
| 2 | 3469 | 43 |
| 0 | 40 | 435 |
| 1 | 99 | 375 |
| 2 | 274 | 371 |
| 3 | 804 | 323 |
| 4 | 1692 | 297 |
| 5 | 2827 | 297 |
| 6 | 3301 | 292 |
| 7 | 3465 | 292 |
| 8 | 3573 | 292 |
| 9 | 3608 | 292 |
| 10 | 3616 | 276 |
| 11 | 4174 | 276 |
| 12 | 4174 | 276 |
| 13 | 4174 | 276 |
| 0 | 305 | 6488 |
| 1 | 765 | 6285 |
| 2 | 2313 | 6175 |
| 0 | 305 | 6488 |
| 1 | 765 | 6285 |
| 2 | 2313 | 6175 |
| 1× | node limit |
| 1× | node limit |
| 1× | saturated |
| 1× | node limit |
| 1× | saturated |
Compiled 279 to 149 computations (46.6% saved)
Compiled 266 to 162 computations (39.1% saved)
Loading profile data...