
Time bar (total: 4.9s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 13 to 9 computations (30.8% saved)
ival-sub, time spent: 0.0ms, 0.0% of total-timeival-add, time spent: 0.0ms, 0.0% of total-timeival-mult, time spent: 0.0ms, 0.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1.3s | 6542× | 256 | valid |
| 343.0ms | 1713× | 256 | infinite |
| 0.0ms | 1× | 256 | valid |
ival-mult, time spent: 197.0ms, 49.0% of total-timeival-sub, time spent: 141.0ms, 35.0% of total-timeival-add, time spent: 51.0ms, 13.0% of total-timeconst, time spent: 15.0ms, 4.0% of total-time| 1× | egg-herbie |
| 2364× | fma-neg |
| 602× | fma-define |
| 392× | distribute-rgt-in |
| 390× | unsub-neg |
| 274× | sub-neg |
| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 3 | 0 | - | 0 | - | (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
| 0 | 0 | - | 0 | - | 1 |
| 0 | 0 | - | 0 | - | (-.f64 1 x) |
| 0 | 0 | - | 0 | - | y |
| 0 | 0 | - | 0 | - | z |
| 0 | 0 | - | 0 | - | (*.f64 (-.f64 1 x) y) |
| 0 | 0 | - | 0 | - | (*.f64 x z) |
| 0 | 0 | - | 0 | - | x |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
+.f64 | (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) | nan-rescue | 3 | 0 |
| ↳ | (*.f64 (-.f64 1 x) y) | overflow | 33 | |
| ↳ | (*.f64 x z) | overflow | 37 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 3 | 0 |
| - | 0 | 253 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 3 | 0 | 0 |
| - | 0 | 1 | 252 |
Useful iterations: 9 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 399 |
| 1 | 102 | 387 |
| 2 | 236 | 379 |
| 3 | 682 | 351 |
| 4 | 1707 | 339 |
| 5 | 2872 | 337 |
| 6 | 3242 | 337 |
| 7 | 3282 | 337 |
| 8 | 3286 | 337 |
| 9 | 3286 | 317 |
| 10 | 3929 | 317 |
| 11 | 3929 | 317 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
(+.f64 (*.f64 (-.f64 1 (neg.f64 x)) y) (*.f64 (neg.f64 x) z)) |
(+.f64 (*.f64 (-.f64 1 x) (neg.f64 y)) (*.f64 x z)) |
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x (neg.f64 z))) |
(neg.f64 (+.f64 (*.f64 (-.f64 1 (neg.f64 x)) y) (*.f64 (neg.f64 x) z))) |
(neg.f64 (+.f64 (*.f64 (-.f64 1 x) (neg.f64 y)) (*.f64 x z))) |
(neg.f64 (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 (-.f64 1 y) x) (*.f64 y z)) |
(+.f64 (*.f64 (-.f64 1 z) y) (*.f64 z x)) |
(+.f64 (*.f64 (-.f64 1 x) z) (*.f64 x y)) |
| Outputs |
|---|
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
(fma.f64 (-.f64 1 x) y (*.f64 x z)) |
(fma.f64 x z (*.f64 (-.f64 1 x) y)) |
(-.f64 y (*.f64 x (-.f64 y z))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(fma.f64 x (-.f64 z y) y) |
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
(fma.f64 (-.f64 1 x) y (*.f64 x z)) |
(fma.f64 x z (*.f64 (-.f64 1 x) y)) |
(-.f64 y (*.f64 x (-.f64 y z))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(fma.f64 x (-.f64 z y) y) |
(+.f64 (*.f64 (-.f64 1 (neg.f64 x)) y) (*.f64 (neg.f64 x) z)) |
(fma.f64 (-.f64 1 (neg.f64 x)) y (*.f64 x (neg.f64 z))) |
(-.f64 (*.f64 y (+.f64 1 x)) (*.f64 x z)) |
(+.f64 y (*.f64 x (-.f64 y z))) |
(fma.f64 x (-.f64 y z) y) |
(+.f64 (*.f64 (-.f64 1 x) (neg.f64 y)) (*.f64 x z)) |
(fma.f64 (-.f64 1 x) (neg.f64 y) (*.f64 x z)) |
(-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) |
(fma.f64 x z (*.f64 y (+.f64 x -1))) |
(-.f64 (*.f64 x (+.f64 y z)) y) |
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x (neg.f64 z))) |
(fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z))) |
(-.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
(-.f64 y (*.f64 x (+.f64 y z))) |
(neg.f64 (+.f64 (*.f64 (-.f64 1 (neg.f64 x)) y) (*.f64 (neg.f64 x) z))) |
(neg.f64 (fma.f64 (-.f64 1 (neg.f64 x)) y (*.f64 x (neg.f64 z)))) |
(-.f64 (*.f64 x z) (*.f64 y (+.f64 1 x))) |
(fma.f64 y (-.f64 -1 x) (*.f64 x z)) |
(-.f64 (*.f64 x (-.f64 z y)) y) |
(neg.f64 (+.f64 (*.f64 (-.f64 1 x) (neg.f64 y)) (*.f64 x z))) |
(fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z))) |
(-.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
(-.f64 y (*.f64 x (+.f64 y z))) |
(neg.f64 (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x (neg.f64 z)))) |
(fma.f64 (-.f64 1 x) (neg.f64 y) (*.f64 x z)) |
(-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) |
(fma.f64 x z (*.f64 y (+.f64 x -1))) |
(-.f64 (*.f64 x (+.f64 y z)) y) |
(+.f64 (*.f64 (-.f64 1 y) x) (*.f64 y z)) |
(fma.f64 (-.f64 1 y) x (*.f64 y z)) |
(fma.f64 x (-.f64 1 y) (*.f64 y z)) |
(+.f64 x (*.f64 y (-.f64 z x))) |
(fma.f64 y (-.f64 z x) x) |
(+.f64 (*.f64 (-.f64 1 z) y) (*.f64 z x)) |
(fma.f64 (-.f64 1 z) y (*.f64 x z)) |
(fma.f64 x z (*.f64 y (-.f64 1 z))) |
(-.f64 y (*.f64 z (-.f64 y x))) |
(fma.f64 z (-.f64 x y) y) |
(+.f64 (*.f64 (-.f64 1 x) z) (*.f64 x y)) |
(fma.f64 (-.f64 1 x) z (*.f64 x y)) |
(fma.f64 x y (*.f64 (-.f64 1 x) z)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(fma.f64 x (-.f64 y z) z) |
Compiled 80 to 46 computations (42.5% saved)
ival-mult, time spent: 12.0ms, 43.0% of total-timeival-sub, time spent: 10.0ms, 36.0% of total-timeival-add, time spent: 4.0ms, 14.0% of total-timeconst, time spent: 2.0ms, 7.0% of total-timeCompiled 39 to 18 computations (53.8% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (-.f64 y (*.f64 x (-.f64 y z))) |
| ▶ | 98.8% | (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
Compiled 22 to 14 computations (36.4% saved)
Found 3 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 x (-.f64 y z)) |
| ✓ | 100.0% | (*.f64 (-.f64 1 x) y) |
| ✓ | 98.9% | (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
Compiled 46 to 18 computations (60.9% saved)
ival-mult, time spent: 10.0ms, 49.0% of total-timeival-sub, time spent: 8.0ms, 39.0% of total-timeival-add, time spent: 1.0ms, 5.0% of total-timeconst, time spent: 1.0ms, 5.0% of total-time| Inputs |
|---|
#<alt (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z))> |
#<alt (*.f64 (-.f64 1 x) y)> |
#<alt (*.f64 x (-.f64 y z))> |
| Outputs |
|---|
#<alt y> |
#<alt (+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y))))> |
#<alt (+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y))))> |
#<alt (+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y))))> |
#<alt (*.f64 x (+.f64 z (*.f64 -1 y)))> |
#<alt (*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x))))> |
#<alt (*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x))))> |
#<alt (*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x))))> |
#<alt (*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 z))))> |
#<alt (*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x))))))> |
#<alt (*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x))))))> |
#<alt (*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x))))))> |
#<alt (*.f64 x z)> |
#<alt (+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))> |
#<alt (+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))> |
#<alt (+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x))> |
#<alt (*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x))> |
#<alt (*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y)))))> |
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y)))))> |
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y)))))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))> |
#<alt (+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))> |
#<alt (+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x)))> |
#<alt (*.f64 x z)> |
#<alt (*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z)))> |
#<alt (*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z)))> |
#<alt (*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z)))> |
#<alt (*.f64 x z)> |
#<alt (*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z)))))> |
#<alt (*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z)))))> |
#<alt (*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z)))))> |
#<alt y> |
#<alt (+.f64 y (*.f64 -1 (*.f64 x y)))> |
#<alt (+.f64 y (*.f64 -1 (*.f64 x y)))> |
#<alt (+.f64 y (*.f64 -1 (*.f64 x y)))> |
#<alt (*.f64 -1 (*.f64 x y))> |
#<alt (*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x)))> |
#<alt (*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x)))> |
#<alt (*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x)))> |
#<alt (*.f64 -1 (*.f64 x y))> |
#<alt (*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x)))))> |
#<alt (*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x)))))> |
#<alt (*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x)))))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 y (-.f64 1 x))> |
#<alt (*.f64 -1 (*.f64 x z))> |
#<alt (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))> |
#<alt (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))> |
#<alt (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))> |
#<alt (*.f64 x y)> |
#<alt (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))> |
#<alt (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))> |
#<alt (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))> |
#<alt (*.f64 x y)> |
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))))> |
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))))> |
#<alt (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))))> |
#<alt (*.f64 x y)> |
#<alt (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))> |
#<alt (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))> |
#<alt (+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y))> |
#<alt (*.f64 -1 (*.f64 x z))> |
#<alt (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))> |
#<alt (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))> |
#<alt (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))> |
#<alt (*.f64 -1 (*.f64 x z))> |
#<alt (*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))))> |
#<alt (*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))))> |
#<alt (*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))))> |
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 11.0ms | z | @ | -inf | (+ (* (- 1 x) y) (* x z)) |
| 1.0ms | x | @ | inf | (+ (* (- 1 x) y) (* x z)) |
| 1.0ms | y | @ | inf | (* (- 1 x) y) |
| 1.0ms | y | @ | 0 | (+ (* (- 1 x) y) (* x z)) |
| 1.0ms | x | @ | 0 | (+ (* (- 1 x) y) (* x z)) |
| 1× | batch-egg-rewrite |
| 1162× | log-prod |
| 1078× | fma-define |
| 753× | log1p-expm1-u |
| 753× | expm1-log1p-u |
| 466× | fma-neg |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 74 |
| 1 | 226 | 74 |
| 2 | 3184 | 74 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
(*.f64 (-.f64 1 x) y) |
(*.f64 x (-.f64 y z)) |
| Outputs |
|---|
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))) (/.f64 (pow.f64 (*.f64 x z) 2) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))))) |
(*.f64 1 (fma.f64 (-.f64 1 x) y (*.f64 x z))) |
(*.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 1) |
(*.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2) (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(*.f64 (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)) (/.f64 1 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))))) |
(/.f64 1 (/.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)) (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)))) |
(/.f64 1 (/.f64 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))) (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (+.f64 (pow.f64 (*.f64 x z) 2) (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (*.f64 (-.f64 1 x) (*.f64 y (*.f64 x z)))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3))) (neg.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2))) (neg.f64 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 (-.f64 1 x) y) 2)) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y))) |
(pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 1) |
(pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 3) |
(pow.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2) |
(sqrt.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 2)) |
(log.f64 (exp.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)) (+.f64 1 (expm1.f64 (*.f64 x z))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))) (pow.f64 (exp.f64 x) z))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))) (+.f64 1 (expm1.f64 (*.f64 x z))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 x) z) (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (pow.f64 (exp.f64 y) (-.f64 1 x)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))))) |
(cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(log1p.f64 (expm1.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(exp.f64 (log.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 1)) |
(fma.f64 1 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
(fma.f64 1 (*.f64 x z) (*.f64 (-.f64 1 x) y)) |
(fma.f64 x z (*.f64 (-.f64 1 x) y)) |
(fma.f64 (-.f64 1 x) y (*.f64 x z)) |
(fma.f64 y (-.f64 1 x) (*.f64 x z)) |
(fma.f64 (*.f64 (-.f64 1 x) y) 1 (*.f64 x z)) |
(fma.f64 z x (*.f64 (-.f64 1 x) y)) |
(fma.f64 (*.f64 x z) 1 (*.f64 (-.f64 1 x) y)) |
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 1 x)) 2) (*.f64 (cbrt.f64 (-.f64 1 x)) y) (*.f64 x z)) |
(fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 2) (*.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 2) (cbrt.f64 (*.f64 (-.f64 1 x) y)) (*.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 1 x)) (*.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (sqrt.f64 (-.f64 1 x)) (*.f64 (sqrt.f64 (-.f64 1 x)) y) (*.f64 x z)) |
(fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) (sqrt.f64 (*.f64 (-.f64 1 x) y)) (*.f64 x z)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 1 x)) (*.f64 x z)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (*.f64 (-.f64 1 x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x z)) |
(fma.f64 (*.f64 (-.f64 1 x) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x z)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 1 x)) 2)) (cbrt.f64 (-.f64 1 x)) (*.f64 x z)) |
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 1 x))) (sqrt.f64 (-.f64 1 x)) (*.f64 x z)) |
(+.f64 y (*.f64 y (neg.f64 x))) |
(+.f64 y (*.f64 (neg.f64 x) y)) |
(+.f64 0 (*.f64 (-.f64 1 x) y)) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))) (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 1 x) y))) 1) |
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 3))) (fma.f64 x (+.f64 1 x) 1)) |
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 2))) (+.f64 1 x)) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 3)) y) (fma.f64 x (+.f64 1 x) 1)) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 2)) y) (+.f64 1 x)) |
(pow.f64 (*.f64 (-.f64 1 x) y) 1) |
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 3) |
(pow.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) 2) |
(sqrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2)) |
(log.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y)))) |
(cbrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3)) |
(expm1.f64 (log1p.f64 (*.f64 (-.f64 1 x) y))) |
(log1p.f64 (expm1.f64 (*.f64 (-.f64 1 x) y))) |
(exp.f64 (log.f64 (*.f64 (-.f64 1 x) y))) |
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 x) y)) 1)) |
(fma.f64 1 y (*.f64 y (neg.f64 x))) |
(fma.f64 1 y (*.f64 (neg.f64 x) y)) |
(fma.f64 y 1 (*.f64 y (neg.f64 x))) |
(fma.f64 y 1 (*.f64 (neg.f64 x) y)) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 y (neg.f64 x))) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 (neg.f64 x) y)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y (neg.f64 x))) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 (neg.f64 x) y)) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y (neg.f64 x))) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 (neg.f64 x) y)) |
(+.f64 0 (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 x y) (*.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y x) (*.f64 (neg.f64 z) x)) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)) (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 y z)))) 1) |
(/.f64 (*.f64 x (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (fma.f64 z (+.f64 y z) (pow.f64 y 2))) |
(/.f64 (*.f64 x (-.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 y z)) |
(/.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) x) (fma.f64 z (+.f64 y z) (pow.f64 y 2))) |
(/.f64 (*.f64 (-.f64 (pow.f64 y 2) (pow.f64 z 2)) x) (+.f64 y z)) |
(pow.f64 (*.f64 x (-.f64 y z)) 1) |
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 y z))) 3) |
(pow.f64 (pow.f64 (*.f64 x (-.f64 y z)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 y z))) 2) |
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 y z)) 2)) |
(log.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 y z))))) |
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 y z)) 3)) |
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (-.f64 y z) 3))) |
(cbrt.f64 (*.f64 (pow.f64 (-.f64 y z) 3) (pow.f64 x 3))) |
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 y z)))) |
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 y z)))) |
(exp.f64 (log.f64 (*.f64 x (-.f64 y z)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 y z))) 1)) |
(fma.f64 x y (*.f64 x (neg.f64 z))) |
(fma.f64 y x (*.f64 (neg.f64 z) x)) |
| 1× | egg-herbie |
| 1146× | distribute-lft-in |
| 1090× | distribute-rgt-in |
| 606× | *-commutative |
| 528× | times-frac |
| 472× | cancel-sign-sub-inv |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 347 | 7319 |
| 1 | 804 | 6651 |
| 2 | 2273 | 6607 |
| 3 | 7454 | 6607 |
| 1× | node limit |
| Inputs |
|---|
y |
(+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y)))) |
(+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y)))) |
(+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y)))) |
(*.f64 x (+.f64 z (*.f64 -1 y))) |
(*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x)))) |
(*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x)))) |
(*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x)))) |
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 z)))) |
(*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x)))))) |
(*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x)))))) |
(*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x)))))) |
(*.f64 x z) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x)) |
(*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x)) |
(*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y))))) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y))))) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y))))) |
(*.f64 y (-.f64 1 x)) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) |
(*.f64 x z) |
(*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z))) |
(*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z))) |
(*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z))) |
(*.f64 x z) |
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z))))) |
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z))))) |
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z))))) |
y |
(+.f64 y (*.f64 -1 (*.f64 x y))) |
(+.f64 y (*.f64 -1 (*.f64 x y))) |
(+.f64 y (*.f64 -1 (*.f64 x y))) |
(*.f64 -1 (*.f64 x y)) |
(*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x))) |
(*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x))) |
(*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x))) |
(*.f64 -1 (*.f64 x y)) |
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x))))) |
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x))))) |
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x))))) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 -1 (*.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y)) |
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y)) |
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y)) |
(*.f64 x y) |
(*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))) |
(*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))) |
(*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))) |
(*.f64 x y) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))) |
(*.f64 x y) |
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y)) |
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y)) |
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y)) |
(*.f64 -1 (*.f64 x z)) |
(*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))) |
(*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))) |
(*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))) |
(*.f64 -1 (*.f64 x z)) |
(*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))) |
(*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))) |
(*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) 1) |
(-.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))) (/.f64 (pow.f64 (*.f64 x z) 2) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))))) |
(*.f64 1 (fma.f64 (-.f64 1 x) y (*.f64 x z))) |
(*.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 1) |
(*.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2) (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(*.f64 (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)) (/.f64 1 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))))) |
(/.f64 1 (/.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)) (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)))) |
(/.f64 1 (/.f64 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))) (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (+.f64 (pow.f64 (*.f64 x z) 2) (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (*.f64 (-.f64 1 x) (*.f64 y (*.f64 x z)))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3))) (neg.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2))) (neg.f64 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 (-.f64 1 x) y) 2)) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y))) |
(pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 1) |
(pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 3) |
(pow.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 3) 1/3) |
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2) |
(sqrt.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 2)) |
(log.f64 (exp.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)) (+.f64 1 (expm1.f64 (*.f64 x z))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))) (pow.f64 (exp.f64 x) z))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))) (+.f64 1 (expm1.f64 (*.f64 x z))))) |
(log.f64 (*.f64 (pow.f64 (exp.f64 x) z) (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (pow.f64 (exp.f64 y) (-.f64 1 x)))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))))) |
(cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 3)) |
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(log1p.f64 (expm1.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(exp.f64 (log.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 1)) |
(fma.f64 1 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
(fma.f64 1 (*.f64 x z) (*.f64 (-.f64 1 x) y)) |
(fma.f64 x z (*.f64 (-.f64 1 x) y)) |
(fma.f64 (-.f64 1 x) y (*.f64 x z)) |
(fma.f64 y (-.f64 1 x) (*.f64 x z)) |
(fma.f64 (*.f64 (-.f64 1 x) y) 1 (*.f64 x z)) |
(fma.f64 z x (*.f64 (-.f64 1 x) y)) |
(fma.f64 (*.f64 x z) 1 (*.f64 (-.f64 1 x) y)) |
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 1 x)) 2) (*.f64 (cbrt.f64 (-.f64 1 x)) y) (*.f64 x z)) |
(fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 2) (*.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 2) (cbrt.f64 (*.f64 (-.f64 1 x) y)) (*.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 1 x)) (*.f64 x z)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (sqrt.f64 (-.f64 1 x)) (*.f64 (sqrt.f64 (-.f64 1 x)) y) (*.f64 x z)) |
(fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) (sqrt.f64 (*.f64 (-.f64 1 x) y)) (*.f64 x z)) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 1 x)) (*.f64 x z)) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (-.f64 1 x) y)) |
(fma.f64 (*.f64 (-.f64 1 x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x z)) |
(fma.f64 (*.f64 (-.f64 1 x) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x z)) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 1 x)) 2)) (cbrt.f64 (-.f64 1 x)) (*.f64 x z)) |
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 1 x))) (sqrt.f64 (-.f64 1 x)) (*.f64 x z)) |
(+.f64 y (*.f64 y (neg.f64 x))) |
(+.f64 y (*.f64 (neg.f64 x) y)) |
(+.f64 0 (*.f64 (-.f64 1 x) y)) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))) (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 1 x) y))) 1) |
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 3))) (fma.f64 x (+.f64 1 x) 1)) |
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 2))) (+.f64 1 x)) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 3)) y) (fma.f64 x (+.f64 1 x) 1)) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 2)) y) (+.f64 1 x)) |
(pow.f64 (*.f64 (-.f64 1 x) y) 1) |
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 3) |
(pow.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) 2) |
(sqrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2)) |
(log.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y)))) |
(cbrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3)) |
(expm1.f64 (log1p.f64 (*.f64 (-.f64 1 x) y))) |
(log1p.f64 (expm1.f64 (*.f64 (-.f64 1 x) y))) |
(exp.f64 (log.f64 (*.f64 (-.f64 1 x) y))) |
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 x) y)) 1)) |
(fma.f64 1 y (*.f64 y (neg.f64 x))) |
(fma.f64 1 y (*.f64 (neg.f64 x) y)) |
(fma.f64 y 1 (*.f64 y (neg.f64 x))) |
(fma.f64 y 1 (*.f64 (neg.f64 x) y)) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 y (neg.f64 x))) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 (neg.f64 x) y)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y (neg.f64 x))) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 (neg.f64 x) y)) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y (neg.f64 x))) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 (neg.f64 x) y)) |
(+.f64 0 (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 x y) (*.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y x) (*.f64 (neg.f64 z) x)) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)) (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 y z)))) 1) |
(/.f64 (*.f64 x (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (fma.f64 z (+.f64 y z) (pow.f64 y 2))) |
(/.f64 (*.f64 x (-.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 y z)) |
(/.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) x) (fma.f64 z (+.f64 y z) (pow.f64 y 2))) |
(/.f64 (*.f64 (-.f64 (pow.f64 y 2) (pow.f64 z 2)) x) (+.f64 y z)) |
(pow.f64 (*.f64 x (-.f64 y z)) 1) |
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 y z))) 3) |
(pow.f64 (pow.f64 (*.f64 x (-.f64 y z)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 y z))) 2) |
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 y z)) 2)) |
(log.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 y z))))) |
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 y z)) 3)) |
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (-.f64 y z) 3))) |
(cbrt.f64 (*.f64 (pow.f64 (-.f64 y z) 3) (pow.f64 x 3))) |
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 y z)))) |
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 y z)))) |
(exp.f64 (log.f64 (*.f64 x (-.f64 y z)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 y z))) 1)) |
(fma.f64 x y (*.f64 x (neg.f64 z))) |
(fma.f64 y x (*.f64 (neg.f64 z) x)) |
| Outputs |
|---|
y |
(+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y)))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y)))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(+.f64 y (*.f64 x (+.f64 z (*.f64 -1 y)))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(*.f64 x (+.f64 z (*.f64 -1 y))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x)))) |
(*.f64 x (+.f64 z (fma.f64 -1 y (/.f64 y x)))) |
(*.f64 x (+.f64 z (-.f64 (/.f64 y x) y))) |
(*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x)))) |
(*.f64 x (+.f64 z (fma.f64 -1 y (/.f64 y x)))) |
(*.f64 x (+.f64 z (-.f64 (/.f64 y x) y))) |
(*.f64 x (+.f64 z (+.f64 (*.f64 -1 y) (/.f64 y x)))) |
(*.f64 x (+.f64 z (fma.f64 -1 y (/.f64 y x)))) |
(*.f64 x (+.f64 z (-.f64 (/.f64 y x) y))) |
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 z)))) |
(*.f64 x (+.f64 z (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x)))))) |
(*.f64 x (+.f64 z (fma.f64 -1 y (/.f64 y x)))) |
(*.f64 x (+.f64 z (-.f64 (/.f64 y x) y))) |
(*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x)))))) |
(*.f64 x (+.f64 z (fma.f64 -1 y (/.f64 y x)))) |
(*.f64 x (+.f64 z (-.f64 (/.f64 y x) y))) |
(*.f64 -1 (*.f64 x (+.f64 y (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 y x)))))) |
(*.f64 x (+.f64 z (fma.f64 -1 y (/.f64 y x)))) |
(*.f64 x (+.f64 z (-.f64 (/.f64 y x) y))) |
(*.f64 x z) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x)) |
(*.f64 y (+.f64 1 (-.f64 (/.f64 (*.f64 x z) y) x))) |
(*.f64 y (-.f64 (fma.f64 x (/.f64 z y) 1) x)) |
(*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x)) |
(*.f64 y (+.f64 1 (-.f64 (/.f64 (*.f64 x z) y) x))) |
(*.f64 y (-.f64 (fma.f64 x (/.f64 z y) 1) x)) |
(*.f64 y (-.f64 (+.f64 1 (/.f64 (*.f64 x z) y)) x)) |
(*.f64 y (+.f64 1 (-.f64 (/.f64 (*.f64 x z) y) x))) |
(*.f64 y (-.f64 (fma.f64 x (/.f64 z y) 1) x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y))))) |
(*.f64 y (+.f64 1 (-.f64 (/.f64 (*.f64 x z) y) x))) |
(*.f64 y (-.f64 (fma.f64 x (/.f64 z y) 1) x)) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y))))) |
(*.f64 y (+.f64 1 (-.f64 (/.f64 (*.f64 x z) y) x))) |
(*.f64 y (-.f64 (fma.f64 x (/.f64 z y) 1) x)) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (-.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 x z) y))))) |
(*.f64 y (+.f64 1 (-.f64 (/.f64 (*.f64 x z) y) x))) |
(*.f64 y (-.f64 (fma.f64 x (/.f64 z y) 1) x)) |
(*.f64 y (-.f64 1 x)) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(*.f64 x z) |
(*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z))) |
(*.f64 z (+.f64 x (*.f64 y (/.f64 (-.f64 1 x) z)))) |
(*.f64 z (fma.f64 y (/.f64 (-.f64 1 x) z) x)) |
(*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z))) |
(*.f64 z (+.f64 x (*.f64 y (/.f64 (-.f64 1 x) z)))) |
(*.f64 z (fma.f64 y (/.f64 (-.f64 1 x) z) x)) |
(*.f64 z (+.f64 x (/.f64 (*.f64 y (-.f64 1 x)) z))) |
(*.f64 z (+.f64 x (*.f64 y (/.f64 (-.f64 1 x) z)))) |
(*.f64 z (fma.f64 y (/.f64 (-.f64 1 x) z) x)) |
(*.f64 x z) |
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z))))) |
(*.f64 z (+.f64 x (*.f64 y (/.f64 (-.f64 1 x) z)))) |
(*.f64 z (fma.f64 y (/.f64 (-.f64 1 x) z) x)) |
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z))))) |
(*.f64 z (+.f64 x (*.f64 y (/.f64 (-.f64 1 x) z)))) |
(*.f64 z (fma.f64 y (/.f64 (-.f64 1 x) z) x)) |
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (*.f64 y (-.f64 1 x)) z))))) |
(*.f64 z (+.f64 x (*.f64 y (/.f64 (-.f64 1 x) z)))) |
(*.f64 z (fma.f64 y (/.f64 (-.f64 1 x) z) x)) |
y |
(+.f64 y (*.f64 -1 (*.f64 x y))) |
(*.f64 y (-.f64 1 x)) |
(+.f64 y (*.f64 -1 (*.f64 x y))) |
(*.f64 y (-.f64 1 x)) |
(+.f64 y (*.f64 -1 (*.f64 x y))) |
(*.f64 y (-.f64 1 x)) |
(*.f64 -1 (*.f64 x y)) |
(*.f64 y (neg.f64 x)) |
(neg.f64 (*.f64 y x)) |
(*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x))) |
(*.f64 x (fma.f64 -1 y (/.f64 y x))) |
(*.f64 x (-.f64 (/.f64 y x) y)) |
(*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x))) |
(*.f64 x (fma.f64 -1 y (/.f64 y x))) |
(*.f64 x (-.f64 (/.f64 y x) y)) |
(*.f64 x (+.f64 (*.f64 -1 y) (/.f64 y x))) |
(*.f64 x (fma.f64 -1 y (/.f64 y x))) |
(*.f64 x (-.f64 (/.f64 y x) y)) |
(*.f64 -1 (*.f64 x y)) |
(*.f64 y (neg.f64 x)) |
(neg.f64 (*.f64 y x)) |
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x))))) |
(*.f64 x (fma.f64 -1 y (/.f64 y x))) |
(*.f64 x (-.f64 (/.f64 y x) y)) |
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x))))) |
(*.f64 x (fma.f64 -1 y (/.f64 y x))) |
(*.f64 x (-.f64 (/.f64 y x) y)) |
(*.f64 -1 (*.f64 x (+.f64 y (*.f64 -1 (/.f64 y x))))) |
(*.f64 x (fma.f64 -1 y (/.f64 y x))) |
(*.f64 x (-.f64 (/.f64 y x) y)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 y (-.f64 1 x)) |
(*.f64 -1 (*.f64 x z)) |
(*.f64 x (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y)) |
(*.f64 x (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y)) |
(*.f64 x (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y)) |
(*.f64 x (-.f64 y z)) |
(*.f64 x y) |
(*.f64 y x) |
(*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))) |
(*.f64 y (+.f64 x (/.f64 (*.f64 x (neg.f64 z)) y))) |
(*.f64 y (-.f64 x (/.f64 (*.f64 x z) y))) |
(*.f64 y (-.f64 x (*.f64 x (/.f64 z y)))) |
(*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))) |
(*.f64 y (+.f64 x (/.f64 (*.f64 x (neg.f64 z)) y))) |
(*.f64 y (-.f64 x (/.f64 (*.f64 x z) y))) |
(*.f64 y (-.f64 x (*.f64 x (/.f64 z y)))) |
(*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))) |
(*.f64 y (+.f64 x (/.f64 (*.f64 x (neg.f64 z)) y))) |
(*.f64 y (-.f64 x (/.f64 (*.f64 x z) y))) |
(*.f64 y (-.f64 x (*.f64 x (/.f64 z y)))) |
(*.f64 x y) |
(*.f64 y x) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))) |
(*.f64 y (+.f64 x (/.f64 (*.f64 x (neg.f64 z)) y))) |
(*.f64 y (-.f64 x (/.f64 (*.f64 x z) y))) |
(*.f64 y (-.f64 x (*.f64 x (/.f64 z y)))) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))) |
(*.f64 y (+.f64 x (/.f64 (*.f64 x (neg.f64 z)) y))) |
(*.f64 y (-.f64 x (/.f64 (*.f64 x z) y))) |
(*.f64 y (-.f64 x (*.f64 x (/.f64 z y)))) |
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))) |
(*.f64 y (+.f64 x (/.f64 (*.f64 x (neg.f64 z)) y))) |
(*.f64 y (-.f64 x (/.f64 (*.f64 x z) y))) |
(*.f64 y (-.f64 x (*.f64 x (/.f64 z y)))) |
(*.f64 x y) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y)) |
(*.f64 x (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y)) |
(*.f64 x (-.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 x z)) (*.f64 x y)) |
(*.f64 x (-.f64 y z)) |
(*.f64 -1 (*.f64 x z)) |
(*.f64 x (neg.f64 z)) |
(*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))) |
(*.f64 z (fma.f64 -1 x (*.f64 x (/.f64 y z)))) |
(*.f64 z (*.f64 x (+.f64 (/.f64 y z) -1))) |
(*.f64 z (*.f64 x (+.f64 -1 (/.f64 y z)))) |
(*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))) |
(*.f64 z (fma.f64 -1 x (*.f64 x (/.f64 y z)))) |
(*.f64 z (*.f64 x (+.f64 (/.f64 y z) -1))) |
(*.f64 z (*.f64 x (+.f64 -1 (/.f64 y z)))) |
(*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))) |
(*.f64 z (fma.f64 -1 x (*.f64 x (/.f64 y z)))) |
(*.f64 z (*.f64 x (+.f64 (/.f64 y z) -1))) |
(*.f64 z (*.f64 x (+.f64 -1 (/.f64 y z)))) |
(*.f64 -1 (*.f64 x z)) |
(*.f64 x (neg.f64 z)) |
(*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))) |
(*.f64 z (fma.f64 -1 x (*.f64 x (/.f64 y z)))) |
(*.f64 z (*.f64 x (+.f64 (/.f64 y z) -1))) |
(*.f64 z (*.f64 x (+.f64 -1 (/.f64 y z)))) |
(*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))) |
(*.f64 z (fma.f64 -1 x (*.f64 x (/.f64 y z)))) |
(*.f64 z (*.f64 x (+.f64 (/.f64 y z) -1))) |
(*.f64 z (*.f64 x (+.f64 -1 (/.f64 y z)))) |
(*.f64 -1 (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))) |
(*.f64 z (fma.f64 -1 x (*.f64 x (/.f64 y z)))) |
(*.f64 z (*.f64 x (+.f64 (/.f64 y z) -1))) |
(*.f64 z (*.f64 x (+.f64 -1 (/.f64 y z)))) |
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) 1) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(-.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))) (/.f64 (pow.f64 (*.f64 x z) 2) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 y (-.f64 1 x)) (*.f64 x z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 y (-.f64 1 x)) 2)) (fma.f64 y (+.f64 x -1) (*.f64 x z))) |
(*.f64 1 (fma.f64 (-.f64 1 x) y (*.f64 x z))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(*.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 1) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(*.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2) (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(*.f64 (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (fma.f64 y (+.f64 x -1) (*.f64 x z)) (pow.f64 (*.f64 y (-.f64 1 x)) 2))) |
(*.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)) (/.f64 1 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 y (-.f64 1 x)) (*.f64 x z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 y (-.f64 1 x)) 2)) (fma.f64 y (+.f64 x -1) (*.f64 x z))) |
(/.f64 1 (/.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)) (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (fma.f64 y (+.f64 x -1) (*.f64 x z)) (pow.f64 (*.f64 y (-.f64 1 x)) 2))) |
(/.f64 1 (/.f64 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))) (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 y (-.f64 1 x)) (*.f64 x z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 y (-.f64 1 x)) 2)) (fma.f64 y (+.f64 x -1) (*.f64 x z))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2))) |
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (fma.f64 y (+.f64 x -1) (*.f64 x z)) (pow.f64 (*.f64 y (-.f64 1 x)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3)) (+.f64 (pow.f64 (*.f64 x z) 2) (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (*.f64 (-.f64 1 x) (*.f64 y (*.f64 x z)))))) |
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (fma.f64 y (+.f64 x -1) (*.f64 x z)) (pow.f64 (*.f64 y (-.f64 1 x)) 2))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 y (-.f64 1 x)) (*.f64 x z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 y (-.f64 1 x)) 2)) (fma.f64 y (+.f64 x -1) (*.f64 x z))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 (-.f64 1 x) y) 3))) (neg.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) (pow.f64 (*.f64 (-.f64 1 x) y) 2)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (/.f64 1 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) (pow.f64 (*.f64 y (-.f64 1 x)) 2))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 (*.f64 y (-.f64 1 x)) 3)) (fma.f64 (*.f64 x z) (fma.f64 y (+.f64 x -1) (*.f64 x z)) (pow.f64 (*.f64 y (-.f64 1 x)) 2))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2) (pow.f64 (*.f64 x z) 2))) (neg.f64 (fma.f64 (-.f64 1 x) y (neg.f64 (*.f64 x z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 y (-.f64 1 x)) (*.f64 x z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 y (-.f64 1 x)) 2)) (fma.f64 y (+.f64 x -1) (*.f64 x z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 (-.f64 1 x) y) 2)) (-.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (fma.f64 (-.f64 1 x) y (*.f64 x (neg.f64 z)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 1 x)) 2) (pow.f64 (*.f64 x z) 2)) (-.f64 (*.f64 y (-.f64 1 x)) (*.f64 x z))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x z) 2) (pow.f64 (*.f64 y (-.f64 1 x)) 2)) (fma.f64 y (+.f64 x -1) (*.f64 x z))) |
(pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 1) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 3) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(pow.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 3) 1/3) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 2) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(sqrt.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 2)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(log.f64 (exp.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(log.f64 (*.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)) (+.f64 1 (expm1.f64 (*.f64 x z))))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))) (pow.f64 (exp.f64 x) z))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))) (+.f64 1 (expm1.f64 (*.f64 x z))))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(log.f64 (*.f64 (pow.f64 (exp.f64 x) z) (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (pow.f64 (exp.f64 y) (-.f64 1 x)))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x z))) (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y))))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)) 3)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(log1p.f64 (expm1.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(exp.f64 (log.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z)))) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 1 x) y (*.f64 x z))) 1)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 1 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 1 (*.f64 x z) (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 x z (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (-.f64 1 x) y (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 y (-.f64 1 x) (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (*.f64 (-.f64 1 x) y) 1 (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 z x (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (*.f64 x z) 1 (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 1 x)) 2) (*.f64 (cbrt.f64 (-.f64 1 x)) y) (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (cbrt.f64 (*.f64 x z)) (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x z)) 2) (cbrt.f64 (*.f64 x z)) (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 2) (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 2) (cbrt.f64 (*.f64 (-.f64 1 x) y)) (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (-.f64 1 x)) (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (sqrt.f64 (-.f64 1 x)) (*.f64 (sqrt.f64 (-.f64 1 x)) y) (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (sqrt.f64 (*.f64 x z)) (sqrt.f64 (*.f64 x z)) (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) (sqrt.f64 (*.f64 (-.f64 1 x) y)) (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 1 x)) (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (-.f64 1 x) y)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (*.f64 (-.f64 1 x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (*.f64 (-.f64 1 x) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (*.f64 y (pow.f64 (cbrt.f64 (-.f64 1 x)) 2)) (cbrt.f64 (-.f64 1 x)) (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 (*.f64 y (sqrt.f64 (-.f64 1 x))) (sqrt.f64 (-.f64 1 x)) (*.f64 x z)) |
(+.f64 y (*.f64 x (+.f64 z (neg.f64 y)))) |
(fma.f64 x (-.f64 z y) y) |
(+.f64 y (*.f64 y (neg.f64 x))) |
(*.f64 y (-.f64 1 x)) |
(+.f64 y (*.f64 (neg.f64 x) y)) |
(*.f64 y (-.f64 1 x)) |
(+.f64 0 (*.f64 (-.f64 1 x) y)) |
(*.f64 y (-.f64 1 x)) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))) (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 y (-.f64 1 x)))) (cbrt.f64 (exp.f64 (*.f64 y (-.f64 1 x)))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 y (-.f64 1 x)))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) |
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))))) |
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (*.f64 y (-.f64 1 x)))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 1 x) y))) 1) |
(*.f64 y (-.f64 1 x)) |
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 3))) (fma.f64 x (+.f64 1 x) 1)) |
(*.f64 y (/.f64 (-.f64 1 (pow.f64 x 3)) (fma.f64 x (+.f64 x 1) 1))) |
(*.f64 (-.f64 1 (pow.f64 x 3)) (/.f64 y (fma.f64 x (+.f64 x 1) 1))) |
(/.f64 (*.f64 y (-.f64 1 (pow.f64 x 2))) (+.f64 1 x)) |
(*.f64 y (/.f64 (-.f64 1 (pow.f64 x 2)) (+.f64 x 1))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 3)) y) (fma.f64 x (+.f64 1 x) 1)) |
(*.f64 y (/.f64 (-.f64 1 (pow.f64 x 3)) (fma.f64 x (+.f64 x 1) 1))) |
(*.f64 (-.f64 1 (pow.f64 x 3)) (/.f64 y (fma.f64 x (+.f64 x 1) 1))) |
(/.f64 (*.f64 (-.f64 1 (pow.f64 x 2)) y) (+.f64 1 x)) |
(*.f64 y (/.f64 (-.f64 1 (pow.f64 x 2)) (+.f64 x 1))) |
(pow.f64 (*.f64 (-.f64 1 x) y) 1) |
(*.f64 y (-.f64 1 x)) |
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 x) y)) 3) |
(*.f64 y (-.f64 1 x)) |
(pow.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3) 1/3) |
(*.f64 y (-.f64 1 x)) |
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 x) y)) 2) |
(*.f64 y (-.f64 1 x)) |
(sqrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 2)) |
(*.f64 y (-.f64 1 x)) |
(log.f64 (pow.f64 (exp.f64 y) (-.f64 1 x))) |
(*.f64 y (-.f64 1 x)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 x) y)))) |
(*.f64 y (-.f64 1 x)) |
(cbrt.f64 (pow.f64 (*.f64 (-.f64 1 x) y) 3)) |
(*.f64 y (-.f64 1 x)) |
(expm1.f64 (log1p.f64 (*.f64 (-.f64 1 x) y))) |
(*.f64 y (-.f64 1 x)) |
(log1p.f64 (expm1.f64 (*.f64 (-.f64 1 x) y))) |
(*.f64 y (-.f64 1 x)) |
(exp.f64 (log.f64 (*.f64 (-.f64 1 x) y))) |
(*.f64 y (-.f64 1 x)) |
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 x) y)) 1)) |
(*.f64 y (-.f64 1 x)) |
(fma.f64 1 y (*.f64 y (neg.f64 x))) |
(*.f64 y (-.f64 1 x)) |
(fma.f64 1 y (*.f64 (neg.f64 x) y)) |
(*.f64 y (-.f64 1 x)) |
(fma.f64 y 1 (*.f64 y (neg.f64 x))) |
(*.f64 y (-.f64 1 x)) |
(fma.f64 y 1 (*.f64 (neg.f64 x) y)) |
(*.f64 y (-.f64 1 x)) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 y (neg.f64 x))) |
(*.f64 y (-.f64 1 x)) |
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (*.f64 (neg.f64 x) y)) |
(*.f64 y (-.f64 1 x)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y (neg.f64 x))) |
(*.f64 y (-.f64 1 x)) |
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 (neg.f64 x) y)) |
(*.f64 y (-.f64 1 x)) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y (neg.f64 x))) |
(*.f64 y (-.f64 1 x)) |
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 (neg.f64 x) y)) |
(*.f64 y (-.f64 1 x)) |
(+.f64 0 (*.f64 x (-.f64 y z))) |
(*.f64 x (-.f64 y z)) |
(+.f64 (*.f64 x y) (*.f64 x (neg.f64 z))) |
(*.f64 x (-.f64 y z)) |
(+.f64 (*.f64 y x) (*.f64 (neg.f64 z) x)) |
(*.f64 x (-.f64 y z)) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)) (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)))) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 y z))) (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 y z))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 y z))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)))) |
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)))) |
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 y z))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 y z)))) 1) |
(*.f64 x (-.f64 y z)) |
(/.f64 (*.f64 x (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (fma.f64 z (+.f64 y z) (pow.f64 y 2))) |
(*.f64 x (/.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) (fma.f64 z (+.f64 y z) (pow.f64 y 2)))) |
(/.f64 (*.f64 x (-.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 y z)) |
(*.f64 x (/.f64 (-.f64 (pow.f64 y 2) (pow.f64 z 2)) (+.f64 y z))) |
(/.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) x) (fma.f64 z (+.f64 y z) (pow.f64 y 2))) |
(/.f64 (*.f64 x (-.f64 (pow.f64 y 3) (pow.f64 z 3))) (fma.f64 z (+.f64 y z) (pow.f64 y 2))) |
(*.f64 x (/.f64 (-.f64 (pow.f64 y 3) (pow.f64 z 3)) (fma.f64 z (+.f64 y z) (pow.f64 y 2)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 y 2) (pow.f64 z 2)) x) (+.f64 y z)) |
(/.f64 (*.f64 x (-.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 y z)) |
(*.f64 x (/.f64 (-.f64 (pow.f64 y 2) (pow.f64 z 2)) (+.f64 y z))) |
(pow.f64 (*.f64 x (-.f64 y z)) 1) |
(*.f64 x (-.f64 y z)) |
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 y z))) 3) |
(*.f64 x (-.f64 y z)) |
(pow.f64 (pow.f64 (*.f64 x (-.f64 y z)) 3) 1/3) |
(*.f64 x (-.f64 y z)) |
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 y z))) 2) |
(*.f64 x (-.f64 y z)) |
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 y z)) 2)) |
(*.f64 x (-.f64 y z)) |
(log.f64 (pow.f64 (exp.f64 (-.f64 y z)) x)) |
(*.f64 x (-.f64 y z)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 y z))))) |
(*.f64 x (-.f64 y z)) |
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 y z)) 3)) |
(*.f64 x (-.f64 y z)) |
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (-.f64 y z) 3))) |
(*.f64 x (-.f64 y z)) |
(cbrt.f64 (*.f64 (pow.f64 (-.f64 y z) 3) (pow.f64 x 3))) |
(*.f64 x (-.f64 y z)) |
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 y z)))) |
(*.f64 x (-.f64 y z)) |
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 y z)))) |
(*.f64 x (-.f64 y z)) |
(exp.f64 (log.f64 (*.f64 x (-.f64 y z)))) |
(*.f64 x (-.f64 y z)) |
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 y z))) 1)) |
(*.f64 x (-.f64 y z)) |
(fma.f64 x y (*.f64 x (neg.f64 z))) |
(*.f64 x (-.f64 y z)) |
(fma.f64 y x (*.f64 (neg.f64 z) x)) |
(*.f64 x (-.f64 y z)) |
Compiled 2609 to 1282 computations (50.9% saved)
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 182 | 5 | 187 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 0 | 0 |
| Total | 182 | 7 | 189 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 56.2% | (-.f64 y (*.f64 y x)) |
| ✓ | 100.0% | (-.f64 y (*.f64 x (-.f64 y z))) |
| ▶ | 79.3% | (-.f64 y (*.f64 x (neg.f64 z))) |
| ✓ | 98.8% | (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
| ▶ | 68.7% | (*.f64 x (-.f64 z y)) |
| ▶ | 48.8% | (*.f64 x z) |
| ▶ | 32.5% | y |
Compiled 92 to 60 computations (34.8% saved)
Found 1 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 x (-.f64 z y)) |
Compiled 46 to 12 computations (73.9% saved)
ival-mult, time spent: 7.0ms, 53.0% of total-timeival-sub, time spent: 4.0ms, 30.0% of total-timeival-neg, time spent: 2.0ms, 15.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| Inputs |
|---|
#<alt (*.f64 x (-.f64 z y))> |
| Outputs |
|---|
#<alt (*.f64 -1 (*.f64 x y))> |
#<alt (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))> |
#<alt (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))> |
#<alt (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))> |
#<alt (*.f64 x z)> |
#<alt (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))> |
#<alt (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))> |
#<alt (*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z))))> |
#<alt (*.f64 x z)> |
#<alt (*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))))> |
#<alt (*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))))> |
#<alt (*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z))))> |
#<alt (*.f64 x z)> |
#<alt (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))> |
#<alt (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))> |
#<alt (+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z))> |
#<alt (*.f64 -1 (*.f64 x y))> |
#<alt (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))> |
#<alt (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))> |
#<alt (*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y)))> |
#<alt (*.f64 -1 (*.f64 x y))> |
#<alt (*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))))> |
#<alt (*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))))> |
#<alt (*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y)))))> |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | inf | (* x (- z y)) |
| 0.0ms | x | @ | 0 | (* x (- z y)) |
| 0.0ms | x | @ | inf | (* x (- z y)) |
| 0.0ms | y | @ | 0 | (* x (- z y)) |
| 0.0ms | z | @ | 0 | (* x (- z y)) |
| 1× | batch-egg-rewrite |
| 996× | unpow-prod-down |
| 718× | prod-diff |
| 577× | log1p-expm1-u |
| 577× | expm1-log1p-u |
| 572× | log-prod |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 22 |
| 1 | 117 | 22 |
| 2 | 1530 | 22 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 x (-.f64 z y)) |
| Outputs |
|---|
(+.f64 0 (*.f64 x (-.f64 z y))) |
(+.f64 (*.f64 x z) (*.f64 x (neg.f64 y))) |
(+.f64 (*.f64 z x) (*.f64 (neg.f64 y) x)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 z y)))) 1) |
(/.f64 (*.f64 x (-.f64 (pow.f64 z 3) (pow.f64 y 3))) (fma.f64 y (+.f64 z y) (pow.f64 z 2))) |
(/.f64 (*.f64 x (-.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 z y)) |
(/.f64 (*.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) x) (fma.f64 y (+.f64 z y) (pow.f64 z 2))) |
(/.f64 (*.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) x) (+.f64 z y)) |
(pow.f64 (*.f64 x (-.f64 z y)) 1) |
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 z y))) 3) |
(pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2) 1/2) |
(pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 z y))) 2) |
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2)) |
(log.f64 (pow.f64 (exp.f64 x) (-.f64 z y))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 z y))))) |
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 z y)))) |
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 z y)))) |
(exp.f64 (log.f64 (*.f64 x (-.f64 z y)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 z y))) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 z y)))) 3)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3)) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 z y)))) 2)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (-.f64 z y))) 1) 1)) |
(fma.f64 x z (*.f64 x (neg.f64 y))) |
(fma.f64 z x (*.f64 (neg.f64 y) x)) |
| 1× | egg-herbie |
| 824× | distribute-lft-neg-out |
| 788× | unsub-neg |
| 640× | *-commutative |
| 616× | distribute-lft-neg-in |
| 588× | distribute-rgt-neg-out |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 109 | 1359 |
| 1 | 233 | 1359 |
| 2 | 638 | 1359 |
| 3 | 2386 | 1359 |
| 4 | 4816 | 1311 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 (*.f64 x y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z)) |
(*.f64 x z) |
(*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))) |
(*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))) |
(*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))) |
(*.f64 x z) |
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))) |
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))) |
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))) |
(*.f64 x z) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z)) |
(*.f64 -1 (*.f64 x y)) |
(*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))) |
(*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))) |
(*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))) |
(*.f64 -1 (*.f64 x y)) |
(*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))) |
(*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))) |
(*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))) |
(+.f64 0 (*.f64 x (-.f64 z y))) |
(+.f64 (*.f64 x z) (*.f64 x (neg.f64 y))) |
(+.f64 (*.f64 z x) (*.f64 (neg.f64 y) x)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 z y)))) 1) |
(/.f64 (*.f64 x (-.f64 (pow.f64 z 3) (pow.f64 y 3))) (fma.f64 y (+.f64 z y) (pow.f64 z 2))) |
(/.f64 (*.f64 x (-.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 z y)) |
(/.f64 (*.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) x) (fma.f64 y (+.f64 z y) (pow.f64 z 2))) |
(/.f64 (*.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) x) (+.f64 z y)) |
(pow.f64 (*.f64 x (-.f64 z y)) 1) |
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 z y))) 3) |
(pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2) 1/2) |
(pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 z y))) 2) |
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2)) |
(log.f64 (pow.f64 (exp.f64 x) (-.f64 z y))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 z y))))) |
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 z y)))) |
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 z y)))) |
(exp.f64 (log.f64 (*.f64 x (-.f64 z y)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 z y))) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 z y)))) 3)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3)) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 z y)))) 2)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (-.f64 z y))) 1) 1)) |
(fma.f64 x z (*.f64 x (neg.f64 y))) |
(fma.f64 z x (*.f64 (neg.f64 y) x)) |
| Outputs |
|---|
(*.f64 -1 (*.f64 x y)) |
(*.f64 x (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z)) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z)) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z)) |
(*.f64 x (-.f64 z y)) |
(*.f64 x z) |
(*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))) |
(*.f64 x (-.f64 z y)) |
(*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))) |
(*.f64 x (-.f64 z y)) |
(*.f64 z (+.f64 x (*.f64 -1 (/.f64 (*.f64 x y) z)))) |
(*.f64 x (-.f64 z y)) |
(*.f64 x z) |
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 z (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x y) z)))) |
(*.f64 x (-.f64 z y)) |
(*.f64 x z) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z)) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z)) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 -1 (*.f64 x y)) (*.f64 x z)) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 x y)) |
(*.f64 x (neg.f64 y)) |
(*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 y (+.f64 (*.f64 -1 x) (/.f64 (*.f64 x z) y))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 x y)) |
(*.f64 x (neg.f64 y)) |
(*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))) |
(*.f64 x (-.f64 z y)) |
(*.f64 -1 (*.f64 y (+.f64 x (*.f64 -1 (/.f64 (*.f64 x z) y))))) |
(*.f64 x (-.f64 z y)) |
(+.f64 0 (*.f64 x (-.f64 z y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 x z) (*.f64 x (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(+.f64 (*.f64 z x) (*.f64 (neg.f64 y) x)) |
(*.f64 x (-.f64 z y)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y))))) |
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (-.f64 z y))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (-.f64 z y)))) 1) |
(*.f64 x (-.f64 z y)) |
(/.f64 (*.f64 x (-.f64 (pow.f64 z 3) (pow.f64 y 3))) (fma.f64 y (+.f64 z y) (pow.f64 z 2))) |
(/.f64 (*.f64 x (-.f64 (pow.f64 z 3) (pow.f64 y 3))) (fma.f64 y (+.f64 y z) (pow.f64 z 2))) |
(*.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) (/.f64 x (fma.f64 y (+.f64 y z) (pow.f64 z 2)))) |
(*.f64 x (/.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) (fma.f64 y (+.f64 y z) (pow.f64 z 2)))) |
(/.f64 (*.f64 x (-.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 z y)) |
(*.f64 x (/.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) (+.f64 y z))) |
(*.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) (/.f64 x (+.f64 y z))) |
(*.f64 x (*.f64 (-.f64 z y) 1)) |
(/.f64 (*.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) x) (fma.f64 y (+.f64 z y) (pow.f64 z 2))) |
(/.f64 (*.f64 x (-.f64 (pow.f64 z 3) (pow.f64 y 3))) (fma.f64 y (+.f64 y z) (pow.f64 z 2))) |
(*.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) (/.f64 x (fma.f64 y (+.f64 y z) (pow.f64 z 2)))) |
(*.f64 x (/.f64 (-.f64 (pow.f64 z 3) (pow.f64 y 3)) (fma.f64 y (+.f64 y z) (pow.f64 z 2)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) x) (+.f64 z y)) |
(*.f64 x (/.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) (+.f64 y z))) |
(*.f64 (-.f64 (pow.f64 z 2) (pow.f64 y 2)) (/.f64 x (+.f64 y z))) |
(*.f64 x (*.f64 (-.f64 z y) 1)) |
(pow.f64 (*.f64 x (-.f64 z y)) 1) |
(*.f64 x (-.f64 z y)) |
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 z y))) 3) |
(*.f64 x (-.f64 z y)) |
(pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2) 1/2) |
(*.f64 x (-.f64 z y)) |
(pow.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3) 1/3) |
(*.f64 x (-.f64 z y)) |
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 z y))) 2) |
(*.f64 x (-.f64 z y)) |
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 2)) |
(*.f64 x (-.f64 z y)) |
(log.f64 (pow.f64 (exp.f64 x) (-.f64 z y))) |
(*.f64 x (-.f64 z y)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (-.f64 z y))))) |
(*.f64 x (-.f64 z y)) |
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3)) |
(*.f64 x (-.f64 z y)) |
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 z y)))) |
(*.f64 x (-.f64 z y)) |
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 z y)))) |
(*.f64 x (-.f64 z y)) |
(exp.f64 (log.f64 (*.f64 x (-.f64 z y)))) |
(*.f64 x (-.f64 z y)) |
(exp.f64 (*.f64 (log.f64 (*.f64 x (-.f64 z y))) 1)) |
(*.f64 x (-.f64 z y)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 z y)))) 3)) |
(*.f64 x (-.f64 z y)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (-.f64 z y)) 3)) 1/3)) |
(*.f64 x (-.f64 z y)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 z y)))) 2)) |
(*.f64 x (-.f64 z y)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (-.f64 z y))) 1) 1)) |
(*.f64 x (-.f64 z y)) |
(fma.f64 x z (*.f64 x (neg.f64 y))) |
(*.f64 x (-.f64 z y)) |
(fma.f64 z x (*.f64 (neg.f64 y) x)) |
(*.f64 x (-.f64 z y)) |
Compiled 463 to 197 computations (57.5% saved)
8 alts after pruning (1 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 44 | 1 | 45 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 2 | 2 |
| Total | 44 | 8 | 52 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 56.2% | (-.f64 y (*.f64 y x)) |
| ✓ | 100.0% | (-.f64 y (*.f64 x (-.f64 y z))) |
| ✓ | 79.3% | (-.f64 y (*.f64 x (neg.f64 z))) |
| ✓ | 98.8% | (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
| ✓ | 68.7% | (*.f64 x (-.f64 z y)) |
| ▶ | 25.8% | (*.f64 x (neg.f64 y)) |
| ✓ | 48.8% | (*.f64 x z) |
| ✓ | 32.5% | y |
Compiled 64 to 42 computations (34.4% saved)
Compiled 12 to 6 computations (50% saved)
ival-neg, time spent: 59.0ms, 97.0% of total-timeival-mult, time spent: 2.0ms, 3.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-timeCompiled 3 to 3 computations (0% saved)
8 alts after pruning (0 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 7 | 7 |
| Total | 0 | 8 | 8 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 56.2% | (-.f64 y (*.f64 y x)) |
| ✓ | 100.0% | (-.f64 y (*.f64 x (-.f64 y z))) |
| ✓ | 79.3% | (-.f64 y (*.f64 x (neg.f64 z))) |
| ✓ | 98.8% | (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
| ✓ | 68.7% | (*.f64 x (-.f64 z y)) |
| ✓ | 25.8% | (*.f64 x (neg.f64 y)) |
| ✓ | 48.8% | (*.f64 x z) |
| ✓ | 32.5% | y |
Compiled 107 to 62 computations (42.1% saved)
| Inputs |
|---|
y |
(*.f64 x z) |
(*.f64 x (neg.f64 y)) |
(*.f64 x (-.f64 z y)) |
(-.f64 y (*.f64 y x)) |
(-.f64 y (*.f64 x (neg.f64 z))) |
(-.f64 y (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
| Outputs |
|---|
(-.f64 y (*.f64 x (-.f64 y z))) |
4 calls:
| 8.0ms | y |
| 8.0ms | x |
| 7.0ms | (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
| 7.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
| 100.0% | 1 | (+.f64 (*.f64 (-.f64 1 x) y) (*.f64 x z)) |
Compiled 24 to 17 computations (29.2% saved)
| Inputs |
|---|
y |
(*.f64 x z) |
(*.f64 x (neg.f64 y)) |
(*.f64 x (-.f64 z y)) |
(-.f64 y (*.f64 y x)) |
(-.f64 y (*.f64 x (neg.f64 z))) |
| Outputs |
|---|
(*.f64 x (-.f64 z y)) |
(-.f64 y (*.f64 x (neg.f64 z))) |
(*.f64 x (-.f64 z y)) |
3 calls:
| 81.0ms | x |
| 20.0ms | z |
| 19.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 98.6% | 3 | x |
| 90.5% | 3 | y |
| 90.3% | 3 | z |
Compiled 12 to 9 computations (25% saved)
| Inputs |
|---|
y |
(*.f64 x z) |
(*.f64 x (neg.f64 y)) |
(*.f64 x (-.f64 z y)) |
(-.f64 y (*.f64 y x)) |
| Outputs |
|---|
(-.f64 y (*.f64 y x)) |
(*.f64 x (-.f64 z y)) |
(-.f64 y (*.f64 y x)) |
(*.f64 x (-.f64 z y)) |
(-.f64 y (*.f64 y x)) |
3 calls:
| 106.0ms | y |
| 105.0ms | z |
| 43.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 82.1% | 5 | z |
| 86.9% | 5 | y |
| 85.1% | 5 | x |
Compiled 12 to 9 computations (25% saved)
| Inputs |
|---|
y |
(*.f64 x z) |
(*.f64 x (neg.f64 y)) |
(*.f64 x (-.f64 z y)) |
| Outputs |
|---|
(*.f64 x (-.f64 z y)) |
y |
(*.f64 x z) |
y |
(*.f64 x (-.f64 z y)) |
2 calls:
| 24.0ms | x |
| 23.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 85.1% | 5 | x |
| 73.5% | 5 | y |
Compiled 8 to 6 computations (25% saved)
| Inputs |
|---|
y |
(*.f64 x z) |
(*.f64 x (neg.f64 y)) |
| Outputs |
|---|
(*.f64 x z) |
(*.f64 x (neg.f64 y)) |
(*.f64 x z) |
y |
(*.f64 x z) |
(*.f64 x (neg.f64 y)) |
(*.f64 x z) |
3 calls:
| 38.0ms | y |
| 31.0ms | z |
| 26.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 69.5% | 10 | y |
| 66.2% | 8 | z |
| 69.0% | 7 | x |
Compiled 12 to 9 computations (25% saved)
| Inputs |
|---|
y |
(*.f64 x z) |
| Outputs |
|---|
(*.f64 x z) |
y |
(*.f64 x z) |
1 calls:
| 14.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 63.9% | 3 | x |
Compiled 4 to 3 computations (25% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
y |
| Outputs |
|---|
y |
3 calls:
| 3.0ms | x |
| 3.0ms | y |
| 3.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 32.5% | 1 | z |
| 32.5% | 1 | y |
| 32.5% | 1 | x |
Compiled 12 to 9 computations (25% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 21.0ms | 1.8613591328548345e-11 | 288234.31597866304 |
| 22.0ms | -17101524128853.88 | -0.7632614235665496 |
| 37.0ms | 319× | 256 | valid |
| 0.0ms | 1× | 256 | valid |
Compiled 398 to 273 computations (31.4% saved)
ival-mult, time spent: 4.0ms, 46.0% of total-timeival-sub, time spent: 2.0ms, 23.0% of total-timeival-add, time spent: 2.0ms, 23.0% of total-timeconst, time spent: 1.0ms, 12.0% of total-time| 4× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 15.0ms | 6.099979700303719e-54 | 3.3346333207320717e-53 |
| 20.0ms | -1.8405041326163442e-149 | -6.431177069571575e-159 |
| 36.0ms | -2.985159855455403e+48 | -3.1219265331395047e+46 |
| 4.0ms | -7.853187595173373e+101 | -6.546438513444185e+101 |
| 38.0ms | 315× | 256 | valid |
| 9.0ms | 68× | 256 | infinite |
| 0.0ms | 1× | 256 | infinite |
Compiled 450 to 301 computations (33.1% saved)
ival-mult, time spent: 8.0ms, 51.0% of total-timeival-add, time spent: 4.0ms, 25.0% of total-timeival-sub, time spent: 3.0ms, 19.0% of total-timeconst, time spent: 1.0ms, 6.0% of total-time| 4× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 20.0ms | 7.330217425247846e-30 | 1.281441461887107e-25 |
| 20.0ms | 2.740365800333541e-55 | 2.610182309763473e-50 |
| 23.0ms | 3.0132678045496117e-92 | 1.7201920140415432e-81 |
| 18.0ms | -3.8910943746185195e-31 | -1.8325295162368015e-34 |
| 69.0ms | 559× | 256 | valid |
| 0.0ms | 1× | 256 | valid |
Compiled 470 to 344 computations (26.8% saved)
ival-mult, time spent: 10.0ms, 54.0% of total-timeival-sub, time spent: 4.0ms, 22.0% of total-timeival-add, time spent: 3.0ms, 16.0% of total-timeconst, time spent: 1.0ms, 5.0% of total-time| 6× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 20.0ms | 5.600121482275791e+86 | 1.7041826585193043e+95 |
| 14.0ms | 1.7738087640069428e+36 | 8.075066452417239e+36 |
| 22.0ms | 3.0132678045496117e-92 | 1.7201920140415432e-81 |
| 19.0ms | -3.8910943746185195e-31 | -1.8325295162368015e-34 |
| 6.0ms | -1.465251656528378e+41 | -1.0892251813523142e+41 |
| 18.0ms | -5.49644285212686e+211 | -2.7284740730416537e+208 |
| 66.0ms | 565× | 256 | valid |
| 18.0ms | 138× | 256 | infinite |
| 0.0ms | 1× | 256 | valid |
Compiled 624 to 461 computations (26.1% saved)
ival-mult, time spent: 13.0ms, 58.0% of total-timeival-sub, time spent: 5.0ms, 22.0% of total-timeival-add, time spent: 4.0ms, 18.0% of total-timeconst, time spent: 1.0ms, 4.0% of total-time| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 21.0ms | 3.0132678045496117e-92 | 1.7201920140415432e-81 |
| 49.0ms | -3.8910943746185195e-31 | -1.8325295162368015e-34 |
| 66.0ms | 287× | 256 | valid |
| 0.0ms | 1× | 256 | valid |
Compiled 234 to 175 computations (25.2% saved)
ival-mult, time spent: 4.0ms, 50.0% of total-timeival-sub, time spent: 2.0ms, 25.0% of total-timeival-add, time spent: 2.0ms, 25.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1× | egg-herbie |
| 110× | distribute-lft-neg-in |
| 104× | unsub-neg |
| 72× | neg-mul-1 |
| 60× | cancel-sign-sub-inv |
| 54× | neg-sub0 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 80 | 574 |
| 1 | 126 | 555 |
| 2 | 164 | 540 |
| 3 | 208 | 536 |
| 4 | 255 | 536 |
| 5 | 293 | 536 |
| 6 | 351 | 536 |
| 7 | 393 | 536 |
| 8 | 419 | 536 |
| 9 | 440 | 536 |
| 10 | 455 | 536 |
| 11 | 476 | 536 |
| 12 | 488 | 536 |
| 13 | 491 | 536 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(-.f64 y (*.f64 x (-.f64 y z))) |
(if (<=.f64 x -1) (*.f64 x (-.f64 z y)) (if (<=.f64 x 1) (-.f64 y (*.f64 x (neg.f64 z))) (*.f64 x (-.f64 z y)))) |
(if (<=.f64 y -660000000000000022151921485795920336428584806161502011580008653124194486474119608447114730297800785920) (-.f64 y (*.f64 y x)) (if (<=.f64 y -54000000000000003178971908580181474108128624640) (*.f64 x (-.f64 z y)) (if (<=.f64 y -2073099476525505/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (-.f64 y (*.f64 y x)) (if (<=.f64 y 7117425920127769/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 x (-.f64 z y)) (-.f64 y (*.f64 y x)))))) |
(if (<=.f64 x -6028694253989975/365375409332725729550921208179070754913983135744) (*.f64 x (-.f64 z y)) (if (<=.f64 x 5297247849083857/17087896287367280659160173649356416916821636178853222159576332862577757806245124400183696695492608) y (if (<=.f64 x 798014421347659/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 x z) (if (<=.f64 x 2395587863123407/43556142965880123323311949751266331066368) y (*.f64 x (-.f64 z y)))))) |
(if (<=.f64 x -8799999999999999475399765101360726653682272854922425443705193239450447087419292514288755203844534285961294357150260811697040194821093116394699719254138447083184592843889595264042859982623382751554260651537858560) (*.f64 x z) (if (<=.f64 x -130000000000000002740292549936418494873600) (*.f64 x (neg.f64 y)) (if (<=.f64 x -2996078356528351/1461501637330902918203684832716283019655932542976) (*.f64 x z) (if (<=.f64 x 3631177961065547/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) y (if (<=.f64 x 5200000000000000279616895380763967488) (*.f64 x z) (if (<=.f64 x 579999999999999980878817846629171208223601483853398124577158367876935670615569070030848) (*.f64 x (neg.f64 y)) (*.f64 x z))))))) |
(if (<=.f64 x -4676805239458889/2923003274661805836407369665432566039311865085952) (*.f64 x z) (if (<=.f64 x 8063081071840095/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) y (*.f64 x z))) |
y |
| Outputs |
|---|
(-.f64 y (*.f64 x (-.f64 y z))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(if (<=.f64 x -1) (*.f64 x (-.f64 z y)) (if (<=.f64 x 1) (-.f64 y (*.f64 x (neg.f64 z))) (*.f64 x (-.f64 z y)))) |
(if (or (<=.f64 x -1) (not (<=.f64 x 1))) (*.f64 x (-.f64 z y)) (-.f64 y (*.f64 x (neg.f64 z)))) |
(if (or (<=.f64 x -1) (not (<=.f64 x 1))) (*.f64 x (-.f64 z y)) (+.f64 y (*.f64 x z))) |
(if (<=.f64 y -660000000000000022151921485795920336428584806161502011580008653124194486474119608447114730297800785920) (-.f64 y (*.f64 y x)) (if (<=.f64 y -54000000000000003178971908580181474108128624640) (*.f64 x (-.f64 z y)) (if (<=.f64 y -2073099476525505/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (-.f64 y (*.f64 y x)) (if (<=.f64 y 7117425920127769/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 x (-.f64 z y)) (-.f64 y (*.f64 y x)))))) |
(if (<=.f64 y -660000000000000022151921485795920336428584806161502011580008653124194486474119608447114730297800785920) (-.f64 y (*.f64 y x)) (if (<=.f64 y -54000000000000003178971908580181474108128624640) (*.f64 x (-.f64 z y)) (if (or (<=.f64 y -2073099476525505/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (not (<=.f64 y 7117425920127769/215679573337205118357336120696157045389097155380324579848828881993728))) (-.f64 y (*.f64 y x)) (*.f64 x (-.f64 z y))))) |
(if (<=.f64 y -660000000000000022151921485795920336428584806161502011580008653124194486474119608447114730297800785920) (-.f64 y (*.f64 y x)) (if (or (<=.f64 y -54000000000000003178971908580181474108128624640) (not (or (<=.f64 y -2073099476525505/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (not (<=.f64 y 7117425920127769/215679573337205118357336120696157045389097155380324579848828881993728))))) (*.f64 x (-.f64 z y)) (-.f64 y (*.f64 y x)))) |
(if (or (<=.f64 y -660000000000000022151921485795920336428584806161502011580008653124194486474119608447114730297800785920) (not (or (<=.f64 y -54000000000000003178971908580181474108128624640) (not (or (<=.f64 y -2073099476525505/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (not (<=.f64 y 7117425920127769/215679573337205118357336120696157045389097155380324579848828881993728))))))) (-.f64 y (*.f64 y x)) (*.f64 x (-.f64 z y))) |
(if (or (<=.f64 y -660000000000000022151921485795920336428584806161502011580008653124194486474119608447114730297800785920) (not (or (<=.f64 y -54000000000000003178971908580181474108128624640) (and (not (<=.f64 y -2073099476525505/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832)) (<=.f64 y 7117425920127769/215679573337205118357336120696157045389097155380324579848828881993728))))) (-.f64 y (*.f64 y x)) (*.f64 x (-.f64 z y))) |
(if (<=.f64 x -6028694253989975/365375409332725729550921208179070754913983135744) (*.f64 x (-.f64 z y)) (if (<=.f64 x 5297247849083857/17087896287367280659160173649356416916821636178853222159576332862577757806245124400183696695492608) y (if (<=.f64 x 798014421347659/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 x z) (if (<=.f64 x 2395587863123407/43556142965880123323311949751266331066368) y (*.f64 x (-.f64 z y)))))) |
(if (<=.f64 x -8799999999999999475399765101360726653682272854922425443705193239450447087419292514288755203844534285961294357150260811697040194821093116394699719254138447083184592843889595264042859982623382751554260651537858560) (*.f64 x z) (if (<=.f64 x -130000000000000002740292549936418494873600) (*.f64 x (neg.f64 y)) (if (<=.f64 x -2996078356528351/1461501637330902918203684832716283019655932542976) (*.f64 x z) (if (<=.f64 x 3631177961065547/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) y (if (<=.f64 x 5200000000000000279616895380763967488) (*.f64 x z) (if (<=.f64 x 579999999999999980878817846629171208223601483853398124577158367876935670615569070030848) (*.f64 x (neg.f64 y)) (*.f64 x z))))))) |
(if (<=.f64 x -8799999999999999475399765101360726653682272854922425443705193239450447087419292514288755203844534285961294357150260811697040194821093116394699719254138447083184592843889595264042859982623382751554260651537858560) (*.f64 x z) (if (<=.f64 x -130000000000000002740292549936418494873600) (*.f64 x (neg.f64 y)) (if (<=.f64 x -2996078356528351/1461501637330902918203684832716283019655932542976) (*.f64 x z) (if (<=.f64 x 3631177961065547/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) y (if (or (<=.f64 x 5200000000000000279616895380763967488) (not (<=.f64 x 579999999999999980878817846629171208223601483853398124577158367876935670615569070030848))) (*.f64 x z) (*.f64 x (neg.f64 y))))))) |
(if (<=.f64 x -8799999999999999475399765101360726653682272854922425443705193239450447087419292514288755203844534285961294357150260811697040194821093116394699719254138447083184592843889595264042859982623382751554260651537858560) (*.f64 x z) (if (<=.f64 x -130000000000000002740292549936418494873600) (*.f64 y (neg.f64 x)) (if (<=.f64 x -2996078356528351/1461501637330902918203684832716283019655932542976) (*.f64 x z) (if (<=.f64 x 3631177961065547/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) y (if (or (<=.f64 x 5200000000000000279616895380763967488) (not (<=.f64 x 579999999999999980878817846629171208223601483853398124577158367876935670615569070030848))) (*.f64 x z) (*.f64 y (neg.f64 x))))))) |
(if (<=.f64 x -4676805239458889/2923003274661805836407369665432566039311865085952) (*.f64 x z) (if (<=.f64 x 8063081071840095/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) y (*.f64 x z))) |
(if (or (<=.f64 x -4676805239458889/2923003274661805836407369665432566039311865085952) (not (<=.f64 x 8063081071840095/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888))) (*.f64 x z) y) |
y |
Compiled 163 to 98 computations (39.9% saved)
| 2364× | fma-neg |
| 1146× | distribute-lft-in |
| 1090× | distribute-rgt-in |
| 824× | distribute-lft-neg-out |
| 788× | unsub-neg |
Useful iterations: 9 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 109 | 1359 |
| 1 | 233 | 1359 |
| 2 | 638 | 1359 |
| 3 | 2386 | 1359 |
| 4 | 4816 | 1311 |
| 0 | 347 | 7319 |
| 1 | 804 | 6651 |
| 2 | 2273 | 6607 |
| 3 | 7454 | 6607 |
| 0 | 40 | 399 |
| 1 | 102 | 387 |
| 2 | 236 | 379 |
| 3 | 682 | 351 |
| 4 | 1707 | 339 |
| 5 | 2872 | 337 |
| 6 | 3242 | 337 |
| 7 | 3282 | 337 |
| 8 | 3286 | 337 |
| 9 | 3286 | 317 |
| 10 | 3929 | 317 |
| 11 | 3929 | 317 |
| 1× | saturated |
| 1× | node limit |
| 1× | node limit |
Compiled 196 to 97 computations (50.5% saved)
Compiled 334 to 170 computations (49.1% saved)
Loading profile data...