
Time bar (total: 3.8s)
| 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)
| 984.0ms | 7227× | body | 256 | valid |
| 114.0ms | 1028× | body | 256 | infinite |
| 0.0ms | 1× | body | 512 | valid |
| 1× | egg-herbie |
| 2916× | fma-def |
| 416× | distribute-rgt-in |
| 302× | sub-neg |
| 280× | unsub-neg |
| 262× | cancel-sign-sub |
| 256× | No Errors |
Useful iterations: 10 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 435 |
| 1 | 99 | 375 |
| 2 | 274 | 371 |
| 3 | 801 | 323 |
| 4 | 1689 | 297 |
| 5 | 2820 | 297 |
| 6 | 3289 | 292 |
| 7 | 3453 | 292 |
| 8 | 3561 | 292 |
| 9 | 3594 | 292 |
| 10 | 3602 | 276 |
| 11 | 4160 | 276 |
| 12 | 4160 | 276 |
| 13 | 4160 | 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 (+.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 (+.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 x y) (-.f64 (*.f64 -1/2 x) 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 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))) |
(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))) |
(+.f64 y (*.f64 x (+.f64 z 1/2))) |
(fma.f64 x (+.f64 z 1/2) y) |
Compiled 42 to 23 computations (45.2% saved)
Compiled 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)) |
| ▶ | 100.0% | (-.f64 z (*.f64 x (-.f64 -1/2 y))) |
| ▶ | 100.0% | (+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z)) |
Compiled 44 to 30 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)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | y | @ | inf | (*.f64 x (-.f64 -1/2 y)) |
| 1.0ms | y | @ | 0 | (*.f64 x (-.f64 -1/2 y)) |
| 1.0ms | x | @ | inf | (+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z)) |
| 1.0ms | x | @ | 0 | (*.f64 x (-.f64 -1/2 y)) |
| 1.0ms | x | @ | inf | (*.f64 x (-.f64 -1/2 y)) |
| 1× | batch-egg-rewrite |
| 1268× | fma-def |
| 838× | log1p-expm1-u |
| 838× | expm1-log1p-u |
| 498× | fma-neg |
| 412× | expm1-udef |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 52 |
| 1 | 234 | 47 |
| 2 | 3466 | 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 (pow.f64 (*.f64 x 1/2) 2) (-.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)) (pow.f64 (*.f64 x 1/2) 2)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (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)) (pow.f64 (*.f64 x 1/2) 2)) (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 (pow.f64 (*.f64 x 1/2) 2) (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)) (pow.f64 (*.f64 x 1/2) 2))) |
(/.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 (pow.f64 (*.f64 x 1/2) 2) (*.f64 (*.f64 x 1/2) (fma.f64 x y z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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)) (pow.f64 (*.f64 x 1/2) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (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) (pow.f64 (*.f64 x 1/2) 2)) (-.f64 (fma.f64 x y z) (*.f64 x 1/2))) |
(/.f64 (fma.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y)) (neg.f64 (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 (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 (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 (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 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 (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 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2))) |
(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 1/2)) (sqrt.f64 (*.f64 x 1/2)) (fma.f64 x y z)) |
(fma.f64 (neg.f64 x) -1/2 (fma.f64 x y z)) |
(fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 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 |
| 1864× | fma-def |
| 1210× | distribute-lft-in |
| 1198× | distribute-rgt-in |
| 760× | unswap-sqr |
| 424× | times-frac |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 304 | 6491 |
| 1 | 746 | 6291 |
| 2 | 2245 | 6188 |
| 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 (pow.f64 (*.f64 x 1/2) 2) (-.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)) (pow.f64 (*.f64 x 1/2) 2)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (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)) (pow.f64 (*.f64 x 1/2) 2)) (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 (pow.f64 (*.f64 x 1/2) 2) (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)) (pow.f64 (*.f64 x 1/2) 2))) |
(/.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 (pow.f64 (*.f64 x 1/2) 2) (*.f64 (*.f64 x 1/2) (fma.f64 x y z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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)) (pow.f64 (*.f64 x 1/2) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (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) (pow.f64 (*.f64 x 1/2) 2)) (-.f64 (fma.f64 x y z) (*.f64 x 1/2))) |
(/.f64 (fma.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y)) (neg.f64 (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 (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 (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 (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 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 (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 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (+.f64 z (*.f64 x 1/2))) |
(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 1/2)) (sqrt.f64 (*.f64 x 1/2)) (fma.f64 x y z)) |
(fma.f64 (neg.f64 x) -1/2 (fma.f64 x y z)) |
(fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 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 (pow.f64 (*.f64 x 1/2) 2) (-.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 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x (-.f64 1/2 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)) (pow.f64 (*.f64 x 1/2) 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 (*.f64 x -1/2) (fma.f64 x y z)) (pow.f64 (*.f64 x 1/2) 2))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x (-.f64 1/2 y)) z) (pow.f64 (fma.f64 x y z) 2))) |
(*.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (/.f64 1 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x (-.f64 1/2 y)) z)) |
(/.f64 1 (/.f64 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 2)) (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)))) |
(*.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)) (pow.f64 (*.f64 x 1/2) 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 (*.f64 x -1/2) (fma.f64 x y z)) (pow.f64 (*.f64 x 1/2) 2))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x (-.f64 1/2 y)) z) (pow.f64 (fma.f64 x y z) 2))) |
(/.f64 1 (/.f64 (-.f64 (*.f64 x 1/2) (fma.f64 x y z)) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x (-.f64 1/2 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)) (pow.f64 (*.f64 x 1/2) 2))) |
(*.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)) (pow.f64 (*.f64 x 1/2) 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 (*.f64 x -1/2) (fma.f64 x y z)) (pow.f64 (*.f64 x 1/2) 2))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x (-.f64 1/2 y)) z) (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)) (+.f64 (pow.f64 (fma.f64 x y z) 2) (-.f64 (pow.f64 (*.f64 x 1/2) 2) (*.f64 (*.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 1 (fma.f64 (fma.f64 x y z) (-.f64 (fma.f64 x y z) (*.f64 x 1/2)) (pow.f64 (*.f64 x 1/2) 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 (*.f64 x -1/2) (fma.f64 x y z)) (pow.f64 (*.f64 x 1/2) 2))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x (-.f64 1/2 y)) z) (pow.f64 (fma.f64 x y z) 2))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x (-.f64 1/2 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 z 3) (pow.f64 (*.f64 x y) 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 (fma.f64 2 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 z 2)) (*.f64 x (-.f64 (*.f64 x y) z))) (*.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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 (*.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 x y)) z) (*.f64 (-.f64 (*.f64 x y) z) (/.f64 2 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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 (fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 3)))) (*.f64 2 (fma.f64 z (-.f64 z (*.f64 x y)) (pow.f64 (*.f64 x y) 2)))) |
(/.f64 (fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 (fma.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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 (-.f64 (*.f64 x y) z))) (*.f64 2 (-.f64 (*.f64 x y) 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 x y)) z) (*.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 (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 (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)) (pow.f64 (*.f64 x 1/2) 2)))) |
(*.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)) (pow.f64 (*.f64 x 1/2) 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 (*.f64 x -1/2) (fma.f64 x y z)) (pow.f64 (*.f64 x 1/2) 2))) |
(/.f64 (fma.f64 (pow.f64 x 3) 1/8 (pow.f64 (fma.f64 x y z) 3)) (fma.f64 (*.f64 x 1/2) (-.f64 (*.f64 x (-.f64 1/2 y)) z) (pow.f64 (fma.f64 x y z) 2))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (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 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x (-.f64 1/2 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 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.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) (pow.f64 (*.f64 x 1/2) 2)) (-.f64 (fma.f64 x y z) (*.f64 x 1/2))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x 1/2) (fma.f64 x y z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x 1/2) 2) (pow.f64 (fma.f64 x y z) 2)) (-.f64 (*.f64 x (-.f64 1/2 y)) z)) |
(/.f64 (fma.f64 (*.f64 x (+.f64 1/2 y)) (*.f64 x (+.f64 1/2 y)) (neg.f64 (pow.f64 z 2))) (-.f64 (*.f64 x (+.f64 1/2 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 (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 (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 (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 (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 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 (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 (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 (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 1/2)) (sqrt.f64 (*.f64 x 1/2)) (fma.f64 x y z)) |
(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 z 3) (pow.f64 (*.f64 x y) 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 z 3) (pow.f64 (*.f64 x y) 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)) (-.f64 (*.f64 x y) 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 (/.f64 x (fma.f64 y (+.f64 y -1/2) 1/4)) (-.f64 -1/8 (pow.f64 y 3))) |
(/.f64 (*.f64 x (-.f64 1/4 (pow.f64 y 2))) (+.f64 y -1/2)) |
(/.f64 x (/.f64 (+.f64 y -1/2) (-.f64 1/4 (pow.f64 y 2)))) |
(*.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 (*.f64 x (-.f64 -1/8 (pow.f64 y 3))) (fma.f64 y (+.f64 y -1/2) 1/4)) |
(*.f64 (/.f64 x (fma.f64 y (+.f64 y -1/2) 1/4)) (-.f64 -1/8 (pow.f64 y 3))) |
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 y 2)) x) (+.f64 y -1/2)) |
(/.f64 x (/.f64 (+.f64 y -1/2) (-.f64 1/4 (pow.f64 y 2)))) |
(*.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 2399 to 1271 computations (47% saved)
7 alts after pruning (7 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 141 | 7 | 148 |
| Fresh | 0 | 0 | 0 |
| Picked | 2 | 0 | 2 |
| Done | 0 | 0 | 0 |
| Total | 143 | 7 | 150 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (fma.f64 y x (+.f64 z (*.f64 x 1/2))) |
| ▶ | 76.1% | (-.f64 z (*.f64 x (neg.f64 y))) |
| ▶ | 66.7% | (-.f64 z (*.f64 x -1/2)) |
| 59.0% | (+.f64 (*.f64 1/2 x) (*.f64 x y)) | |
| ▶ | 59.0% | (*.f64 x (+.f64 1/2 y)) |
| ▶ | 35.6% | (*.f64 x y) |
| 43.5% | z | |
| ▶ | 100.0% | (fma.f64 y x (+.f64 z (*.f64 x 1/2))) |
| ▶ | 76.1% | (-.f64 z (*.f64 x (neg.f64 y))) |
| ▶ | 66.7% | (-.f64 z (*.f64 x -1/2)) |
| 59.0% | (+.f64 (*.f64 1/2 x) (*.f64 x y)) | |
| ▶ | 59.0% | (*.f64 x (+.f64 1/2 y)) |
| ▶ | 35.6% | (*.f64 x y) |
| 43.5% | z |
Compiled 216 to 150 computations (30.6% saved)
Found 1 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 x (+.f64 1/2 y)) |
Compiled 66 to 30 computations (54.5% saved)
6 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 |
| 688× | unpow-prod-down |
| 525× | log1p-expm1-u |
| 525× | expm1-log1p-u |
| 500× | log-prod |
| 450× | prod-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 19 |
| 1 | 106 | 19 |
| 2 | 1428 | 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 x) (+.f64 1/2 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))))) |
(-.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 x) (+.f64 1/2 y))) |
(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 |
| 1310× | 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 | 374 | 1474 |
| 2 | 1024 | 1461 |
| 3 | 4181 | 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 x) (+.f64 1/2 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))))) |
(-.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 x) (+.f64 1/2 y))) |
(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 x) (+.f64 1/2 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))))) |
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))))) |
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))))) |
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))) 3) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 1/2 y))))) |
(*.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 x (*.f64 1/2 (*.f64 x y)))))) |
(/.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 y (*.f64 x (+.f64 y -1/2))) (/.f64 x 4)))) |
(/.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 x (/.f64 (fma.f64 y (+.f64 y -1/2) 1/4) (+.f64 (pow.f64 y 3) 1/8))) |
(*.f64 (/.f64 x (fma.f64 y (+.f64 y -1/2) 1/4)) (+.f64 (pow.f64 y 3) 1/8)) |
(*.f64 x (/.f64 (+.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 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 x (/.f64 (fma.f64 y (+.f64 y -1/2) 1/4) (+.f64 (pow.f64 y 3) 1/8))) |
(*.f64 (/.f64 x (fma.f64 y (+.f64 y -1/2) 1/4)) (+.f64 (pow.f64 y 3) 1/8)) |
(*.f64 x (/.f64 (+.f64 (pow.f64 y 3) 1/8) (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 x) (+.f64 1/2 y))) |
(*.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 482 computations (37.9% saved)
8 alts after pruning (4 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 64 | 3 | 67 |
| Fresh | 1 | 1 | 2 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 0 | 0 |
| Total | 66 | 8 | 74 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 59.0% | (fma.f64 y x (*.f64 x 1/2)) |
| ✓ | 76.1% | (-.f64 z (*.f64 x (neg.f64 y))) |
| ✓ | 66.7% | (-.f64 z (*.f64 x -1/2)) |
| ▶ | 59.0% | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| ✓ | 59.0% | (*.f64 x (+.f64 1/2 y)) |
| ✓ | 35.6% | (*.f64 x y) |
| ▶ | 25.3% | (*.f64 1/2 x) |
| 43.5% | z | |
| ▶ | 59.0% | (fma.f64 y x (*.f64 x 1/2)) |
| ✓ | 76.1% | (-.f64 z (*.f64 x (neg.f64 y))) |
| ✓ | 66.7% | (-.f64 z (*.f64 x -1/2)) |
| ▶ | 59.0% | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| ✓ | 59.0% | (*.f64 x (+.f64 1/2 y)) |
| ✓ | 35.6% | (*.f64 x y) |
| ▶ | 25.3% | (*.f64 1/2 x) |
| 43.5% | z |
Compiled 120 to 86 computations (28.3% saved)
Found 1 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
Compiled 37 to 20 computations (45.9% saved)
6 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 |
| 1014× | unpow-prod-down |
| 726× | fma-def |
| 636× | log-prod |
| 601× | log1p-expm1-u |
| 601× | expm1-log1p-u |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 19 |
| 1 | 121 | 19 |
| 2 | 1639 | 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 (pow.f64 (*.f64 x 1/2) 2) (*.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 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.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 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y 1/2))) |
(*.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) (sqrt.f64 (*.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) (pow.f64 (*.f64 x 1/2) 2)) (/.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) (pow.f64 (*.f64 x 1/2) 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)) (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) (pow.f64 (*.f64 x 1/2) 2)) (*.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) (pow.f64 (*.f64 x 1/2) 2))) (neg.f64 (*.f64 x (-.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))) |
(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) (pow.f64 (*.f64 x 1/2) 2))) -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 (*.f64 3 (log.f64 (*.f64 x (+.f64 y 1/2)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2)))) 2)) |
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (+.f64 y 1/2)))) |
(exp.f64 (+.f64 (log.f64 (+.f64 y 1/2)) (*.f64 (log.f64 x) 1))) |
(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 (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 (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 (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 (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 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 |
| 1536× | times-frac |
| 1106× | fma-neg |
| 686× | log-prod |
| 610× | unswap-sqr |
| 604× | fma-def |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 199 | 2893 |
| 1 | 505 | 2809 |
| 2 | 1323 | 2745 |
| 3 | 7109 | 2717 |
| 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 (pow.f64 (*.f64 x 1/2) 2) (*.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 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.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 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 y 1/2))) |
(*.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2))) (sqrt.f64 (*.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) (pow.f64 (*.f64 x 1/2) 2)) (/.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) (pow.f64 (*.f64 x 1/2) 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)) (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) (pow.f64 (*.f64 x 1/2) 2)) (*.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) (pow.f64 (*.f64 x 1/2) 2))) (neg.f64 (*.f64 x (-.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))) |
(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) (pow.f64 (*.f64 x 1/2) 2))) -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 (*.f64 3 (log.f64 (*.f64 x (+.f64 y 1/2)))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 y 1/2)))) 2)) |
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (+.f64 y 1/2)))) |
(exp.f64 (+.f64 (log.f64 (+.f64 y 1/2)) (*.f64 (log.f64 x) 1))) |
(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 (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 (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 (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 (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 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 (-.f64 -1/2 y) (neg.f64 x)) |
(*.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 (-.f64 -1/2 y) (neg.f64 x)) |
(*.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 (-.f64 -1/2 y) (neg.f64 x)) |
(*.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 (-.f64 -1/2 y) (neg.f64 x)) |
(*.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 (pow.f64 (*.f64 x 1/2) 2) (*.f64 x (-.f64 y 1/2)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 x 1/2) 2)) (*.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 x 2) (-.f64 (*.f64 y y) 1/4)) (*.f64 x (+.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 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.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 (sqrt.f64 x) (*.f64 (sqrt.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 (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 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))) |
(*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 x 1/2) 2)) (/.f64 1 (*.f64 x (-.f64 y 1/2)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 x 1/2) 2)) (*.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 x 2) (-.f64 (*.f64 y y) 1/4)) (*.f64 x (+.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))) |
(*.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 (*.f64 x (+.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 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 1 (/.f64 (*.f64 x (-.f64 y 1/2)) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 x 1/2) 2)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 x 1/2) 2)) (*.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 x 2) (-.f64 (*.f64 y y) 1/4)) (*.f64 x (+.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 (*.f64 x y) (*.f64 x (+.f64 y -1/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 (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 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 x 1/2) 2)) (*.f64 x (-.f64 y 1/2))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 x 1/2) 2)) (*.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 x 2) (-.f64 (*.f64 y y) 1/4)) (*.f64 x (+.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 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 x 1/2) 2))) (neg.f64 (*.f64 x (-.f64 y 1/2)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 x 1/2) 2)) (*.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 x 2) (-.f64 (*.f64 y y) 1/4)) (*.f64 x (+.f64 y -1/2))) |
(/.f64 (*.f64 (pow.f64 x 2) (fma.f64 y y -1/4)) (*.f64 x (+.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 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 x 1/2) 2)) (*.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 x 2) (-.f64 (*.f64 y y) 1/4)) (*.f64 x (+.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 (*.f64 x y) (*.f64 x (+.f64 y -1/2)) (*.f64 (pow.f64 x 2) 1/4))) |
(pow.f64 (/.f64 (*.f64 x (-.f64 y 1/2)) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 x 1/2) 2))) -1) |
(/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 x 1/2) 2)) (*.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 x 2) (-.f64 (*.f64 y y) 1/4)) (*.f64 x (+.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 (*.f64 3 (log.f64 (*.f64 x (+.f64 y 1/2)))) 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)) |
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (+.f64 y 1/2)))) |
(*.f64 x (+.f64 1/2 y)) |
(exp.f64 (+.f64 (log.f64 (+.f64 y 1/2)) (*.f64 (log.f64 x) 1))) |
(*.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 (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 (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 (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 (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 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 1277 to 823 computations (35.6% saved)
8 alts after pruning (1 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 98 | 0 | 98 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 3 | 3 |
| Done | 0 | 4 | 4 |
| Total | 98 | 8 | 106 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 59.0% | (fma.f64 y x (*.f64 x 1/2)) |
| ✓ | 76.1% | (-.f64 z (*.f64 x (neg.f64 y))) |
| ✓ | 66.7% | (-.f64 z (*.f64 x -1/2)) |
| ✓ | 59.0% | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| ✓ | 59.0% | (*.f64 x (+.f64 1/2 y)) |
| ✓ | 35.6% | (*.f64 x y) |
| ✓ | 25.3% | (*.f64 1/2 x) |
| 43.5% | z | |
| ✓ | 59.0% | (fma.f64 y x (*.f64 x 1/2)) |
| ✓ | 76.1% | (-.f64 z (*.f64 x (neg.f64 y))) |
| ✓ | 66.7% | (-.f64 z (*.f64 x -1/2)) |
| ✓ | 59.0% | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| ✓ | 59.0% | (*.f64 x (+.f64 1/2 y)) |
| ✓ | 35.6% | (*.f64 x y) |
| ✓ | 25.3% | (*.f64 1/2 x) |
| 43.5% | z |
Compiled 120 to 86 computations (28.3% saved)
Compiled 3 to 3 computations (0% saved)
8 alts after pruning (1 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 7 | 7 |
| Total | 0 | 8 | 8 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 59.0% | (fma.f64 y x (*.f64 x 1/2)) |
| ✓ | 76.1% | (-.f64 z (*.f64 x (neg.f64 y))) |
| ✓ | 66.7% | (-.f64 z (*.f64 x -1/2)) |
| ✓ | 59.0% | (+.f64 (*.f64 x y) (*.f64 x 1/2)) |
| ✓ | 59.0% | (*.f64 x (+.f64 1/2 y)) |
| ✓ | 35.6% | (*.f64 x y) |
| ✓ | 25.3% | (*.f64 1/2 x) |
| 43.5% | z |
Compiled 139 to 84 computations (39.6% 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:
| 12.0ms | (+.f64 (/.f64 x 2) (*.f64 y x)) |
| 9.0ms | x |
| 8.0ms | z |
| 8.0ms | y |
| 7.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 113 to 65 computations (42.5% 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 z (*.f64 x (-.f64 -1/2 y))) |
5 calls:
| 44.0ms | z |
| 10.0ms | x |
| 7.0ms | y |
| 7.0ms | (+.f64 (/.f64 x 2) (*.f64 y x)) |
| 7.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 105 to 61 computations (41.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)) |
| Outputs |
|---|
(-.f64 z (*.f64 x (neg.f64 y))) |
(-.f64 z (*.f64 x -1/2)) |
(-.f64 z (*.f64 x (neg.f64 y))) |
3 calls:
| 17.0ms | z |
| 16.0ms | y |
| 16.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 86.4% | 3 | x |
| 98.9% | 3 | y |
| 89.3% | 3 | z |
Compiled 52 to 30 computations (42.3% 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)) |
2 calls:
| 15.0ms | y |
| 14.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 84.3% | 3 | z |
| 87.4% | 3 | y |
Compiled 28 to 18 computations (35.7% saved)
| Inputs |
|---|
z |
(*.f64 1/2 x) |
(*.f64 x y) |
(*.f64 x (+.f64 1/2 y)) |
| Outputs |
|---|
z |
(*.f64 x (+.f64 1/2 y)) |
z |
3 calls:
| 65.0ms | x |
| 26.0ms | y |
| 15.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 79.8% | 3 | z |
| 78.2% | 3 | x |
| 69.0% | 7 | y |
Compiled 27 to 18 computations (33.3% saved)
| Inputs |
|---|
z |
(*.f64 1/2 x) |
(*.f64 x y) |
| Outputs |
|---|
(*.f64 x y) |
z |
(*.f64 1/2 x) |
z |
(*.f64 1/2 x) |
z |
(*.f64 x y) |
3 calls:
| 42.0ms | y |
| 17.0ms | z |
| 14.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 68.3% | 7 | y |
| 58.9% | 3 | x |
| 63.8% | 5 | z |
Compiled 22 to 15 computations (31.8% saved)
| Inputs |
|---|
z |
(*.f64 1/2 x) |
| Outputs |
|---|
z |
(*.f64 1/2 x) |
z |
3 calls:
| 15.0ms | y |
| 13.0ms | x |
| 9.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 53.1% | 3 | x |
| 56.0% | 3 | z |
| 48.1% | 5 | y |
Compiled 19 to 14 computations (26.3% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
z |
| Outputs |
|---|
z |
2 calls:
| 4.0ms | x |
| 3.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 43.5% | 1 | x |
| 43.5% | 1 | z |
Compiled 12 to 9 computations (25% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 1.7764713954216088e-8 | 2.2176502723500428e-7 |
| 18.0ms | -17109.982032475553 | -0.19911293051971865 |
| 26.0ms | 240× | body | 256 | valid |
Compiled 303 to 223 computations (26.4% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 15.0ms | 2.1113976508269893e+44 | 7.181682004729479e+48 |
| 19.0ms | -0.19911293051971865 | -3.1503648726375015e-13 |
| 29.0ms | 274× | body | 256 | valid |
| 1.0ms | 14× | body | 256 | infinite |
Compiled 342 to 265 computations (22.5% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 5.0ms | 8147397.214788189 | 11968610.670059895 |
| 13.0ms | -7.145296644800785e+122 | -7.837549818629562e+120 |
| 14.0ms | 138× | body | 256 | valid |
| 2.0ms | 22× | body | 256 | infinite |
Compiled 158 to 123 computations (22.2% saved)
| 6× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 58.0ms | 2.1113976508269893e+44 | 7.181682004729479e+48 |
| 9.0ms | 2.88381682235711e-226 | 6.275762764286648e-226 |
| 7.0ms | 1.0416017486084307e-299 | 1.7935799259262534e-299 |
| 10.0ms | -7.473316478701065e-226 | -2.5990858116308106e-226 |
| 16.0ms | -1.3341981151926832e-164 | -3.527675310769899e-174 |
| 20.0ms | -17109.982032475553 | -0.19911293051971865 |
| 112.0ms | 632× | body | 256 | valid |
| 1.0ms | 8× | body | 256 | infinite |
Compiled 498 to 396 computations (20.5% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 19.0ms | 6.904544922926708e-21 | 0.0006316443846457861 |
| 14.0ms | -7.71624310230799e-77 | -4.524712304787203e-81 |
| 26.0ms | 248× | body | 256 | valid |
| 4.0ms | 40× | body | 256 | infinite |
Compiled 234 to 193 computations (17.5% saved)
| 1× | egg-herbie |
| 124× | distribute-lft-neg-in |
| 122× | unsub-neg |
| 86× | neg-mul-1 |
| 60× | distribute-rgt-neg-in |
| 58× | cancel-sign-sub |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 72 | 433 |
| 1 | 114 | 429 |
| 2 | 148 | 429 |
| 3 | 186 | 429 |
| 4 | 233 | 429 |
| 5 | 276 | 429 |
| 6 | 359 | 429 |
| 7 | 433 | 429 |
| 8 | 461 | 429 |
| 9 | 482 | 429 |
| 10 | 505 | 429 |
| 11 | 509 | 429 |
| 12 | 521 | 429 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(fma.f64 y x (+.f64 z (*.f64 x 1/2))) |
(-.f64 z (*.f64 x (-.f64 -1/2 y))) |
(if (<=.f64 y -1/2) (-.f64 z (*.f64 x (neg.f64 y))) (if (<=.f64 y 519460313115661/2361183241434822606848) (-.f64 z (*.f64 x -1/2)) (-.f64 z (*.f64 x (neg.f64 y))))) |
(if (<=.f64 y -5764607523034235/36028797018963968) (*.f64 x (+.f64 1/2 y)) (if (<=.f64 y 42000000000000000218932639601066654978849898496) (-.f64 z (*.f64 x -1/2)) (*.f64 x (+.f64 1/2 y)))) |
(if (<=.f64 z -449999999999999997308681950300087188680719798884392920375445460536620676860712234773193154961829820082200254884330304700416) z (if (<=.f64 z 9000000) (*.f64 x (+.f64 1/2 y)) z)) |
(if (<=.f64 y -17000) (*.f64 x y) (if (<=.f64 y -7676603802429837/2074757784440496479256203931845580575506223116121218449997828664845326405706454073199853524473551897144098943305650394591197575537705887653943437417056981843530590901700754761842688) z (if (<=.f64 y -2333805051507949/3334007216439927137039925895360628898572379161157954080198128905882018618908816035760716100435777145371464955296716620222944400827059682540181678026165415023047578789757007279231539142955907012364482508067943300990845374018738230645581938688) (*.f64 1/2 x) (if (<=.f64 y 541942639517149/47125446914534694131579097993419809976955095716785201420286055195012674566357244479460731079205201122720511132925006540350105785156086431086764996857554304860885586653967937772270969055149056096849908977391371752266308172471982589601097478449614615258949356272900190565812730839296826751014759649673012612226351104) z (if (<=.f64 y 8001617319455825/13336028865759708548159703581442515594289516644631816320792515623528074475635264143042864401743108581485859821186866480891777603308238730160726712104661660092190315159028029116926156571823628049457930032271773203963381496074952922582327754752) (*.f64 1/2 x) (if (<=.f64 y 219999999999999995638546337394828531480920064) z (*.f64 x y))))))) |
(if (<=.f64 z -495407149444547/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) z (if (<=.f64 z 7269215601948759/10384593717069655257060992658440192) (*.f64 1/2 x) z)) |
z |
| Outputs |
|---|
(fma.f64 y x (+.f64 z (*.f64 x 1/2))) |
(-.f64 z (*.f64 x (-.f64 -1/2 y))) |
(if (<=.f64 y -1/2) (-.f64 z (*.f64 x (neg.f64 y))) (if (<=.f64 y 519460313115661/2361183241434822606848) (-.f64 z (*.f64 x -1/2)) (-.f64 z (*.f64 x (neg.f64 y))))) |
(if (or (<=.f64 y -1/2) (not (<=.f64 y 519460313115661/2361183241434822606848))) (-.f64 z (*.f64 x (neg.f64 y))) (-.f64 z (*.f64 x -1/2))) |
(if (or (<=.f64 y -1/2) (not (<=.f64 y 519460313115661/2361183241434822606848))) (+.f64 z (*.f64 y x)) (-.f64 z (*.f64 x -1/2))) |
(if (<=.f64 y -5764607523034235/36028797018963968) (*.f64 x (+.f64 1/2 y)) (if (<=.f64 y 42000000000000000218932639601066654978849898496) (-.f64 z (*.f64 x -1/2)) (*.f64 x (+.f64 1/2 y)))) |
(if (or (<=.f64 y -5764607523034235/36028797018963968) (not (<=.f64 y 42000000000000000218932639601066654978849898496))) (*.f64 x (+.f64 y 1/2)) (-.f64 z (*.f64 x -1/2))) |
(if (<=.f64 z -449999999999999997308681950300087188680719798884392920375445460536620676860712234773193154961829820082200254884330304700416) z (if (<=.f64 z 9000000) (*.f64 x (+.f64 1/2 y)) z)) |
(if (<=.f64 z -449999999999999997308681950300087188680719798884392920375445460536620676860712234773193154961829820082200254884330304700416) z (if (<=.f64 z 9000000) (*.f64 x (+.f64 y 1/2)) z)) |
(if (<=.f64 y -17000) (*.f64 x y) (if (<=.f64 y -7676603802429837/2074757784440496479256203931845580575506223116121218449997828664845326405706454073199853524473551897144098943305650394591197575537705887653943437417056981843530590901700754761842688) z (if (<=.f64 y -2333805051507949/3334007216439927137039925895360628898572379161157954080198128905882018618908816035760716100435777145371464955296716620222944400827059682540181678026165415023047578789757007279231539142955907012364482508067943300990845374018738230645581938688) (*.f64 1/2 x) (if (<=.f64 y 541942639517149/47125446914534694131579097993419809976955095716785201420286055195012674566357244479460731079205201122720511132925006540350105785156086431086764996857554304860885586653967937772270969055149056096849908977391371752266308172471982589601097478449614615258949356272900190565812730839296826751014759649673012612226351104) z (if (<=.f64 y 8001617319455825/13336028865759708548159703581442515594289516644631816320792515623528074475635264143042864401743108581485859821186866480891777603308238730160726712104661660092190315159028029116926156571823628049457930032271773203963381496074952922582327754752) (*.f64 1/2 x) (if (<=.f64 y 219999999999999995638546337394828531480920064) z (*.f64 x y))))))) |
(if (<=.f64 y -17000) (*.f64 y x) (if (<=.f64 y -7676603802429837/2074757784440496479256203931845580575506223116121218449997828664845326405706454073199853524473551897144098943305650394591197575537705887653943437417056981843530590901700754761842688) z (if (<=.f64 y -2333805051507949/3334007216439927137039925895360628898572379161157954080198128905882018618908816035760716100435777145371464955296716620222944400827059682540181678026165415023047578789757007279231539142955907012364482508067943300990845374018738230645581938688) (*.f64 x 1/2) (if (<=.f64 y 541942639517149/47125446914534694131579097993419809976955095716785201420286055195012674566357244479460731079205201122720511132925006540350105785156086431086764996857554304860885586653967937772270969055149056096849908977391371752266308172471982589601097478449614615258949356272900190565812730839296826751014759649673012612226351104) z (if (<=.f64 y 8001617319455825/13336028865759708548159703581442515594289516644631816320792515623528074475635264143042864401743108581485859821186866480891777603308238730160726712104661660092190315159028029116926156571823628049457930032271773203963381496074952922582327754752) (*.f64 x 1/2) (if (<=.f64 y 219999999999999995638546337394828531480920064) z (*.f64 y x))))))) |
(if (<=.f64 z -495407149444547/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) z (if (<=.f64 z 7269215601948759/10384593717069655257060992658440192) (*.f64 1/2 x) z)) |
(if (<=.f64 z -495407149444547/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) z (if (<=.f64 z 7269215601948759/10384593717069655257060992658440192) (*.f64 x 1/2) z)) |
z |
Compiled 145 to 97 computations (33.1% saved)
| 2916× | fma-def |
| 2916× | fma-def |
| 1864× | fma-def |
| 1864× | fma-def |
| 1268× | fma-def |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 435 |
| 1 | 99 | 375 |
| 2 | 274 | 371 |
| 3 | 801 | 323 |
| 4 | 1689 | 297 |
| 5 | 2820 | 297 |
| 6 | 3289 | 292 |
| 7 | 3453 | 292 |
| 8 | 3561 | 292 |
| 9 | 3594 | 292 |
| 10 | 3602 | 276 |
| 11 | 4160 | 276 |
| 12 | 4160 | 276 |
| 13 | 4160 | 276 |
| 0 | 17 | 52 |
| 1 | 234 | 47 |
| 2 | 3466 | 43 |
| 0 | 40 | 435 |
| 1 | 99 | 375 |
| 2 | 274 | 371 |
| 3 | 801 | 323 |
| 4 | 1689 | 297 |
| 5 | 2820 | 297 |
| 6 | 3289 | 292 |
| 7 | 3453 | 292 |
| 8 | 3561 | 292 |
| 9 | 3594 | 292 |
| 10 | 3602 | 276 |
| 11 | 4160 | 276 |
| 12 | 4160 | 276 |
| 13 | 4160 | 276 |
| 0 | 304 | 6491 |
| 1 | 746 | 6291 |
| 2 | 2245 | 6188 |
| 0 | 304 | 6491 |
| 1 | 746 | 6291 |
| 2 | 2245 | 6188 |
| 1× | node limit |
| 1× | node limit |
| 1× | saturated |
| 1× | node limit |
| 1× | saturated |
Compiled 279 to 149 computations (46.6% saved)
Compiled 272 to 166 computations (39% saved)
Loading profile data...