Time bar (total: 3.8s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 4 |
| 25% | 25% | 74.9% | 0.2% | 0% | 0% | 0% | 5 |
| 25% | 25% | 74.9% | 0.2% | 0% | 0% | 0% | 6 |
| 25% | 25% | 74.9% | 0.2% | 0% | 0% | 0% | 7 |
| 37.5% | 37.4% | 62.4% | 0.2% | 0% | 0% | 0% | 8 |
| 56.3% | 56.1% | 43.7% | 0.2% | 0% | 0% | 0% | 9 |
| 56.3% | 56.1% | 43.7% | 0.2% | 0% | 0% | 0% | 10 |
| 56.3% | 56.1% | 43.7% | 0.2% | 0% | 0% | 0% | 11 |
| 65.6% | 65.5% | 34.3% | 0.2% | 0% | 0% | 0% | 12 |
Compiled 14 to 9 computations (35.7% saved)
| 752.0ms | 6874× | body | 256 | valid |
| 154.0ms | 1382× | body | 256 | infinite |
| 2× | egg-herbie |
| 1738× | swap-sqr |
| 1404× | sqr-pow |
| 962× | associate-*r/ |
| 940× | cube-div |
| 790× | associate-/l* |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 33 | 175 |
| 1 | 85 | 133 |
| 2 | 241 | 91 |
| 3 | 572 | 91 |
| 4 | 3887 | 91 |
| 5 | 3961 | 91 |
| 6 | 4599 | 91 |
| 7 | 6333 | 91 |
| 8 | 7950 | 91 |
| 0 | 4 | 4 |
| 1 | 4 | 4 |
| 1× | unsound |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
2 |
3 |
| Outputs |
|---|
0 |
1 |
0 |
2 |
3 |
| Inputs |
|---|
(*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t)) |
(*.f64 y (/.f64 (*.f64 (/.f64 x z) t) t)) |
(*.f64 z (/.f64 (*.f64 (/.f64 y x) t) t)) |
(*.f64 t (/.f64 (*.f64 (/.f64 y z) x) x)) |
(*.f64 x (/.f64 (*.f64 (/.f64 z y) t) t)) |
(*.f64 x (/.f64 (*.f64 (/.f64 t z) y) y)) |
(*.f64 x (/.f64 (*.f64 (/.f64 y t) z) z)) |
| Outputs |
|---|
(*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t)) |
(*.f64 x (/.f64 (/.f64 (*.f64 y t) z) t)) |
(*.f64 x (/.f64 y (*.f64 1 z))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 (*.f64 (/.f64 x z) t) t)) |
(*.f64 x (/.f64 (/.f64 (*.f64 y t) z) t)) |
(*.f64 x (/.f64 y (*.f64 1 z))) |
(*.f64 x (/.f64 y z)) |
(*.f64 z (/.f64 (*.f64 (/.f64 y x) t) t)) |
(*.f64 z (/.f64 (/.f64 y x) (/.f64 t t))) |
(*.f64 z (/.f64 (/.f64 y x) 1)) |
(*.f64 z (/.f64 y x)) |
(/.f64 y (/.f64 x z)) |
(*.f64 (/.f64 z x) y) |
(*.f64 t (/.f64 (*.f64 (/.f64 y z) x) x)) |
(*.f64 t (/.f64 (/.f64 y z) (/.f64 x x))) |
(/.f64 (*.f64 (/.f64 y z) t) 1) |
(*.f64 (/.f64 y z) t) |
(*.f64 y (/.f64 t z)) |
(*.f64 x (/.f64 (*.f64 (/.f64 z y) t) t)) |
(*.f64 x (/.f64 (/.f64 (*.f64 z t) y) t)) |
(*.f64 x (/.f64 z (*.f64 1 y))) |
(*.f64 x (/.f64 z y)) |
(*.f64 x (/.f64 (*.f64 (/.f64 t z) y) y)) |
(*.f64 x (/.f64 (/.f64 t z) (/.f64 y y))) |
(*.f64 x (/.f64 t (*.f64 1 z))) |
(/.f64 t (/.f64 z x)) |
(*.f64 x (/.f64 t z)) |
(*.f64 x (/.f64 (*.f64 (/.f64 y t) z) z)) |
(*.f64 x (/.f64 (/.f64 y t) (/.f64 z z))) |
(*.f64 x (/.f64 (/.f64 y t) 1)) |
(*.f64 x (/.f64 y t)) |
(sort x y)
Compiled 17 to 12 computations (29.4% saved)
| 1× | egg-herbie |
| 3786× | associate-*r* |
| 2832× | associate-*l* |
| 2274× | associate-*r/ |
| 1216× | associate-/r* |
| 698× | associate-*l/ |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 25 |
| 1 | 18 | 19 |
| 2 | 44 | 13 |
| 3 | 104 | 13 |
| 4 | 433 | 13 |
| 5 | 2078 | 13 |
| 6 | 2266 | 13 |
| 7 | 2279 | 13 |
| 8 | 2292 | 13 |
| 9 | 2299 | 13 |
| 10 | 2306 | 13 |
| 11 | 2313 | 13 |
| 12 | 2320 | 13 |
| 13 | 2327 | 13 |
| 14 | 2334 | 13 |
| 15 | 2341 | 13 |
| 16 | 2348 | 13 |
| 17 | 2355 | 13 |
| 18 | 2362 | 13 |
| 19 | 2369 | 13 |
| 20 | 2376 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t)) |
| Outputs |
|---|
(*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t)) |
(*.f64 x (/.f64 (/.f64 y z) (/.f64 t t))) |
(/.f64 (*.f64 x (/.f64 y z)) 1) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
Compiled 39 to 16 computations (59% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 3 | 2 | 5 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 4 | 2 | 6 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 93.8% | (*.f64 y (/.f64 x z)) |
| ▶ | 90.8% | (*.f64 x (/.f64 y z)) |
Compiled 18 to 12 computations (33.3% saved)
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 90.8% | (*.f64 x (/.f64 y z)) |
Compiled 16 to 7 computations (56.3% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 49.0ms | x | @ | 0 | (*.f64 x (/.f64 y z)) |
| 1.0ms | y | @ | inf | (*.f64 x (/.f64 y z)) |
| 1.0ms | y | @ | 0 | (*.f64 x (/.f64 y z)) |
| 0.0ms | z | @ | 0 | (*.f64 x (/.f64 y z)) |
| 0.0ms | x | @ | -inf | (*.f64 x (/.f64 y z)) |
| 1× | batch-egg-rewrite |
| 1556× | pow1 |
| 1430× | add-exp-log |
| 1430× | log1p-expm1-u |
| 1430× | expm1-log1p-u |
| 1398× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 145 | 13 |
| 2 | 1912 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 x (/.f64 y z)) |
| Outputs |
|---|
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1) |
(/.f64 x (/.f64 z y)) |
(/.f64 1 (/.f64 z (*.f64 x y))) |
(/.f64 (*.f64 x y) z) |
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 z)) |
(/.f64 (*.f64 x (neg.f64 y)) (neg.f64 z)) |
(/.f64 (*.f64 (neg.f64 y) x) (neg.f64 z)) |
(/.f64 (/.f64 (*.f64 x y) 1) z) |
(/.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z)) |
(/.f64 (/.f64 (*.f64 x y) (sqrt.f64 z)) (sqrt.f64 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)) |
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z)))) |
(exp.f64 (log.f64 (*.f64 x (/.f64 y z)))) |
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z)))) |
| 1× | egg-herbie |
| 1262× | log-prod |
| 962× | fma-def |
| 788× | associate-*r* |
| 750× | associate-*l* |
| 530× | log-div |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 58 | 728 |
| 1 | 139 | 728 |
| 2 | 519 | 728 |
| 3 | 3550 | 728 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1) |
(/.f64 x (/.f64 z y)) |
(/.f64 1 (/.f64 z (*.f64 x y))) |
(/.f64 (*.f64 x y) z) |
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 z)) |
(/.f64 (*.f64 x (neg.f64 y)) (neg.f64 z)) |
(/.f64 (*.f64 (neg.f64 y) x) (neg.f64 z)) |
(/.f64 (/.f64 (*.f64 x y) 1) z) |
(/.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z)) |
(/.f64 (/.f64 (*.f64 x y) (sqrt.f64 z)) (sqrt.f64 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)) |
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z)))) |
(exp.f64 (log.f64 (*.f64 x (/.f64 y z)))) |
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z)))) |
| Outputs |
|---|
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 1 (/.f64 z (*.f64 x y))) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 x y) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 x (neg.f64 y)) (neg.f64 z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 (neg.f64 y) x) (neg.f64 z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (/.f64 (*.f64 x y) 1) z) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (/.f64 (*.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (/.f64 (*.f64 x y) (sqrt.f64 z)) (sqrt.f64 z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (*.f64 x (/.f64 y z)) 1) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 3) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3) 1/3) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) 2) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2)) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(log.f64 (pow.f64 (exp.f64 (/.f64 y z)) x)) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3)) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(exp.f64 (log.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 x (/.f64 y z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 93.8% | (*.f64 y (/.f64 x z)) |
Compiled 16 to 7 computations (56.3% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | -inf | (*.f64 y (/.f64 x z)) |
| 0.0ms | y | @ | 0 | (*.f64 y (/.f64 x z)) |
| 0.0ms | x | @ | -inf | (*.f64 y (/.f64 x z)) |
| 0.0ms | x | @ | inf | (*.f64 y (/.f64 x z)) |
| 0.0ms | y | @ | inf | (*.f64 y (/.f64 x z)) |
| 1× | batch-egg-rewrite |
| 1556× | pow1 |
| 1430× | add-exp-log |
| 1430× | log1p-expm1-u |
| 1430× | expm1-log1p-u |
| 1398× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 145 | 13 |
| 2 | 1912 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (/.f64 x z)) |
| Outputs |
|---|
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1) |
(/.f64 y (/.f64 z x)) |
(/.f64 1 (/.f64 z (*.f64 y x))) |
(/.f64 (*.f64 y x) z) |
(/.f64 (neg.f64 (*.f64 y x)) (neg.f64 z)) |
(/.f64 (*.f64 y (neg.f64 x)) (neg.f64 z)) |
(/.f64 (*.f64 (neg.f64 x) y) (neg.f64 z)) |
(/.f64 (/.f64 (*.f64 y x) 1) z) |
(/.f64 (/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z)) |
(/.f64 (/.f64 (*.f64 y x) (sqrt.f64 z)) (sqrt.f64 z)) |
(pow.f64 (*.f64 y (/.f64 x z)) 1) |
(pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 3) |
(pow.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) 2) |
(sqrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 2)) |
(log.f64 (pow.f64 (exp.f64 (/.f64 x z)) y)) |
(cbrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 y (/.f64 x z)))) |
(exp.f64 (log.f64 (*.f64 y (/.f64 x z)))) |
(log1p.f64 (expm1.f64 (*.f64 y (/.f64 x z)))) |
| 1× | egg-herbie |
| 1234× | log-prod |
| 1144× | distribute-lft-in |
| 948× | fma-def |
| 808× | associate-*r* |
| 708× | associate-*l* |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 56 | 728 |
| 1 | 137 | 728 |
| 2 | 508 | 728 |
| 3 | 3504 | 728 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1) |
(/.f64 y (/.f64 z x)) |
(/.f64 1 (/.f64 z (*.f64 y x))) |
(/.f64 (*.f64 y x) z) |
(/.f64 (neg.f64 (*.f64 y x)) (neg.f64 z)) |
(/.f64 (*.f64 y (neg.f64 x)) (neg.f64 z)) |
(/.f64 (*.f64 (neg.f64 x) y) (neg.f64 z)) |
(/.f64 (/.f64 (*.f64 y x) 1) z) |
(/.f64 (/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z)) |
(/.f64 (/.f64 (*.f64 y x) (sqrt.f64 z)) (sqrt.f64 z)) |
(pow.f64 (*.f64 y (/.f64 x z)) 1) |
(pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 3) |
(pow.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) 2) |
(sqrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 2)) |
(log.f64 (pow.f64 (exp.f64 (/.f64 x z)) y)) |
(cbrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3)) |
(expm1.f64 (log1p.f64 (*.f64 y (/.f64 x z)))) |
(exp.f64 (log.f64 (*.f64 y (/.f64 x z)))) |
(log1p.f64 (expm1.f64 (*.f64 y (/.f64 x z)))) |
| Outputs |
|---|
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 y (/.f64 z x)) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 1 (/.f64 z (*.f64 y x))) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (neg.f64 (*.f64 y x)) (neg.f64 z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 y (neg.f64 x)) (neg.f64 z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (*.f64 (neg.f64 x) y) (neg.f64 z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (/.f64 (*.f64 y x) 1) z) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(/.f64 (/.f64 (*.f64 y x) (sqrt.f64 z)) (sqrt.f64 z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(pow.f64 (*.f64 y (/.f64 x z)) 1) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 3) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(pow.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3) 1/3) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(pow.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) 2) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(sqrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 2)) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(log.f64 (pow.f64 (exp.f64 (/.f64 x z)) y)) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(cbrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3)) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(expm1.f64 (log1p.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(exp.f64 (log.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(log1p.f64 (expm1.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
Compiled 329 to 119 computations (63.8% saved)
5 alts after pruning (3 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 42 | 3 | 45 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 42 | 5 | 47 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 91.3% | (/.f64 (*.f64 y x) z) |
| ▶ | 94.4% | (/.f64 y (/.f64 z x)) |
| ▶ | 90.8% | (/.f64 x (/.f64 z y)) |
| ✓ | 93.8% | (*.f64 y (/.f64 x z)) |
| ✓ | 90.8% | (*.f64 x (/.f64 y z)) |
Compiled 45 to 30 computations (33.3% saved)
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 90.8% | (/.f64 x (/.f64 z y)) |
Compiled 16 to 7 computations (56.3% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (/.f64 x (/.f64 z y)) |
| 0.0ms | y | @ | inf | (/.f64 x (/.f64 z y)) |
| 0.0ms | z | @ | inf | (/.f64 x (/.f64 z y)) |
| 0.0ms | y | @ | -inf | (/.f64 x (/.f64 z y)) |
| 0.0ms | z | @ | -inf | (/.f64 x (/.f64 z y)) |
| 1× | batch-egg-rewrite |
| 1754× | pow1 |
| 1622× | add-exp-log |
| 1622× | log1p-expm1-u |
| 1622× | expm1-log1p-u |
| 1586× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 151 | 13 |
| 2 | 2161 | 13 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 x (/.f64 z y)) |
| Outputs |
|---|
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (*.f64 x (/.f64 y z)) 1) |
(*.f64 1 (*.f64 x (/.f64 y z))) |
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 y z))) |
(*.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2) (cbrt.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 y z))) |
(*.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) (sqrt.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 (neg.f64 z) y))) |
(*.f64 (/.f64 y z) x) |
(*.f64 (/.f64 x z) y) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (/.f64 z y))) |
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (/.f64 z y))) |
(*.f64 (/.f64 (sqrt.f64 x) z) (/.f64 (sqrt.f64 x) (/.f64 1 y))) |
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y))) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 x (cbrt.f64 (/.f64 z y)))) |
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z y))) (/.f64 x (sqrt.f64 (/.f64 z y)))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) z) (/.f64 (cbrt.f64 x) (/.f64 1 y))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (cbrt.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (/.f64 z y))) (/.f64 (cbrt.f64 x) (sqrt.f64 (/.f64 z y)))) |
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (/.f64 z y)))) |
(*.f64 (*.f64 (/.f64 x z) 1) y) |
(*.f64 (*.f64 (/.f64 x z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y)) |
(*.f64 (*.f64 (/.f64 x z) (sqrt.f64 y)) (sqrt.f64 y)) |
(*.f64 (/.f64 x 1) (/.f64 y z)) |
(*.f64 (/.f64 x (neg.f64 z)) (neg.f64 y)) |
(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) |
(pow.f64 (/.f64 z (*.f64 x y)) -1) |
(neg.f64 (/.f64 x (/.f64 (neg.f64 z) y))) |
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2)) |
(log.f64 (pow.f64 (exp.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 z y) 3))) |
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z)))) |
(exp.f64 (log.f64 (*.f64 x (/.f64 y z)))) |
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z)))) |
| 1× | egg-herbie |
| 1340× | fma-def |
| 1338× | log-div |
| 1172× | log-prod |
| 992× | associate-*r/ |
| 814× | associate-*l/ |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 115 | 1159 |
| 1 | 297 | 1135 |
| 2 | 1015 | 1135 |
| 3 | 5630 | 1103 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (*.f64 x (/.f64 y z)) 1) |
(*.f64 1 (*.f64 x (/.f64 y z))) |
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 y z))) |
(*.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2) (cbrt.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 y z))) |
(*.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) (sqrt.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 (neg.f64 z) y))) |
(*.f64 (/.f64 y z) x) |
(*.f64 (/.f64 x z) y) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (/.f64 z y))) |
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (/.f64 z y))) |
(*.f64 (/.f64 (sqrt.f64 x) z) (/.f64 (sqrt.f64 x) (/.f64 1 y))) |
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y))) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 x (cbrt.f64 (/.f64 z y)))) |
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z y))) (/.f64 x (sqrt.f64 (/.f64 z y)))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) z) (/.f64 (cbrt.f64 x) (/.f64 1 y))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (cbrt.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (/.f64 z y))) (/.f64 (cbrt.f64 x) (sqrt.f64 (/.f64 z y)))) |
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (/.f64 z y)))) |
(*.f64 (*.f64 (/.f64 x z) 1) y) |
(*.f64 (*.f64 (/.f64 x z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y)) |
(*.f64 (*.f64 (/.f64 x z) (sqrt.f64 y)) (sqrt.f64 y)) |
(*.f64 (/.f64 x 1) (/.f64 y z)) |
(*.f64 (/.f64 x (neg.f64 z)) (neg.f64 y)) |
(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) |
(pow.f64 (/.f64 z (*.f64 x y)) -1) |
(neg.f64 (/.f64 x (/.f64 (neg.f64 z) y))) |
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2)) |
(log.f64 (pow.f64 (exp.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 z y) 3))) |
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z)))) |
(exp.f64 (log.f64 (*.f64 x (/.f64 y z)))) |
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z)))) |
| Outputs |
|---|
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 y (/.f64 x z)) |
(-.f64 (+.f64 1 (*.f64 x (/.f64 y z))) 1) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (*.f64 x (/.f64 y z)) 1) |
(*.f64 y (/.f64 x z)) |
(*.f64 1 (*.f64 x (/.f64 y z))) |
(*.f64 y (/.f64 x z)) |
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 y z))) |
(*.f64 y (/.f64 x z)) |
(*.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 2) (cbrt.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 y (/.f64 x z)) |
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 y z))) |
(*.f64 y (/.f64 x z)) |
(*.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) (sqrt.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 y (/.f64 x z)) |
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 (neg.f64 z) y))) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 y z) x) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 x z) y) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (/.f64 z y))) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (/.f64 z y))) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 (sqrt.f64 x) z) (/.f64 (sqrt.f64 x) (/.f64 1 y))) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y))) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 x (cbrt.f64 (/.f64 z y)))) |
(/.f64 (/.f64 x (cbrt.f64 (/.f64 z y))) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) |
(/.f64 x (*.f64 (pow.f64 (cbrt.f64 (/.f64 z y)) 2) (cbrt.f64 (/.f64 z y)))) |
(/.f64 x (pow.f64 (cbrt.f64 (/.f64 z y)) 3)) |
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z y))) (/.f64 x (sqrt.f64 (/.f64 z y)))) |
(/.f64 (/.f64 x (sqrt.f64 (/.f64 z y))) (sqrt.f64 (/.f64 z y))) |
(/.f64 x (*.f64 (sqrt.f64 (/.f64 z y)) (sqrt.f64 (/.f64 z y)))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) z) (/.f64 (cbrt.f64 x) (/.f64 1 y))) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (cbrt.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (/.f64 z y)) 2))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (/.f64 z y))) (/.f64 (cbrt.f64 x) (sqrt.f64 (/.f64 z y)))) |
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z y))) (/.f64 x (sqrt.f64 (/.f64 z y)))) |
(/.f64 (/.f64 x (sqrt.f64 (/.f64 z y))) (sqrt.f64 (/.f64 z y))) |
(/.f64 x (*.f64 (sqrt.f64 (/.f64 z y)) (sqrt.f64 (/.f64 z y)))) |
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (/.f64 z y)))) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) (/.f64 x (cbrt.f64 (/.f64 z y)))) |
(/.f64 (/.f64 x (cbrt.f64 (/.f64 z y))) (pow.f64 (cbrt.f64 (/.f64 z y)) 2)) |
(/.f64 x (*.f64 (pow.f64 (cbrt.f64 (/.f64 z y)) 2) (cbrt.f64 (/.f64 z y)))) |
(/.f64 x (pow.f64 (cbrt.f64 (/.f64 z y)) 3)) |
(*.f64 (*.f64 (/.f64 x z) 1) y) |
(*.f64 y (/.f64 x z)) |
(*.f64 (*.f64 (/.f64 x z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (*.f64 (/.f64 x z) (sqrt.f64 y)) (sqrt.f64 y)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 x 1) (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 x (neg.f64 z)) (neg.f64 y)) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (*.f64 x (/.f64 y z)) 1) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) 3) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3) 1/3) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (sqrt.f64 (*.f64 x (/.f64 y z))) 2) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (/.f64 z (*.f64 x y)) -1) |
(*.f64 y (/.f64 x z)) |
(neg.f64 (/.f64 x (/.f64 (neg.f64 z) y))) |
(*.f64 y (/.f64 x z)) |
(sqrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 2)) |
(*.f64 y (/.f64 x z)) |
(log.f64 (pow.f64 (exp.f64 x) (/.f64 y z))) |
(*.f64 y (/.f64 x z)) |
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 y z)) 3)) |
(*.f64 y (/.f64 x z)) |
(cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (/.f64 z y) 3))) |
(*.f64 y (/.f64 x z)) |
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 y (/.f64 x z)) |
(exp.f64 (log.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 y (/.f64 x z)) |
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 y z)))) |
(*.f64 y (/.f64 x z)) |
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 94.4% | (/.f64 y (/.f64 z x)) |
Compiled 16 to 7 computations (56.3% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (/.f64 y (/.f64 z x)) |
| 0.0ms | z | @ | -inf | (/.f64 y (/.f64 z x)) |
| 0.0ms | z | @ | inf | (/.f64 y (/.f64 z x)) |
| 0.0ms | x | @ | -inf | (/.f64 y (/.f64 z x)) |
| 0.0ms | x | @ | inf | (/.f64 y (/.f64 z x)) |
| 1× | batch-egg-rewrite |
| 1754× | pow1 |
| 1622× | add-exp-log |
| 1622× | log1p-expm1-u |
| 1622× | expm1-log1p-u |
| 1586× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 151 | 13 |
| 2 | 2161 | 13 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 y (/.f64 z x)) |
| Outputs |
|---|
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(*.f64 (*.f64 y (/.f64 x z)) 1) |
(*.f64 1 (*.f64 y (/.f64 x z))) |
(*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (/.f64 x z))) |
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2) (cbrt.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (/.f64 x z))) |
(*.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) (sqrt.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 (neg.f64 z) x))) |
(*.f64 (/.f64 x z) y) |
(*.f64 (/.f64 y z) x) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) 1) (/.f64 (cbrt.f64 y) (/.f64 z x))) |
(*.f64 (/.f64 (sqrt.f64 y) 1) (/.f64 (sqrt.f64 y) (/.f64 z x))) |
(*.f64 (/.f64 (sqrt.f64 y) z) (/.f64 (sqrt.f64 y) (/.f64 1 x))) |
(*.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x))) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 y (cbrt.f64 (/.f64 z x)))) |
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z x))) (/.f64 y (sqrt.f64 (/.f64 z x)))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) z) (/.f64 (cbrt.f64 y) (/.f64 1 x))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (cbrt.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (sqrt.f64 (/.f64 z x))) (/.f64 (cbrt.f64 y) (sqrt.f64 (/.f64 z x)))) |
(*.f64 (/.f64 (sqrt.f64 y) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 (sqrt.f64 y) (cbrt.f64 (/.f64 z x)))) |
(*.f64 (*.f64 (/.f64 y z) 1) x) |
(*.f64 (*.f64 (/.f64 y z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) |
(*.f64 (*.f64 (/.f64 y z) (sqrt.f64 x)) (sqrt.f64 x)) |
(*.f64 (/.f64 y 1) (/.f64 x z)) |
(*.f64 (/.f64 y (neg.f64 z)) (neg.f64 x)) |
(pow.f64 (*.f64 y (/.f64 x z)) 1) |
(pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 3) |
(pow.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) 2) |
(pow.f64 (/.f64 z (*.f64 y x)) -1) |
(neg.f64 (/.f64 y (/.f64 (neg.f64 z) x))) |
(sqrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 2)) |
(log.f64 (pow.f64 (exp.f64 y) (/.f64 x z))) |
(cbrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3)) |
(cbrt.f64 (/.f64 (pow.f64 y 3) (pow.f64 (/.f64 z x) 3))) |
(expm1.f64 (log1p.f64 (*.f64 y (/.f64 x z)))) |
(exp.f64 (log.f64 (*.f64 y (/.f64 x z)))) |
(log1p.f64 (expm1.f64 (*.f64 y (/.f64 x z)))) |
| 1× | egg-herbie |
| 1678× | log-div |
| 1326× | log-prod |
| 1322× | fma-def |
| 1008× | associate-*r/ |
| 852× | associate-*l/ |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 114 | 1159 |
| 1 | 297 | 1135 |
| 2 | 1008 | 1135 |
| 3 | 5709 | 1135 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(/.f64 (*.f64 y x) z) |
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(*.f64 (*.f64 y (/.f64 x z)) 1) |
(*.f64 1 (*.f64 y (/.f64 x z))) |
(*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (/.f64 x z))) |
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2) (cbrt.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (/.f64 x z))) |
(*.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) (sqrt.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 (neg.f64 z) x))) |
(*.f64 (/.f64 x z) y) |
(*.f64 (/.f64 y z) x) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) 1) (/.f64 (cbrt.f64 y) (/.f64 z x))) |
(*.f64 (/.f64 (sqrt.f64 y) 1) (/.f64 (sqrt.f64 y) (/.f64 z x))) |
(*.f64 (/.f64 (sqrt.f64 y) z) (/.f64 (sqrt.f64 y) (/.f64 1 x))) |
(*.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x))) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 y (cbrt.f64 (/.f64 z x)))) |
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z x))) (/.f64 y (sqrt.f64 (/.f64 z x)))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) z) (/.f64 (cbrt.f64 y) (/.f64 1 x))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (cbrt.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (sqrt.f64 (/.f64 z x))) (/.f64 (cbrt.f64 y) (sqrt.f64 (/.f64 z x)))) |
(*.f64 (/.f64 (sqrt.f64 y) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 (sqrt.f64 y) (cbrt.f64 (/.f64 z x)))) |
(*.f64 (*.f64 (/.f64 y z) 1) x) |
(*.f64 (*.f64 (/.f64 y z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) |
(*.f64 (*.f64 (/.f64 y z) (sqrt.f64 x)) (sqrt.f64 x)) |
(*.f64 (/.f64 y 1) (/.f64 x z)) |
(*.f64 (/.f64 y (neg.f64 z)) (neg.f64 x)) |
(pow.f64 (*.f64 y (/.f64 x z)) 1) |
(pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 3) |
(pow.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) 2) |
(pow.f64 (/.f64 z (*.f64 y x)) -1) |
(neg.f64 (/.f64 y (/.f64 (neg.f64 z) x))) |
(sqrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 2)) |
(log.f64 (pow.f64 (exp.f64 y) (/.f64 x z))) |
(cbrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3)) |
(cbrt.f64 (/.f64 (pow.f64 y 3) (pow.f64 (/.f64 z x) 3))) |
(expm1.f64 (log1p.f64 (*.f64 y (/.f64 x z)))) |
(exp.f64 (log.f64 (*.f64 y (/.f64 x z)))) |
(log1p.f64 (expm1.f64 (*.f64 y (/.f64 x z)))) |
| Outputs |
|---|
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(-.f64 (+.f64 1 (*.f64 y (/.f64 x z))) 1) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (*.f64 y (/.f64 x z)) 1) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 1 (*.f64 y (/.f64 x z))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (/.f64 x z))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2)) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 2) (cbrt.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (/.f64 x z))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) (sqrt.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 (neg.f64 z) x))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 x z) y) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 y z) x) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) 1) (/.f64 (cbrt.f64 y) (/.f64 z x))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 (sqrt.f64 y) 1) (/.f64 (sqrt.f64 y) (/.f64 z x))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 (sqrt.f64 y) z) (/.f64 (sqrt.f64 y) (/.f64 1 x))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 y (cbrt.f64 (/.f64 z x)))) |
(/.f64 (/.f64 y (cbrt.f64 (/.f64 z x))) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) |
(/.f64 y (*.f64 (pow.f64 (cbrt.f64 (/.f64 z x)) 2) (cbrt.f64 (/.f64 z x)))) |
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z x))) (/.f64 y (sqrt.f64 (/.f64 z x)))) |
(/.f64 (/.f64 y (sqrt.f64 (/.f64 z x))) (sqrt.f64 (/.f64 z x))) |
(/.f64 y (*.f64 (sqrt.f64 (/.f64 z x)) (sqrt.f64 (/.f64 z x)))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) z) (/.f64 (cbrt.f64 y) (/.f64 1 x))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (cbrt.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 (cbrt.f64 (*.f64 x (/.f64 y z))) (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2))) |
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (/.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (/.f64 z x)) 2))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 y) 2) (sqrt.f64 (/.f64 z x))) (/.f64 (cbrt.f64 y) (sqrt.f64 (/.f64 z x)))) |
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 z x))) (/.f64 y (sqrt.f64 (/.f64 z x)))) |
(/.f64 (/.f64 y (sqrt.f64 (/.f64 z x))) (sqrt.f64 (/.f64 z x))) |
(/.f64 y (*.f64 (sqrt.f64 (/.f64 z x)) (sqrt.f64 (/.f64 z x)))) |
(*.f64 (/.f64 (sqrt.f64 y) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 (sqrt.f64 y) (cbrt.f64 (/.f64 z x)))) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) (/.f64 y (cbrt.f64 (/.f64 z x)))) |
(/.f64 (/.f64 y (cbrt.f64 (/.f64 z x))) (pow.f64 (cbrt.f64 (/.f64 z x)) 2)) |
(/.f64 y (*.f64 (pow.f64 (cbrt.f64 (/.f64 z x)) 2) (cbrt.f64 (/.f64 z x)))) |
(*.f64 (*.f64 (/.f64 y z) 1) x) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (*.f64 (/.f64 y z) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (*.f64 (/.f64 y z) (sqrt.f64 x)) (sqrt.f64 x)) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 y 1) (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 y (neg.f64 z)) (neg.f64 x)) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (*.f64 y (/.f64 x z)) 1) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) 3) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3) 1/3) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (sqrt.f64 (*.f64 y (/.f64 x z))) 2) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (/.f64 z (*.f64 y x)) -1) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(neg.f64 (/.f64 y (/.f64 (neg.f64 z) x))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(sqrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 2)) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(log.f64 (pow.f64 (exp.f64 y) (/.f64 x z))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(cbrt.f64 (pow.f64 (*.f64 y (/.f64 x z)) 3)) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(cbrt.f64 (/.f64 (pow.f64 y 3) (pow.f64 (/.f64 z x) 3))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(expm1.f64 (log1p.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(exp.f64 (log.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(log1p.f64 (expm1.f64 (*.f64 y (/.f64 x z)))) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 91.3% | (/.f64 (*.f64 y x) z) |
Compiled 16 to 7 computations (56.3% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (/.f64 (*.f64 y x) z) |
| 0.0ms | y | @ | 0 | (/.f64 (*.f64 y x) z) |
| 0.0ms | y | @ | -inf | (/.f64 (*.f64 y x) z) |
| 0.0ms | x | @ | -inf | (/.f64 (*.f64 y x) z) |
| 0.0ms | x | @ | inf | (/.f64 (*.f64 y x) z) |
| 1× | batch-egg-rewrite |
| 1618× | pow1 |
| 1492× | add-exp-log |
| 1492× | log1p-expm1-u |
| 1492× | expm1-log1p-u |
| 1460× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 145 | 13 |
| 2 | 1971 | 13 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 y x) z) |
| Outputs |
|---|
(-.f64 (+.f64 1 (*.f64 (/.f64 y z) x)) 1) |
(*.f64 y (/.f64 1 (/.f64 z x))) |
(*.f64 y (*.f64 x (/.f64 1 z))) |
(*.f64 x (*.f64 y (/.f64 1 z))) |
(*.f64 (*.f64 y x) (/.f64 1 z)) |
(*.f64 (*.f64 (/.f64 y z) x) 1) |
(*.f64 1 (*.f64 (/.f64 y z) x)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 (cbrt.f64 (*.f64 y x)) (/.f64 1 z))) |
(*.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 2) (cbrt.f64 (*.f64 (/.f64 y z) x))) |
(*.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 y x)) (/.f64 1 z))) |
(*.f64 (sqrt.f64 (*.f64 (/.f64 y z) x)) (sqrt.f64 (*.f64 (/.f64 y z) x))) |
(*.f64 (*.f64 y (neg.f64 x)) (/.f64 1 (neg.f64 z))) |
(*.f64 (/.f64 1 z) (*.f64 y x)) |
(*.f64 (/.f64 y 1) (/.f64 x z)) |
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z))) |
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z))) |
(*.f64 (/.f64 x (sqrt.f64 z)) (/.f64 y (sqrt.f64 z))) |
(*.f64 (/.f64 x 1) (/.f64 y z)) |
(*.f64 (/.f64 y z) x) |
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 z) 2)) (/.f64 y (cbrt.f64 z))) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 z) 2)) (/.f64 (*.f64 y x) (cbrt.f64 z))) |
(*.f64 (/.f64 1 (sqrt.f64 z)) (/.f64 (*.f64 y x) (sqrt.f64 z))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) 1) (/.f64 (cbrt.f64 (*.f64 y x)) z)) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 (*.f64 (/.f64 y z) x))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (sqrt.f64 z)) (/.f64 (cbrt.f64 (*.f64 y x)) (sqrt.f64 z))) |
(*.f64 (/.f64 (sqrt.f64 (*.f64 y x)) 1) (/.f64 (sqrt.f64 (*.f64 y x)) z)) |
(*.f64 (/.f64 (sqrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 z) 2)) (/.f64 (sqrt.f64 (*.f64 y x)) (cbrt.f64 z))) |
(pow.f64 (*.f64 (/.f64 y z) x) 1) |
(pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 3) |
(pow.f64 (pow.f64 (*.f64 (/.f64 y z) x) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 (/.f64 y z) x)) 2) |
(pow.f64 (/.f64 (/.f64 z y) x) -1) |
(neg.f64 (/.f64 (*.f64 y x) (neg.f64 z))) |
(sqrt.f64 (pow.f64 (*.f64 (/.f64 y z) x) 2)) |
(log.f64 (exp.f64 (*.f64 (/.f64 y z) x))) |
(cbrt.f64 (pow.f64 (*.f64 (/.f64 y z) x) 3)) |
(cbrt.f64 (/.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3))) |
(expm1.f64 (log1p.f64 (*.f64 (/.f64 y z) x))) |
(exp.f64 (log.f64 (*.f64 (/.f64 y z) x))) |
(log1p.f64 (expm1.f64 (*.f64 (/.f64 y z) x))) |
| 1× | egg-herbie |
| 1336× | log-div |
| 1146× | log-prod |
| 1054× | fma-def |
| 902× | associate-/l* |
| 744× | associate-*r/ |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 109 | 1095 |
| 1 | 280 | 903 |
| 2 | 967 | 711 |
| 3 | 4957 | 671 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 1 (*.f64 (/.f64 y z) x)) 1) |
(*.f64 y (/.f64 1 (/.f64 z x))) |
(*.f64 y (*.f64 x (/.f64 1 z))) |
(*.f64 x (*.f64 y (/.f64 1 z))) |
(*.f64 (*.f64 y x) (/.f64 1 z)) |
(*.f64 (*.f64 (/.f64 y z) x) 1) |
(*.f64 1 (*.f64 (/.f64 y z) x)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 (cbrt.f64 (*.f64 y x)) (/.f64 1 z))) |
(*.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 2) (cbrt.f64 (*.f64 (/.f64 y z) x))) |
(*.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 y x)) (/.f64 1 z))) |
(*.f64 (sqrt.f64 (*.f64 (/.f64 y z) x)) (sqrt.f64 (*.f64 (/.f64 y z) x))) |
(*.f64 (*.f64 y (neg.f64 x)) (/.f64 1 (neg.f64 z))) |
(*.f64 (/.f64 1 z) (*.f64 y x)) |
(*.f64 (/.f64 y 1) (/.f64 x z)) |
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z))) |
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z))) |
(*.f64 (/.f64 x (sqrt.f64 z)) (/.f64 y (sqrt.f64 z))) |
(*.f64 (/.f64 x 1) (/.f64 y z)) |
(*.f64 (/.f64 y z) x) |
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 z) 2)) (/.f64 y (cbrt.f64 z))) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 z) 2)) (/.f64 (*.f64 y x) (cbrt.f64 z))) |
(*.f64 (/.f64 1 (sqrt.f64 z)) (/.f64 (*.f64 y x) (sqrt.f64 z))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) 1) (/.f64 (cbrt.f64 (*.f64 y x)) z)) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 (*.f64 (/.f64 y z) x))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (sqrt.f64 z)) (/.f64 (cbrt.f64 (*.f64 y x)) (sqrt.f64 z))) |
(*.f64 (/.f64 (sqrt.f64 (*.f64 y x)) 1) (/.f64 (sqrt.f64 (*.f64 y x)) z)) |
(*.f64 (/.f64 (sqrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 z) 2)) (/.f64 (sqrt.f64 (*.f64 y x)) (cbrt.f64 z))) |
(pow.f64 (*.f64 (/.f64 y z) x) 1) |
(pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 3) |
(pow.f64 (pow.f64 (*.f64 (/.f64 y z) x) 3) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 (/.f64 y z) x)) 2) |
(pow.f64 (/.f64 (/.f64 z y) x) -1) |
(neg.f64 (/.f64 (*.f64 y x) (neg.f64 z))) |
(sqrt.f64 (pow.f64 (*.f64 (/.f64 y z) x) 2)) |
(log.f64 (exp.f64 (*.f64 (/.f64 y z) x))) |
(cbrt.f64 (pow.f64 (*.f64 (/.f64 y z) x) 3)) |
(cbrt.f64 (/.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3))) |
(expm1.f64 (log1p.f64 (*.f64 (/.f64 y z) x))) |
(exp.f64 (log.f64 (*.f64 (/.f64 y z) x))) |
(log1p.f64 (expm1.f64 (*.f64 (/.f64 y z) x))) |
| Outputs |
|---|
(-.f64 (+.f64 1 (*.f64 (/.f64 y z) x)) 1) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 y (/.f64 1 (/.f64 z x))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 y (*.f64 x (/.f64 1 z))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (*.f64 y (/.f64 1 z))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (*.f64 y x) (/.f64 1 z)) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (*.f64 (/.f64 y z) x) 1) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 1 (*.f64 (/.f64 y z) x)) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 (cbrt.f64 (*.f64 y x)) (/.f64 1 z))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 2)) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 2) (cbrt.f64 (*.f64 (/.f64 y z) x))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 y x)) (/.f64 1 z))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (sqrt.f64 (*.f64 (/.f64 y z) x)) (sqrt.f64 (*.f64 (/.f64 y z) x))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (*.f64 y (neg.f64 x)) (/.f64 1 (neg.f64 z))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 1 z) (*.f64 y x)) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 y 1) (/.f64 x z)) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z))) |
(/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 3)) |
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z))) |
(*.f64 (/.f64 (/.f64 x (sqrt.f64 z)) (sqrt.f64 z)) y) |
(/.f64 y (*.f64 (/.f64 (sqrt.f64 z) x) (sqrt.f64 z))) |
(*.f64 (/.f64 x (sqrt.f64 z)) (/.f64 y (sqrt.f64 z))) |
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z))) |
(*.f64 (/.f64 (/.f64 x (sqrt.f64 z)) (sqrt.f64 z)) y) |
(/.f64 y (*.f64 (/.f64 (sqrt.f64 z) x) (sqrt.f64 z))) |
(*.f64 (/.f64 x 1) (/.f64 y z)) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 y z) x) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 x (pow.f64 (cbrt.f64 z) 2)) (/.f64 y (cbrt.f64 z))) |
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z))) |
(/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 3)) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 z) 2)) (/.f64 (*.f64 y x) (cbrt.f64 z))) |
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z))) |
(/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 3)) |
(*.f64 (/.f64 1 (sqrt.f64 z)) (/.f64 (*.f64 y x) (sqrt.f64 z))) |
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z))) |
(*.f64 (/.f64 (/.f64 x (sqrt.f64 z)) (sqrt.f64 z)) y) |
(/.f64 y (*.f64 (/.f64 (sqrt.f64 z) x) (sqrt.f64 z))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) 1) (/.f64 (cbrt.f64 (*.f64 y x)) z)) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 (*.f64 (/.f64 y z) x))) |
(*.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (pow.f64 (cbrt.f64 z) 2))) |
(/.f64 (cbrt.f64 (*.f64 y (/.f64 x z))) (/.f64 (pow.f64 (cbrt.f64 z) 2) (pow.f64 (cbrt.f64 (*.f64 y x)) 2))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (sqrt.f64 z)) (/.f64 (cbrt.f64 (*.f64 y x)) (sqrt.f64 z))) |
(*.f64 (/.f64 y (sqrt.f64 z)) (/.f64 x (sqrt.f64 z))) |
(*.f64 (/.f64 (/.f64 x (sqrt.f64 z)) (sqrt.f64 z)) y) |
(/.f64 y (*.f64 (/.f64 (sqrt.f64 z) x) (sqrt.f64 z))) |
(*.f64 (/.f64 (sqrt.f64 (*.f64 y x)) 1) (/.f64 (sqrt.f64 (*.f64 y x)) z)) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(*.f64 (/.f64 (sqrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 z) 2)) (/.f64 (sqrt.f64 (*.f64 y x)) (cbrt.f64 z))) |
(*.f64 (/.f64 y (pow.f64 (cbrt.f64 z) 2)) (/.f64 x (cbrt.f64 z))) |
(/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 3)) |
(pow.f64 (*.f64 (/.f64 y z) x) 1) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 3) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (pow.f64 (*.f64 (/.f64 y z) x) 3) 1/3) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (sqrt.f64 (*.f64 (/.f64 y z) x)) 2) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(pow.f64 (/.f64 (/.f64 z y) x) -1) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(neg.f64 (/.f64 (*.f64 y x) (neg.f64 z))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(sqrt.f64 (pow.f64 (*.f64 (/.f64 y z) x) 2)) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(log.f64 (exp.f64 (*.f64 (/.f64 y z) x))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(cbrt.f64 (pow.f64 (*.f64 (/.f64 y z) x) 3)) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(cbrt.f64 (/.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(expm1.f64 (log1p.f64 (*.f64 (/.f64 y z) x))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(exp.f64 (log.f64 (*.f64 (/.f64 y z) x))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
(log1p.f64 (expm1.f64 (*.f64 (/.f64 y z) x))) |
(+.f64 1 (-.f64 (*.f64 y (/.f64 x z)) 1)) |
(+.f64 (*.f64 y (/.f64 x z)) 0) |
(*.f64 y (/.f64 x z)) |
Compiled 1442 to 498 computations (65.5% saved)
5 alts after pruning (0 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 145 | 0 | 145 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 4 | 4 |
| Total | 145 | 5 | 150 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 91.3% | (/.f64 (*.f64 y x) z) |
| ✓ | 94.4% | (/.f64 y (/.f64 z x)) |
| ✓ | 90.8% | (/.f64 x (/.f64 z y)) |
| ✓ | 93.8% | (*.f64 y (/.f64 x z)) |
| ✓ | 90.8% | (*.f64 x (/.f64 y z)) |
Compiled 45 to 30 computations (33.3% saved)
| Inputs |
|---|
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 x (/.f64 z y)) |
(/.f64 y (/.f64 z x)) |
(/.f64 (*.f64 y x) z) |
(*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t)) |
| Outputs |
|---|
(/.f64 (*.f64 y x) z) |
(/.f64 x (/.f64 z y)) |
(/.f64 (*.f64 y x) z) |
(/.f64 x (/.f64 z y)) |
(/.f64 y (/.f64 z x)) |
7 calls:
| 157.0ms | (*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t)) |
| 78.0ms | y |
| 45.0ms | (/.f64 y z) |
| 40.0ms | t |
| 10.0ms | (/.f64 (*.f64 (/.f64 y z) t) t) |
| Accuracy | Segments | Branch |
|---|---|---|
| 94.4% | 1 | x |
| 94.4% | 1 | y |
| 94.4% | 1 | z |
| 94.4% | 1 | t |
| 99.3% | 5 | (*.f64 x (/.f64 (*.f64 (/.f64 y z) t) t)) |
| 96.5% | 3 | (/.f64 (*.f64 (/.f64 y z) t) t) |
| 99.8% | 5 | (/.f64 y z) |
Compiled 89 to 53 computations (40.4% saved)
| 4× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.8224086844846177e+126 | 3.150876268697229e+128 |
| 0.0ms | 2.32944247466e-313 | 4.2264065126277315e-280 |
| 0.0ms | -1.7502973061562666e-102 | -6.218094506328201e-103 |
| 0.0ms | -1.072065584453898e+203 | -8.617695847062824e+199 |
Compiled 20 to 14 computations (30% saved)
| Inputs |
|---|
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 x (/.f64 z y)) |
(/.f64 y (/.f64 z x)) |
| Outputs |
|---|
(*.f64 y (/.f64 x z)) |
(/.f64 x (/.f64 z y)) |
(/.f64 y (/.f64 z x)) |
(/.f64 x (/.f64 z y)) |
(/.f64 y (/.f64 z x)) |
5 calls:
| 16.0ms | (/.f64 y z) |
| 5.0ms | y |
| 4.0ms | x |
| 4.0ms | t |
| 4.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 94.4% | 1 | x |
| 94.4% | 1 | y |
| 94.4% | 1 | z |
| 94.4% | 1 | t |
| 99.8% | 5 | (/.f64 y z) |
Compiled 51 to 33 computations (35.3% saved)
| 4× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.8224086844846177e+126 | 3.150876268697229e+128 |
| 0.0ms | 2.32944247466e-313 | 4.2264065126277315e-280 |
| 0.0ms | -2.609238743345628e-213 | -9.829913666935479e-231 |
| 0.0ms | -inf | -6.660479673081152e+307 |
Compiled 20 to 14 computations (30% saved)
| Inputs |
|---|
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(/.f64 x (/.f64 z y)) |
| Outputs |
|---|
(*.f64 y (/.f64 x z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
(/.f64 x (/.f64 z y)) |
(*.f64 y (/.f64 x z)) |
5 calls:
| 24.0ms | t |
| 14.0ms | (/.f64 y z) |
| 3.0ms | x |
| 3.0ms | z |
| 3.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 93.8% | 1 | x |
| 93.8% | 1 | y |
| 93.8% | 1 | z |
| 93.8% | 1 | t |
| 99.8% | 5 | (/.f64 y z) |
Compiled 46 to 31 computations (32.6% saved)
| 4× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.591572779714513e+165 | 8.943054413564581e+170 |
| 0.0ms | 2.32944247466e-313 | 4.2264065126277315e-280 |
| 0.0ms | -1.650243401448032e-181 | -1.0976766858427378e-197 |
| 0.0ms | -inf | -6.660479673081152e+307 |
Compiled 20 to 14 computations (30% saved)
Total -9.6b remaining (-5712.9%)
Threshold costs -9.6b (-5712.9%)
| Inputs |
|---|
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
| Outputs |
|---|
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
(*.f64 x (/.f64 y z)) |
(*.f64 y (/.f64 x z)) |
5 calls:
| 13.0ms | (/.f64 y z) |
| 4.0ms | x |
| 3.0ms | t |
| 3.0ms | y |
| 3.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 93.8% | 1 | x |
| 93.8% | 1 | y |
| 93.8% | 1 | z |
| 93.8% | 1 | t |
| 99.7% | 5 | (/.f64 y z) |
Compiled 41 to 29 computations (29.3% saved)
| 4× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.591572779714513e+165 | 8.943054413564581e+170 |
| 0.0ms | 2.2588791839211888e-272 | 2.4107347766198143e-266 |
| 0.0ms | -1.0976766858427378e-197 | -2.609238743345628e-213 |
| 0.0ms | -1.410417833135578e+286 | -1.0629247098730338e+284 |
Compiled 20 to 14 computations (30% saved)
| 1× | egg-herbie |
| 20× | not-or |
| 18× | if-not |
| 16× | if-if-or-not |
| 12× | not-not |
| 6× | *-commutative |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 55 | 495 |
| 1 | 68 | 477 |
| 2 | 77 | 465 |
| 3 | 90 | 453 |
| 4 | 99 | 453 |
| 5 | 108 | 453 |
| 6 | 110 | 453 |
| 7 | 114 | 453 |
| 8 | 115 | 453 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(if (<=.f64 (/.f64 y z) -99999999999999998876910787506329447650934459829549922997503484884029261182361866844442696946000689845185920534555642245481492613075738123641525387194542623914743194966239051177873087980216425864602058752) (/.f64 (*.f64 y x) z) (if (<=.f64 (/.f64 y z) -5043456793138493/5043456793138493339171717132818382567050206626619577173497381555743452386751642958261026080625269202023248382759272448) (/.f64 x (/.f64 z y)) (if (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 y x) z) (if (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080) (/.f64 x (/.f64 z y)) (/.f64 y (/.f64 z x)))))) |
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -1516130949512411/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (/.f64 x (/.f64 z y)) (if (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 y (/.f64 z x)) (if (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080) (/.f64 x (/.f64 z y)) (/.f64 y (/.f64 z x)))))) |
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -7475102707912205/74751027079122046462216955587793573067050655862760405902609490213261724339546970300512875500623813013973275600053770769378323738155015176163371603062328757260320680744718580942157810765768356265984) (/.f64 x (/.f64 z y)) (if (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896) (/.f64 x (/.f64 z y)) (*.f64 y (/.f64 x z)))))) |
(if (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064) (*.f64 x (/.f64 y z)) (if (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896) (*.f64 x (/.f64 y z)) (*.f64 y (/.f64 x z)))))) |
(*.f64 x (/.f64 y z)) |
| Outputs |
|---|
(if (<=.f64 (/.f64 y z) -99999999999999998876910787506329447650934459829549922997503484884029261182361866844442696946000689845185920534555642245481492613075738123641525387194542623914743194966239051177873087980216425864602058752) (/.f64 (*.f64 y x) z) (if (<=.f64 (/.f64 y z) -5043456793138493/5043456793138493339171717132818382567050206626619577173497381555743452386751642958261026080625269202023248382759272448) (/.f64 x (/.f64 z y)) (if (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 (*.f64 y x) z) (if (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080) (/.f64 x (/.f64 z y)) (/.f64 y (/.f64 z x)))))) |
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -1516130949512411/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (/.f64 x (/.f64 z y)) (if (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (/.f64 y (/.f64 z x)) (if (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080) (/.f64 x (/.f64 z y)) (/.f64 y (/.f64 z x)))))) |
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -1516130949512411/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (/.f64 x (/.f64 z y)) (if (or (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (not (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080))) (/.f64 y (/.f64 z x)) (/.f64 x (/.f64 z y))))) |
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (or (<=.f64 (/.f64 y z) -1516130949512411/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (not (or (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (not (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080))))) (/.f64 x (/.f64 z y)) (/.f64 y (/.f64 z x)))) |
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (or (<=.f64 (/.f64 y z) -1516130949512411/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (and (not (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784)) (<=.f64 (/.f64 y z) 1999999999999999849735523237985764085089341739669676922878451944450588399951586053206326987525635307503060116827311064565678080))) (/.f64 x (/.f64 z y)) (/.f64 y (/.f64 z x)))) |
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -7475102707912205/74751027079122046462216955587793573067050655862760405902609490213261724339546970300512875500623813013973275600053770769378323738155015176163371603062328757260320680744718580942157810765768356265984) (/.f64 x (/.f64 z y)) (if (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896) (/.f64 x (/.f64 z y)) (*.f64 y (/.f64 x z)))))) |
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -7475102707912205/74751027079122046462216955587793573067050655862760405902609490213261724339546970300512875500623813013973275600053770769378323738155015176163371603062328757260320680744718580942157810765768356265984) (/.f64 x (/.f64 z y)) (if (or (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))) (*.f64 y (/.f64 x z)) (/.f64 x (/.f64 z y))))) |
(if (<=.f64 (/.f64 y z) -inf.0) (*.f64 y (/.f64 x z)) (if (or (<=.f64 (/.f64 y z) -7475102707912205/74751027079122046462216955587793573067050655862760405902609490213261724339546970300512875500623813013973275600053770769378323738155015176163371603062328757260320680744718580942157810765768356265984) (not (or (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))) (/.f64 x (/.f64 z y)) (*.f64 y (/.f64 x z)))) |
(if (or (<=.f64 (/.f64 y z) -inf.0) (not (or (<=.f64 (/.f64 y z) -7475102707912205/74751027079122046462216955587793573067050655862760405902609490213261724339546970300512875500623813013973275600053770769378323738155015176163371603062328757260320680744718580942157810765768356265984) (not (or (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))))) (*.f64 y (/.f64 x z)) (/.f64 x (/.f64 z y))) |
(if (or (<=.f64 (/.f64 y z) -inf.0) (not (or (<=.f64 (/.f64 y z) -7475102707912205/74751027079122046462216955587793573067050655862760405902609490213261724339546970300512875500623813013973275600053770769378323738155015176163371603062328757260320680744718580942157810765768356265984) (and (not (<=.f64 (/.f64 y z) 80960901323/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784)) (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))) (*.f64 y (/.f64 x z)) (/.f64 x (/.f64 z y))) |
(if (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064) (*.f64 x (/.f64 y z)) (if (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896) (*.f64 x (/.f64 y z)) (*.f64 y (/.f64 x z)))))) |
(if (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (*.f64 y (/.f64 x z)) (if (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064) (*.f64 (/.f64 y z) x) (if (or (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))) (*.f64 y (/.f64 x z)) (*.f64 (/.f64 y z) x)))) |
(if (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (*.f64 y (/.f64 x z)) (if (or (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064) (not (or (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))) (*.f64 (/.f64 y z) x) (*.f64 y (/.f64 x z)))) |
(if (or (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (not (or (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064) (not (or (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))))) (*.f64 y (/.f64 x z)) (*.f64 (/.f64 y z) x)) |
(if (or (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (not (or (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064) (and (not (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984)) (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))) (*.f64 y (/.f64 x z)) (*.f64 (/.f64 y z) x)) |
(if (or (<=.f64 (/.f64 y z) -10000000000000000329886110340869674854270880115045078636847583141738025727786089878914788718586324412860117381629402398400588202211517615861824081167237790591132705927077058380451118207922609574937392980048643791654301923722148311225012721166820834263125344653917287293299907083743789056) (and (not (<=.f64 (/.f64 y z) -3366486976990959/336648697699095904463423352504328234595221747380683127007889977796398857875013172615274658321765660878526910006795405933633243664011763447240180145321720374397134314952220454284266480504596653905362768111090008064)) (or (<=.f64 (/.f64 y z) 6090821257124999/152270531428124985630521599810549817357441044649921992607311038393952323293225407851025235404406410300395389316115760440366549529143798344477781051504885209680176214061819891091731088367032088255512493648112787169901337467584294921027286931491702587700433418798504336673153571718623657984) (not (<=.f64 (/.f64 y z) 4999999999999999702036380252676291511991648050427649115224884571969151128330931919089800127025975284687273696257534178886563745342824774058569857985872573620757200896))))) (*.f64 y (/.f64 x z)) (*.f64 (/.f64 y z) x)) |
(*.f64 x (/.f64 y z)) |
(*.f64 (/.f64 y z) x) |
Compiled 186 to 98 computations (47.3% saved)
| 3786× | associate-*r* |
| 3786× | associate-*r* |
| 2832× | associate-*l* |
| 2832× | associate-*l* |
| 2274× | associate-*r/ |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 25 |
| 1 | 18 | 19 |
| 2 | 44 | 13 |
| 3 | 104 | 13 |
| 4 | 433 | 13 |
| 5 | 2078 | 13 |
| 6 | 2266 | 13 |
| 7 | 2279 | 13 |
| 8 | 2292 | 13 |
| 9 | 2299 | 13 |
| 10 | 2306 | 13 |
| 11 | 2313 | 13 |
| 12 | 2320 | 13 |
| 13 | 2327 | 13 |
| 14 | 2334 | 13 |
| 15 | 2341 | 13 |
| 16 | 2348 | 13 |
| 17 | 2355 | 13 |
| 18 | 2362 | 13 |
| 19 | 2369 | 13 |
| 20 | 2376 | 13 |
| 0 | 58 | 728 |
| 1 | 139 | 728 |
| 2 | 519 | 728 |
| 3 | 3550 | 728 |
| 0 | 10 | 25 |
| 1 | 18 | 19 |
| 2 | 44 | 13 |
| 3 | 104 | 13 |
| 4 | 433 | 13 |
| 5 | 2078 | 13 |
| 6 | 2266 | 13 |
| 7 | 2279 | 13 |
| 8 | 2292 | 13 |
| 9 | 2299 | 13 |
| 10 | 2306 | 13 |
| 11 | 2313 | 13 |
| 12 | 2320 | 13 |
| 13 | 2327 | 13 |
| 14 | 2334 | 13 |
| 15 | 2341 | 13 |
| 16 | 2348 | 13 |
| 17 | 2355 | 13 |
| 18 | 2362 | 13 |
| 19 | 2369 | 13 |
| 20 | 2376 | 13 |
| 0 | 7 | 13 |
| 1 | 145 | 13 |
| 2 | 1912 | 13 |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
Compiled 127 to 56 computations (55.9% saved)
Compiled 610 to 244 computations (60% saved)
Loading profile data...