
Time bar (total: 2.1s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 2 |
| 50% | 50% | 50% | 0.1% | 0% | 0% | 0% | 3 |
| 50% | 50% | 50% | 0.1% | 0% | 0% | 0% | 4 |
| 62.5% | 62.4% | 37.5% | 0.1% | 0% | 0% | 0% | 5 |
| 66.7% | 62.4% | 31.2% | 0.1% | 0% | 6.2% | 0% | 6 |
| 75% | 65.6% | 21.9% | 0.1% | 0% | 12.5% | 0% | 7 |
| 80% | 68.7% | 17.2% | 0.1% | 0% | 14% | 0% | 8 |
| 85.7% | 70.2% | 11.7% | 0.1% | 0% | 18% | 0% | 9 |
| 88.9% | 71.8% | 9% | 0.1% | 0% | 19.1% | 0% | 10 |
| 92.3% | 72.6% | 6% | 0.1% | 0% | 21.3% | 0% | 11 |
| 94.1% | 73.4% | 4.6% | 0.1% | 0% | 22% | 0% | 12 |
Compiled 9 to 6 computations (33.3% saved)
| 927.0ms | 8256× | body | 256 | valid |
| 24.0ms | 360× | body | 256 | invalid |
| 2× | egg-herbie |
| 4× | fma-def |
| 4× | +-commutative |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 26 |
| 1 | 16 | 26 |
| 0 | 2 | 2 |
| 1× | saturated |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
| Outputs |
|---|
0 |
1 |
| Inputs |
|---|
(sqrt.f64 (+.f64 (*.f64 x x) y)) |
(sqrt.f64 (+.f64 (*.f64 y y) x)) |
| Outputs |
|---|
(sqrt.f64 (+.f64 (*.f64 x x) y)) |
(sqrt.f64 (fma.f64 x x y)) |
(sqrt.f64 (+.f64 (*.f64 y y) x)) |
(sqrt.f64 (fma.f64 y y x)) |
Compiled 10 to 7 computations (30% saved)
| 1× | egg-herbie |
| 2× | fma-def |
| 2× | +-commutative |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 13 |
| 1 | 11 | 13 |
| 1× | saturated |
| Inputs |
|---|
(sqrt.f64 (+.f64 (*.f64 x x) y)) |
| Outputs |
|---|
(sqrt.f64 (+.f64 (*.f64 x x) y)) |
(sqrt.f64 (fma.f64 x x y)) |
Compiled 13 to 7 computations (46.2% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 1 | 2 | 3 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 67.2% | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| ▶ | 67.2% | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
Compiled 16 to 10 computations (37.5% saved)
Found 1 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 67.2% | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
Compiled 19 to 6 computations (68.4% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| 1.0ms | y | @ | inf | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| 0.0ms | x | @ | inf | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| 0.0ms | y | @ | -inf | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| 0.0ms | y | @ | 0 | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| 1× | batch-egg-rewrite |
| 1692× | pow1 |
| 1568× | add-exp-log |
| 1568× | log1p-expm1-u |
| 1568× | expm1-log1p-u |
| 1534× | add-log-exp |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 13 |
| 1 | 169 | 11 |
| 2 | 2210 | 11 |
| 1× | node limit |
| Inputs |
|---|
(sqrt.f64 (+.f64 (*.f64 x x) y)) |
| Outputs |
|---|
(-.f64 (+.f64 1 (hypot.f64 x (sqrt.f64 y))) 1) |
(*.f64 (hypot.f64 x (sqrt.f64 y)) 1) |
(*.f64 1 (hypot.f64 x (sqrt.f64 y))) |
(*.f64 (cbrt.f64 (hypot.f64 x (sqrt.f64 y))) (cbrt.f64 (fma.f64 x x y))) |
(*.f64 (cbrt.f64 (fma.f64 x x y)) (cbrt.f64 (hypot.f64 x (sqrt.f64 y)))) |
(*.f64 (pow.f64 (fma.f64 x x y) 1/4) (pow.f64 (fma.f64 x x y) 1/4)) |
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x y)) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 x x y)))) |
(*.f64 (pow.f64 1 1/2) (hypot.f64 x (sqrt.f64 y))) |
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 x x y)) 2) 1/2) (pow.f64 (cbrt.f64 (fma.f64 x x y)) 1/2)) |
(/.f64 (sqrt.f64 (-.f64 (pow.f64 x 4) (*.f64 y y))) (sqrt.f64 (-.f64 (*.f64 x x) y))) |
(/.f64 (sqrt.f64 (+.f64 (pow.f64 y 3) (pow.f64 x 6))) (sqrt.f64 (+.f64 (pow.f64 x 4) (*.f64 y (-.f64 y (*.f64 x x)))))) |
(pow.f64 (fma.f64 x x y) 1/2) |
(pow.f64 (hypot.f64 x (sqrt.f64 y)) 1) |
(pow.f64 (cbrt.f64 (hypot.f64 x (sqrt.f64 y))) 3) |
(pow.f64 (pow.f64 (fma.f64 x x y) 3/2) 1/3) |
(pow.f64 (pow.f64 (fma.f64 x x y) 1/4) 2) |
(fabs.f64 (hypot.f64 x (sqrt.f64 y))) |
(log.f64 (exp.f64 (hypot.f64 x (sqrt.f64 y)))) |
(cbrt.f64 (pow.f64 (fma.f64 x x y) 3/2)) |
(expm1.f64 (log1p.f64 (hypot.f64 x (sqrt.f64 y)))) |
(hypot.f64 x (sqrt.f64 y)) |
(hypot.f64 (sqrt.f64 y) x) |
(exp.f64 (log.f64 (hypot.f64 x (sqrt.f64 y)))) |
(log1p.f64 (expm1.f64 (hypot.f64 x (sqrt.f64 y)))) |
| 1× | egg-herbie |
| 1528× | times-frac |
| 1390× | fma-neg |
| 1162× | associate-/l* |
| 740× | associate-/r* |
| 678× | *-commutative |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 117 | 1280 |
| 1 | 270 | 1160 |
| 2 | 702 | 1056 |
| 3 | 2399 | 1020 |
| 4 | 7661 | 1020 |
| 1× | node limit |
| Inputs |
|---|
(sqrt.f64 y) |
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 y)) (pow.f64 x 2))) (sqrt.f64 y)) |
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y 3))) (pow.f64 x 4))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 y)) (pow.f64 x 2))) (sqrt.f64 y))) |
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y 5))) (pow.f64 x 6))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y 3))) (pow.f64 x 4))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 y)) (pow.f64 x 2))) (sqrt.f64 y)))) |
x |
(+.f64 (*.f64 1/2 (/.f64 y x)) x) |
(+.f64 (*.f64 1/2 (/.f64 y x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 2) (pow.f64 x 3))) x)) |
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 y 3) (pow.f64 x 5))) (+.f64 (*.f64 1/2 (/.f64 y x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 2) (pow.f64 x 3))) x))) |
(*.f64 -1 x) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (+.f64 (*.f64 -1 x) (*.f64 1/8 (/.f64 (pow.f64 y 2) (pow.f64 x 3))))) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 y 3) (pow.f64 x 5))) (+.f64 (*.f64 -1 x) (*.f64 1/8 (/.f64 (pow.f64 y 2) (pow.f64 x 3)))))) |
x |
(+.f64 (*.f64 1/2 (/.f64 y x)) x) |
(+.f64 (*.f64 1/2 (/.f64 y x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 2) (pow.f64 x 3))) x)) |
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 y 3) (pow.f64 x 5))) (+.f64 (*.f64 1/2 (/.f64 y x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 2) (pow.f64 x 3))) x))) |
(-.f64 (+.f64 1 (hypot.f64 x (sqrt.f64 y))) 1) |
(*.f64 (hypot.f64 x (sqrt.f64 y)) 1) |
(*.f64 1 (hypot.f64 x (sqrt.f64 y))) |
(*.f64 (cbrt.f64 (hypot.f64 x (sqrt.f64 y))) (cbrt.f64 (fma.f64 x x y))) |
(*.f64 (cbrt.f64 (fma.f64 x x y)) (cbrt.f64 (hypot.f64 x (sqrt.f64 y)))) |
(*.f64 (pow.f64 (fma.f64 x x y) 1/4) (pow.f64 (fma.f64 x x y) 1/4)) |
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x y)) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 x x y)))) |
(*.f64 (pow.f64 1 1/2) (hypot.f64 x (sqrt.f64 y))) |
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 x x y)) 2) 1/2) (pow.f64 (cbrt.f64 (fma.f64 x x y)) 1/2)) |
(/.f64 (sqrt.f64 (-.f64 (pow.f64 x 4) (*.f64 y y))) (sqrt.f64 (-.f64 (*.f64 x x) y))) |
(/.f64 (sqrt.f64 (+.f64 (pow.f64 y 3) (pow.f64 x 6))) (sqrt.f64 (+.f64 (pow.f64 x 4) (*.f64 y (-.f64 y (*.f64 x x)))))) |
(pow.f64 (fma.f64 x x y) 1/2) |
(pow.f64 (hypot.f64 x (sqrt.f64 y)) 1) |
(pow.f64 (cbrt.f64 (hypot.f64 x (sqrt.f64 y))) 3) |
(pow.f64 (pow.f64 (fma.f64 x x y) 3/2) 1/3) |
(pow.f64 (pow.f64 (fma.f64 x x y) 1/4) 2) |
(fabs.f64 (hypot.f64 x (sqrt.f64 y))) |
(log.f64 (exp.f64 (hypot.f64 x (sqrt.f64 y)))) |
(cbrt.f64 (pow.f64 (fma.f64 x x y) 3/2)) |
(expm1.f64 (log1p.f64 (hypot.f64 x (sqrt.f64 y)))) |
(hypot.f64 x (sqrt.f64 y)) |
(hypot.f64 (sqrt.f64 y) x) |
(exp.f64 (log.f64 (hypot.f64 x (sqrt.f64 y)))) |
(log1p.f64 (expm1.f64 (hypot.f64 x (sqrt.f64 y)))) |
| Outputs |
|---|
(sqrt.f64 y) |
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 y)) (pow.f64 x 2))) (sqrt.f64 y)) |
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 y)) (*.f64 x x)) (sqrt.f64 y)) |
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y 3))) (pow.f64 x 4))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 y)) (pow.f64 x 2))) (sqrt.f64 y))) |
(fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y 3))) (pow.f64 x 4)) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 y)) (*.f64 x x)) (sqrt.f64 y))) |
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 y)) (*.f64 x x)) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 y 3))) (*.f64 -1/8 (pow.f64 x 4)) (sqrt.f64 y))) |
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y 5))) (pow.f64 x 6))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y 3))) (pow.f64 x 4))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 y)) (pow.f64 x 2))) (sqrt.f64 y)))) |
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y 5))) (pow.f64 x 6)) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y 3))) (pow.f64 x 4)) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 y)) (*.f64 x x)) (sqrt.f64 y)))) |
(fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y 3))) (pow.f64 x 4)) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y 5))) (pow.f64 x 6)) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 y)) (*.f64 x x)) (sqrt.f64 y)))) |
x |
(+.f64 (*.f64 1/2 (/.f64 y x)) x) |
(fma.f64 1/2 (/.f64 y x) x) |
(+.f64 (*.f64 1/2 (/.f64 y x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 2) (pow.f64 x 3))) x)) |
(fma.f64 1/2 (/.f64 y x) (fma.f64 -1/8 (/.f64 (*.f64 y y) (pow.f64 x 3)) x)) |
(fma.f64 1/2 (/.f64 y x) (fma.f64 -1/8 (/.f64 y (/.f64 (pow.f64 x 3) y)) x)) |
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 y 3) (pow.f64 x 5))) (+.f64 (*.f64 1/2 (/.f64 y x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 2) (pow.f64 x 3))) x))) |
(fma.f64 1/16 (/.f64 (pow.f64 y 3) (pow.f64 x 5)) (fma.f64 1/2 (/.f64 y x) (fma.f64 -1/8 (/.f64 (*.f64 y y) (pow.f64 x 3)) x))) |
(fma.f64 1/16 (/.f64 (pow.f64 y 3) (pow.f64 x 5)) (fma.f64 1/2 (/.f64 y x) (fma.f64 -1/8 (/.f64 y (/.f64 (pow.f64 x 3) y)) x))) |
(fma.f64 1/2 (/.f64 y x) (fma.f64 1/16 (/.f64 (pow.f64 y 3) (pow.f64 x 5)) (fma.f64 -1/8 (/.f64 y (/.f64 (pow.f64 x 3) y)) x))) |
(*.f64 -1 x) |
(neg.f64 x) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(fma.f64 -1/2 (/.f64 y x) (neg.f64 x)) |
(-.f64 (*.f64 (/.f64 y x) -1/2) x) |
(neg.f64 (fma.f64 1/2 (/.f64 y x) x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (+.f64 (*.f64 -1 x) (*.f64 1/8 (/.f64 (pow.f64 y 2) (pow.f64 x 3))))) |
(fma.f64 -1/2 (/.f64 y x) (fma.f64 -1 x (*.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) 1/8))) |
(fma.f64 (/.f64 y x) -1/2 (-.f64 (*.f64 (/.f64 y (/.f64 (pow.f64 x 3) y)) 1/8) x)) |
(-.f64 (fma.f64 (/.f64 y x) -1/2 (*.f64 (/.f64 y (/.f64 (pow.f64 x 3) y)) 1/8)) x) |
(-.f64 (*.f64 (/.f64 y x) (+.f64 -1/2 (*.f64 (/.f64 y x) (/.f64 1/8 x)))) x) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 y 3) (pow.f64 x 5))) (+.f64 (*.f64 -1 x) (*.f64 1/8 (/.f64 (pow.f64 y 2) (pow.f64 x 3)))))) |
(fma.f64 -1/2 (/.f64 y x) (fma.f64 -1/16 (/.f64 (pow.f64 y 3) (pow.f64 x 5)) (fma.f64 -1 x (*.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) 1/8)))) |
(fma.f64 (/.f64 y x) -1/2 (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 5)) -1/16 (-.f64 (*.f64 (/.f64 y (/.f64 (pow.f64 x 3) y)) 1/8) x))) |
(fma.f64 (/.f64 y x) -1/2 (-.f64 (fma.f64 (/.f64 y (/.f64 (pow.f64 x 3) y)) 1/8 (/.f64 (*.f64 (pow.f64 y 3) -1/16) (pow.f64 x 5))) x)) |
(fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 5)) -1/16 (-.f64 (*.f64 (/.f64 y x) (+.f64 -1/2 (*.f64 (/.f64 y x) (/.f64 1/8 x)))) x)) |
(fma.f64 (/.f64 y x) (+.f64 -1/2 (*.f64 (/.f64 y x) (/.f64 1/8 x))) (-.f64 (/.f64 (pow.f64 y 3) (/.f64 (pow.f64 x 5) -1/16)) x)) |
x |
(+.f64 (*.f64 1/2 (/.f64 y x)) x) |
(fma.f64 1/2 (/.f64 y x) x) |
(+.f64 (*.f64 1/2 (/.f64 y x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 2) (pow.f64 x 3))) x)) |
(fma.f64 1/2 (/.f64 y x) (fma.f64 -1/8 (/.f64 (*.f64 y y) (pow.f64 x 3)) x)) |
(fma.f64 1/2 (/.f64 y x) (fma.f64 -1/8 (/.f64 y (/.f64 (pow.f64 x 3) y)) x)) |
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 y 3) (pow.f64 x 5))) (+.f64 (*.f64 1/2 (/.f64 y x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 2) (pow.f64 x 3))) x))) |
(fma.f64 1/16 (/.f64 (pow.f64 y 3) (pow.f64 x 5)) (fma.f64 1/2 (/.f64 y x) (fma.f64 -1/8 (/.f64 (*.f64 y y) (pow.f64 x 3)) x))) |
(fma.f64 1/16 (/.f64 (pow.f64 y 3) (pow.f64 x 5)) (fma.f64 1/2 (/.f64 y x) (fma.f64 -1/8 (/.f64 y (/.f64 (pow.f64 x 3) y)) x))) |
(fma.f64 1/2 (/.f64 y x) (fma.f64 1/16 (/.f64 (pow.f64 y 3) (pow.f64 x 5)) (fma.f64 -1/8 (/.f64 y (/.f64 (pow.f64 x 3) y)) x))) |
(-.f64 (+.f64 1 (hypot.f64 x (sqrt.f64 y))) 1) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(*.f64 (hypot.f64 x (sqrt.f64 y)) 1) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(*.f64 1 (hypot.f64 x (sqrt.f64 y))) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(*.f64 (cbrt.f64 (hypot.f64 x (sqrt.f64 y))) (cbrt.f64 (fma.f64 x x y))) |
(*.f64 (cbrt.f64 (hypot.f64 (sqrt.f64 y) x)) (cbrt.f64 (fma.f64 x x y))) |
(*.f64 (cbrt.f64 (fma.f64 x x y)) (cbrt.f64 (hypot.f64 x (sqrt.f64 y)))) |
(*.f64 (cbrt.f64 (hypot.f64 x (sqrt.f64 y))) (cbrt.f64 (fma.f64 x x y))) |
(*.f64 (cbrt.f64 (hypot.f64 (sqrt.f64 y) x)) (cbrt.f64 (fma.f64 x x y))) |
(*.f64 (pow.f64 (fma.f64 x x y) 1/4) (pow.f64 (fma.f64 x x y) 1/4)) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x y)) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 x x y)))) |
(*.f64 (fabs.f64 (cbrt.f64 (fma.f64 x x y))) (sqrt.f64 (cbrt.f64 (fma.f64 x x y)))) |
(*.f64 (cbrt.f64 (fma.f64 x x y)) (sqrt.f64 (cbrt.f64 (fma.f64 x x y)))) |
(pow.f64 (cbrt.f64 (fma.f64 x x y)) 3/2) |
(*.f64 (pow.f64 1 1/2) (hypot.f64 x (sqrt.f64 y))) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 x x y)) 2) 1/2) (pow.f64 (cbrt.f64 (fma.f64 x x y)) 1/2)) |
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x y)) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 x x y)))) |
(*.f64 (fabs.f64 (cbrt.f64 (fma.f64 x x y))) (sqrt.f64 (cbrt.f64 (fma.f64 x x y)))) |
(*.f64 (cbrt.f64 (fma.f64 x x y)) (sqrt.f64 (cbrt.f64 (fma.f64 x x y)))) |
(pow.f64 (cbrt.f64 (fma.f64 x x y)) 3/2) |
(/.f64 (sqrt.f64 (-.f64 (pow.f64 x 4) (*.f64 y y))) (sqrt.f64 (-.f64 (*.f64 x x) y))) |
(/.f64 (sqrt.f64 (+.f64 (pow.f64 y 3) (pow.f64 x 6))) (sqrt.f64 (+.f64 (pow.f64 x 4) (*.f64 y (-.f64 y (*.f64 x x)))))) |
(/.f64 (hypot.f64 (pow.f64 x 3) (pow.f64 y 3/2)) (sqrt.f64 (fma.f64 y (-.f64 y (*.f64 x x)) (pow.f64 x 4)))) |
(/.f64 (hypot.f64 (pow.f64 x 3) (pow.f64 y 3/2)) (sqrt.f64 (fma.f64 y (fma.f64 x (neg.f64 x) y) (pow.f64 x 4)))) |
(pow.f64 (fma.f64 x x y) 1/2) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(pow.f64 (hypot.f64 x (sqrt.f64 y)) 1) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(pow.f64 (cbrt.f64 (hypot.f64 x (sqrt.f64 y))) 3) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(pow.f64 (pow.f64 (fma.f64 x x y) 3/2) 1/3) |
(cbrt.f64 (pow.f64 (fma.f64 x x y) 3/2)) |
(pow.f64 (pow.f64 (fma.f64 x x y) 1/4) 2) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(fabs.f64 (hypot.f64 x (sqrt.f64 y))) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(log.f64 (exp.f64 (hypot.f64 x (sqrt.f64 y)))) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(cbrt.f64 (pow.f64 (fma.f64 x x y) 3/2)) |
(expm1.f64 (log1p.f64 (hypot.f64 x (sqrt.f64 y)))) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(hypot.f64 x (sqrt.f64 y)) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(hypot.f64 (sqrt.f64 y) x) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(exp.f64 (log.f64 (hypot.f64 x (sqrt.f64 y)))) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
(log1p.f64 (expm1.f64 (hypot.f64 x (sqrt.f64 y)))) |
(+.f64 1 (-.f64 (hypot.f64 x (sqrt.f64 y)) 1)) |
(+.f64 (hypot.f64 x (sqrt.f64 y)) 0) |
(hypot.f64 (sqrt.f64 y) x) |
Compiled 950 to 526 computations (44.6% saved)
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 62 | 6 | 68 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 62 | 7 | 69 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 65.6% | (hypot.f64 (sqrt.f64 y) x) |
| ▶ | 36.8% | (-.f64 (*.f64 (/.f64 y x) -1/2) x) |
| ▶ | 36.5% | (+.f64 (*.f64 1/2 (/.f64 y x)) x) |
| ✓ | 67.2% | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| ▶ | 30.4% | (sqrt.f64 y) |
| ▶ | 36.8% | (neg.f64 x) |
| 36.4% | x | |
| ▶ | 65.6% | (hypot.f64 (sqrt.f64 y) x) |
| ▶ | 36.8% | (-.f64 (*.f64 (/.f64 y x) -1/2) x) |
| ▶ | 36.5% | (+.f64 (*.f64 1/2 (/.f64 y x)) x) |
| ✓ | 67.2% | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| ▶ | 30.4% | (sqrt.f64 y) |
| ▶ | 36.8% | (neg.f64 x) |
| 36.4% | x |
Compiled 150 to 102 computations (32% saved)
Found 2 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (-.f64 (*.f64 (/.f64 y x) -1/2) x) |
| ✓ | 100.0% | (+.f64 (*.f64 1/2 (/.f64 y x)) x) |
Compiled 53 to 19 computations (64.2% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | inf | (+.f64 (*.f64 1/2 (/.f64 y x)) x) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 1/2 (/.f64 y x)) x) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 1/2 (/.f64 y x)) x) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 1/2 (/.f64 y x)) x) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 1/2 (/.f64 y x)) x) |
| 1× | batch-egg-rewrite |
| 1106× | log-prod |
| 832× | fma-def |
| 698× | pow-prod-down |
| 478× | pow-prod-up |
| 466× | pow-exp |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 34 |
| 1 | 252 | 34 |
| 2 | 3679 | 6 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 1/2 (/.f64 y x)) x) |
(-.f64 (*.f64 (/.f64 y x) -1/2) x) |
| Outputs |
|---|
(-.f64 x 0) |
(-.f64 (exp.f64 (log1p.f64 x)) 1) |
(-.f64 (/.f64 0 (neg.f64 x)) (/.f64 (*.f64 x x) (neg.f64 x))) |
(*.f64 x 1) |
(*.f64 1 x) |
(*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2)) |
(*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x)) |
(*.f64 (sqrt.f64 x) (sqrt.f64 x)) |
(*.f64 (+.f64 0 (pow.f64 x 3)) (/.f64 1 (fma.f64 x x 0))) |
(*.f64 (neg.f64 (*.f64 x x)) (/.f64 1 (neg.f64 x))) |
(/.f64 1 (/.f64 (fma.f64 x x 0) (+.f64 0 (pow.f64 x 3)))) |
(/.f64 1 (/.f64 (neg.f64 x) (neg.f64 (*.f64 x x)))) |
(/.f64 (+.f64 0 (pow.f64 x 3)) (*.f64 x x)) |
(/.f64 (+.f64 0 (pow.f64 x 3)) (fma.f64 x x 0)) |
(/.f64 (fma.f64 x x 0) x) |
(/.f64 (neg.f64 (*.f64 x x)) (neg.f64 x)) |
(/.f64 (neg.f64 (+.f64 0 (pow.f64 x 3))) (neg.f64 (fma.f64 x x 0))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x x))) (neg.f64 (neg.f64 x))) |
(pow.f64 x 1) |
(pow.f64 (cbrt.f64 x) 3) |
(pow.f64 (*.f64 x x) 1/2) |
(pow.f64 (sqrt.f64 x) 2) |
(pow.f64 (pow.f64 x 3) 1/3) |
(pow.f64 (/.f64 (fma.f64 x x 0) (+.f64 0 (pow.f64 x 3))) -1) |
(pow.f64 (/.f64 (neg.f64 x) (neg.f64 (*.f64 x x))) -1) |
(sqrt.f64 (*.f64 x x)) |
(log.f64 (exp.f64 x)) |
(log.f64 (+.f64 1 (expm1.f64 x))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) 1)) |
(log.f64 (*.f64 1 (+.f64 1 (expm1.f64 x)))) |
(log.f64 (/.f64 (exp.f64 x) 1)) |
(log.f64 (/.f64 (+.f64 1 (expm1.f64 x)) 1)) |
(cbrt.f64 (pow.f64 x 3)) |
x |
(expm1.f64 (log1p.f64 x)) |
(hypot.f64 x (sqrt.f64 (*.f64 x 0))) |
(hypot.f64 x (*.f64 0 (sqrt.f64 x))) |
(hypot.f64 (sqrt.f64 (*.f64 x 0)) x) |
(hypot.f64 (*.f64 0 (sqrt.f64 x)) x) |
(exp.f64 (log.f64 x)) |
(exp.f64 (*.f64 (log.f64 x) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 x) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 x)) 3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 x)) 2)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 x)) 1/3)) |
(exp.f64 (*.f64 (*.f64 (log.f64 x) 3) 1/3)) |
(log1p.f64 (expm1.f64 x)) |
(fma.f64 1/2 0 x) |
(fma.f64 y (*.f64 (/.f64 1 x) -1/2) x) |
(fma.f64 y (*.f64 (/.f64 1 x) 1/2) x) |
(fma.f64 x 1 0) |
(fma.f64 0 1/2 x) |
(fma.f64 0 0 x) |
(fma.f64 0 -1/2 x) |
(fma.f64 0 1 x) |
(fma.f64 -1/2 0 x) |
(fma.f64 1 x 0) |
(fma.f64 1 0 x) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) 0) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) 0) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) 0) |
(fma.f64 (*.f64 1/2 y) (/.f64 1 x) x) |
(fma.f64 (*.f64 y -1/2) (/.f64 1 x) x) |
(fma.f64 (/.f64 y (sqrt.f64 x)) (/.f64 -1/2 (sqrt.f64 x)) x) |
(fma.f64 (/.f64 y 1) (/.f64 -1/2 x) x) |
(fma.f64 (/.f64 y (pow.f64 (cbrt.f64 x) 2)) (/.f64 -1/2 (cbrt.f64 x)) x) |
(fma.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (/.f64 y (cbrt.f64 x)) x) |
(fma.f64 (/.f64 1/2 (sqrt.f64 x)) (/.f64 y (sqrt.f64 x)) x) |
(+.f64 0 (neg.f64 x)) |
(+.f64 (neg.f64 x) 0) |
(+.f64 (neg.f64 x) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(+.f64 (neg.f64 x) (+.f64 (neg.f64 x) x)) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (neg.f64 x))) (cbrt.f64 (exp.f64 (neg.f64 x))))) (log.f64 (cbrt.f64 (exp.f64 (neg.f64 x))))) |
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (neg.f64 x)))) (log.f64 (sqrt.f64 (exp.f64 (neg.f64 x))))) |
(*.f64 (neg.f64 x) 1) |
(*.f64 1 (neg.f64 x)) |
(*.f64 (cbrt.f64 (neg.f64 x)) (pow.f64 (cbrt.f64 (neg.f64 x)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (cbrt.f64 (neg.f64 x))) |
(*.f64 (pow.f64 (cbrt.f64 x) 2) (neg.f64 (cbrt.f64 x))) |
(*.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x))) |
(*.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x))) |
(*.f64 (neg.f64 (pow.f64 x 3)) (/.f64 1 (fma.f64 x x 0))) |
(*.f64 (neg.f64 (*.f64 x x)) (/.f64 1 x)) |
(*.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x)) |
(*.f64 -1 x) |
(*.f64 (+.f64 0 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x))) |
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) |
(/.f64 1 (/.f64 (fma.f64 x x 0) (neg.f64 (pow.f64 x 3)))) |
(/.f64 1 (/.f64 x (neg.f64 (*.f64 x x)))) |
(/.f64 (neg.f64 (pow.f64 x 3)) (fma.f64 x x 0)) |
(/.f64 (neg.f64 (*.f64 x x)) x) |
(/.f64 (neg.f64 (neg.f64 (pow.f64 x 3))) (neg.f64 (fma.f64 x x 0))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x x))) (neg.f64 x)) |
(/.f64 (+.f64 0 (pow.f64 (neg.f64 x) 3)) (+.f64 0 (-.f64 (pow.f64 (neg.f64 x) 2) (*.f64 0 (neg.f64 x))))) |
(/.f64 (-.f64 0 (pow.f64 (neg.f64 x) 2)) (neg.f64 (neg.f64 x))) |
(pow.f64 (neg.f64 x) 1) |
(pow.f64 (cbrt.f64 (neg.f64 x)) 3) |
(pow.f64 (pow.f64 (neg.f64 x) 2) 1/2) |
(pow.f64 (pow.f64 (neg.f64 x) 3) 1/3) |
(pow.f64 (sqrt.f64 (neg.f64 x)) 2) |
(pow.f64 (/.f64 (fma.f64 x x 0) (neg.f64 (pow.f64 x 3))) -1) |
(pow.f64 (/.f64 x (neg.f64 (*.f64 x x))) -1) |
(neg.f64 x) |
(sqrt.f64 (pow.f64 (neg.f64 x) 2)) |
(log.f64 (exp.f64 (neg.f64 x))) |
(log.f64 (+.f64 1 (expm1.f64 (neg.f64 x)))) |
(log.f64 (*.f64 (exp.f64 (neg.f64 x)) 1)) |
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 x)))) |
(cbrt.f64 (pow.f64 (neg.f64 x) 3)) |
(expm1.f64 (log1p.f64 (neg.f64 x))) |
(exp.f64 (log.f64 (neg.f64 x))) |
(exp.f64 (*.f64 (log.f64 (neg.f64 x)) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (neg.f64 x)) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (neg.f64 x))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (neg.f64 x))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (neg.f64 x))) 2)) |
(log1p.f64 (expm1.f64 (neg.f64 x))) |
(fma.f64 1/2 0 (neg.f64 x)) |
(fma.f64 y (*.f64 (/.f64 1 x) -1/2) (neg.f64 x)) |
(fma.f64 y (*.f64 (/.f64 1 x) 1/2) (neg.f64 x)) |
(fma.f64 0 1/2 (neg.f64 x)) |
(fma.f64 0 0 (neg.f64 x)) |
(fma.f64 0 -1/2 (neg.f64 x)) |
(fma.f64 0 1 (neg.f64 x)) |
(fma.f64 -1/2 0 (neg.f64 x)) |
(fma.f64 (neg.f64 x) 1 (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (neg.f64 x) 1 (+.f64 (neg.f64 x) x)) |
(fma.f64 1 0 (neg.f64 x)) |
(fma.f64 1 (neg.f64 x) 0) |
(fma.f64 1 (neg.f64 x) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 1 (neg.f64 x) (+.f64 (neg.f64 x) x)) |
(fma.f64 (cbrt.f64 (neg.f64 x)) (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (cbrt.f64 (neg.f64 x)) (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (+.f64 (neg.f64 x) x)) |
(fma.f64 (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (cbrt.f64 (neg.f64 x)) 0) |
(fma.f64 (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (cbrt.f64 (neg.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (cbrt.f64 (neg.f64 x)) (+.f64 (neg.f64 x) x)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (neg.f64 (cbrt.f64 x)) 0) |
(fma.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x)) 0) |
(fma.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x)) (+.f64 (neg.f64 x) x)) |
(fma.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x)) 0) |
(fma.f64 (neg.f64 (pow.f64 x 3)) (/.f64 1 (fma.f64 x x 0)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (neg.f64 (pow.f64 x 3)) (/.f64 1 (fma.f64 x x 0)) (+.f64 (neg.f64 x) x)) |
(fma.f64 (neg.f64 (*.f64 x x)) (/.f64 1 x) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (neg.f64 (*.f64 x x)) (/.f64 1 x) (+.f64 (neg.f64 x) x)) |
(fma.f64 (*.f64 1/2 y) (/.f64 1 x) (neg.f64 x)) |
(fma.f64 (*.f64 y -1/2) (/.f64 1 x) (neg.f64 x)) |
(fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) 0) |
(fma.f64 -1 x 0) |
(fma.f64 (/.f64 y (sqrt.f64 x)) (/.f64 -1/2 (sqrt.f64 x)) (neg.f64 x)) |
(fma.f64 (/.f64 y 1) (/.f64 -1/2 x) (neg.f64 x)) |
(fma.f64 (/.f64 y (pow.f64 (cbrt.f64 x) 2)) (/.f64 -1/2 (cbrt.f64 x)) (neg.f64 x)) |
(fma.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (/.f64 y (cbrt.f64 x)) (neg.f64 x)) |
(fma.f64 (/.f64 1/2 (sqrt.f64 x)) (/.f64 y (sqrt.f64 x)) (neg.f64 x)) |
(fma.f64 (+.f64 0 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (+.f64 0 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x)) (+.f64 (neg.f64 x) x)) |
(fma.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) 0) |
| 1× | egg-herbie |
| 1074× | fma-neg |
| 862× | distribute-lft-neg-in |
| 824× | distribute-rgt-neg-in |
| 822× | times-frac |
| 788× | distribute-rgt-in |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 270 | 730 |
| 1 | 567 | 730 |
| 2 | 2843 | 730 |
| 1× | node limit |
| Inputs |
|---|
x |
(*.f64 1/2 (/.f64 y x)) |
(*.f64 1/2 (/.f64 y x)) |
(*.f64 1/2 (/.f64 y x)) |
x |
x |
(*.f64 -1 x) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 -1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 -1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 -1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 -1 x) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 -1 x) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(-.f64 x 0) |
(-.f64 (exp.f64 (log1p.f64 x)) 1) |
(-.f64 (/.f64 0 (neg.f64 x)) (/.f64 (*.f64 x x) (neg.f64 x))) |
(*.f64 x 1) |
(*.f64 1 x) |
(*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2)) |
(*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x)) |
(*.f64 (sqrt.f64 x) (sqrt.f64 x)) |
(*.f64 (+.f64 0 (pow.f64 x 3)) (/.f64 1 (fma.f64 x x 0))) |
(*.f64 (neg.f64 (*.f64 x x)) (/.f64 1 (neg.f64 x))) |
(/.f64 1 (/.f64 (fma.f64 x x 0) (+.f64 0 (pow.f64 x 3)))) |
(/.f64 1 (/.f64 (neg.f64 x) (neg.f64 (*.f64 x x)))) |
(/.f64 (+.f64 0 (pow.f64 x 3)) (*.f64 x x)) |
(/.f64 (+.f64 0 (pow.f64 x 3)) (fma.f64 x x 0)) |
(/.f64 (fma.f64 x x 0) x) |
(/.f64 (neg.f64 (*.f64 x x)) (neg.f64 x)) |
(/.f64 (neg.f64 (+.f64 0 (pow.f64 x 3))) (neg.f64 (fma.f64 x x 0))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x x))) (neg.f64 (neg.f64 x))) |
(pow.f64 x 1) |
(pow.f64 (cbrt.f64 x) 3) |
(pow.f64 (*.f64 x x) 1/2) |
(pow.f64 (sqrt.f64 x) 2) |
(pow.f64 (pow.f64 x 3) 1/3) |
(pow.f64 (/.f64 (fma.f64 x x 0) (+.f64 0 (pow.f64 x 3))) -1) |
(pow.f64 (/.f64 (neg.f64 x) (neg.f64 (*.f64 x x))) -1) |
(sqrt.f64 (*.f64 x x)) |
(log.f64 (exp.f64 x)) |
(log.f64 (+.f64 1 (expm1.f64 x))) |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) 1)) |
(log.f64 (*.f64 1 (+.f64 1 (expm1.f64 x)))) |
(log.f64 (/.f64 (exp.f64 x) 1)) |
(log.f64 (/.f64 (+.f64 1 (expm1.f64 x)) 1)) |
(cbrt.f64 (pow.f64 x 3)) |
(expm1.f64 (log1p.f64 x)) |
(hypot.f64 x (sqrt.f64 (*.f64 x 0))) |
(hypot.f64 x (*.f64 0 (sqrt.f64 x))) |
(hypot.f64 (sqrt.f64 (*.f64 x 0)) x) |
(hypot.f64 (*.f64 0 (sqrt.f64 x)) x) |
(exp.f64 (log.f64 x)) |
(exp.f64 (*.f64 (log.f64 x) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 x) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 x)) 3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 x)) 2)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 x)) 1/3)) |
(exp.f64 (*.f64 (*.f64 (log.f64 x) 3) 1/3)) |
(log1p.f64 (expm1.f64 x)) |
(fma.f64 1/2 0 x) |
(fma.f64 y (*.f64 (/.f64 1 x) -1/2) x) |
(fma.f64 y (*.f64 (/.f64 1 x) 1/2) x) |
(fma.f64 x 1 0) |
(fma.f64 0 1/2 x) |
(fma.f64 0 0 x) |
(fma.f64 0 -1/2 x) |
(fma.f64 0 1 x) |
(fma.f64 -1/2 0 x) |
(fma.f64 1 x 0) |
(fma.f64 1 0 x) |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) 0) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) 0) |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) 0) |
(fma.f64 (*.f64 1/2 y) (/.f64 1 x) x) |
(fma.f64 (*.f64 y -1/2) (/.f64 1 x) x) |
(fma.f64 (/.f64 y (sqrt.f64 x)) (/.f64 -1/2 (sqrt.f64 x)) x) |
(fma.f64 (/.f64 y 1) (/.f64 -1/2 x) x) |
(fma.f64 (/.f64 y (pow.f64 (cbrt.f64 x) 2)) (/.f64 -1/2 (cbrt.f64 x)) x) |
(fma.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (/.f64 y (cbrt.f64 x)) x) |
(fma.f64 (/.f64 1/2 (sqrt.f64 x)) (/.f64 y (sqrt.f64 x)) x) |
(+.f64 0 (neg.f64 x)) |
(+.f64 (neg.f64 x) 0) |
(+.f64 (neg.f64 x) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(+.f64 (neg.f64 x) (+.f64 (neg.f64 x) x)) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (neg.f64 x))) (cbrt.f64 (exp.f64 (neg.f64 x))))) (log.f64 (cbrt.f64 (exp.f64 (neg.f64 x))))) |
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (neg.f64 x)))) (log.f64 (sqrt.f64 (exp.f64 (neg.f64 x))))) |
(*.f64 (neg.f64 x) 1) |
(*.f64 1 (neg.f64 x)) |
(*.f64 (cbrt.f64 (neg.f64 x)) (pow.f64 (cbrt.f64 (neg.f64 x)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (cbrt.f64 (neg.f64 x))) |
(*.f64 (pow.f64 (cbrt.f64 x) 2) (neg.f64 (cbrt.f64 x))) |
(*.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x))) |
(*.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x))) |
(*.f64 (neg.f64 (pow.f64 x 3)) (/.f64 1 (fma.f64 x x 0))) |
(*.f64 (neg.f64 (*.f64 x x)) (/.f64 1 x)) |
(*.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x)) |
(*.f64 -1 x) |
(*.f64 (+.f64 0 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x))) |
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) |
(/.f64 1 (/.f64 (fma.f64 x x 0) (neg.f64 (pow.f64 x 3)))) |
(/.f64 1 (/.f64 x (neg.f64 (*.f64 x x)))) |
(/.f64 (neg.f64 (pow.f64 x 3)) (fma.f64 x x 0)) |
(/.f64 (neg.f64 (*.f64 x x)) x) |
(/.f64 (neg.f64 (neg.f64 (pow.f64 x 3))) (neg.f64 (fma.f64 x x 0))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x x))) (neg.f64 x)) |
(/.f64 (+.f64 0 (pow.f64 (neg.f64 x) 3)) (+.f64 0 (-.f64 (pow.f64 (neg.f64 x) 2) (*.f64 0 (neg.f64 x))))) |
(/.f64 (-.f64 0 (pow.f64 (neg.f64 x) 2)) (neg.f64 (neg.f64 x))) |
(pow.f64 (neg.f64 x) 1) |
(pow.f64 (cbrt.f64 (neg.f64 x)) 3) |
(pow.f64 (pow.f64 (neg.f64 x) 2) 1/2) |
(pow.f64 (pow.f64 (neg.f64 x) 3) 1/3) |
(pow.f64 (sqrt.f64 (neg.f64 x)) 2) |
(pow.f64 (/.f64 (fma.f64 x x 0) (neg.f64 (pow.f64 x 3))) -1) |
(pow.f64 (/.f64 x (neg.f64 (*.f64 x x))) -1) |
(neg.f64 x) |
(sqrt.f64 (pow.f64 (neg.f64 x) 2)) |
(log.f64 (exp.f64 (neg.f64 x))) |
(log.f64 (+.f64 1 (expm1.f64 (neg.f64 x)))) |
(log.f64 (*.f64 (exp.f64 (neg.f64 x)) 1)) |
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 x)))) |
(cbrt.f64 (pow.f64 (neg.f64 x) 3)) |
(expm1.f64 (log1p.f64 (neg.f64 x))) |
(exp.f64 (log.f64 (neg.f64 x))) |
(exp.f64 (*.f64 (log.f64 (neg.f64 x)) 1)) |
(exp.f64 (*.f64 (*.f64 (log.f64 (neg.f64 x)) 1) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (neg.f64 x))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (neg.f64 x))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (neg.f64 x))) 2)) |
(log1p.f64 (expm1.f64 (neg.f64 x))) |
(fma.f64 1/2 0 (neg.f64 x)) |
(fma.f64 y (*.f64 (/.f64 1 x) -1/2) (neg.f64 x)) |
(fma.f64 y (*.f64 (/.f64 1 x) 1/2) (neg.f64 x)) |
(fma.f64 0 1/2 (neg.f64 x)) |
(fma.f64 0 0 (neg.f64 x)) |
(fma.f64 0 -1/2 (neg.f64 x)) |
(fma.f64 0 1 (neg.f64 x)) |
(fma.f64 -1/2 0 (neg.f64 x)) |
(fma.f64 (neg.f64 x) 1 (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (neg.f64 x) 1 (+.f64 (neg.f64 x) x)) |
(fma.f64 1 0 (neg.f64 x)) |
(fma.f64 1 (neg.f64 x) 0) |
(fma.f64 1 (neg.f64 x) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 1 (neg.f64 x) (+.f64 (neg.f64 x) x)) |
(fma.f64 (cbrt.f64 (neg.f64 x)) (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (cbrt.f64 (neg.f64 x)) (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (+.f64 (neg.f64 x) x)) |
(fma.f64 (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (cbrt.f64 (neg.f64 x)) 0) |
(fma.f64 (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (cbrt.f64 (neg.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (cbrt.f64 (neg.f64 x)) (+.f64 (neg.f64 x) x)) |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (neg.f64 (cbrt.f64 x)) 0) |
(fma.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x)) 0) |
(fma.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x)) (+.f64 (neg.f64 x) x)) |
(fma.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x)) 0) |
(fma.f64 (neg.f64 (pow.f64 x 3)) (/.f64 1 (fma.f64 x x 0)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (neg.f64 (pow.f64 x 3)) (/.f64 1 (fma.f64 x x 0)) (+.f64 (neg.f64 x) x)) |
(fma.f64 (neg.f64 (*.f64 x x)) (/.f64 1 x) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (neg.f64 (*.f64 x x)) (/.f64 1 x) (+.f64 (neg.f64 x) x)) |
(fma.f64 (*.f64 1/2 y) (/.f64 1 x) (neg.f64 x)) |
(fma.f64 (*.f64 y -1/2) (/.f64 1 x) (neg.f64 x)) |
(fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) 0) |
(fma.f64 -1 x 0) |
(fma.f64 (/.f64 y (sqrt.f64 x)) (/.f64 -1/2 (sqrt.f64 x)) (neg.f64 x)) |
(fma.f64 (/.f64 y 1) (/.f64 -1/2 x) (neg.f64 x)) |
(fma.f64 (/.f64 y (pow.f64 (cbrt.f64 x) 2)) (/.f64 -1/2 (cbrt.f64 x)) (neg.f64 x)) |
(fma.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (/.f64 y (cbrt.f64 x)) (neg.f64 x)) |
(fma.f64 (/.f64 1/2 (sqrt.f64 x)) (/.f64 y (sqrt.f64 x)) (neg.f64 x)) |
(fma.f64 (+.f64 0 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
(fma.f64 (+.f64 0 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x)) (+.f64 (neg.f64 x) x)) |
(fma.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) 0) |
| Outputs |
|---|
x |
(*.f64 1/2 (/.f64 y x)) |
(*.f64 1/2 (/.f64 y x)) |
(*.f64 1/2 (/.f64 y x)) |
x |
x |
(*.f64 -1 x) |
x |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(*.f64 -1/2 (/.f64 y x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(*.f64 -1/2 (/.f64 y x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(*.f64 -1/2 (/.f64 y x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(*.f64 -1 x) |
x |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(*.f64 -1 x) |
x |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 -1/2 (/.f64 y x)) (*.f64 -1 x)) |
(*.f64 1/2 (/.f64 y x)) |
(-.f64 x 0) |
x |
(-.f64 (exp.f64 (log1p.f64 x)) 1) |
x |
(-.f64 (/.f64 0 (neg.f64 x)) (/.f64 (*.f64 x x) (neg.f64 x))) |
x |
(*.f64 x 1) |
x |
(*.f64 1 x) |
x |
(*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2)) |
x |
(*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x)) |
x |
(*.f64 (sqrt.f64 x) (sqrt.f64 x)) |
x |
(*.f64 (+.f64 0 (pow.f64 x 3)) (/.f64 1 (fma.f64 x x 0))) |
x |
(*.f64 (neg.f64 (*.f64 x x)) (/.f64 1 (neg.f64 x))) |
x |
(/.f64 1 (/.f64 (fma.f64 x x 0) (+.f64 0 (pow.f64 x 3)))) |
x |
(/.f64 1 (/.f64 (neg.f64 x) (neg.f64 (*.f64 x x)))) |
x |
(/.f64 (+.f64 0 (pow.f64 x 3)) (*.f64 x x)) |
x |
(/.f64 (+.f64 0 (pow.f64 x 3)) (fma.f64 x x 0)) |
x |
(/.f64 (fma.f64 x x 0) x) |
x |
(/.f64 (neg.f64 (*.f64 x x)) (neg.f64 x)) |
x |
(/.f64 (neg.f64 (+.f64 0 (pow.f64 x 3))) (neg.f64 (fma.f64 x x 0))) |
x |
(/.f64 (neg.f64 (neg.f64 (*.f64 x x))) (neg.f64 (neg.f64 x))) |
x |
(pow.f64 x 1) |
x |
(pow.f64 (cbrt.f64 x) 3) |
x |
(pow.f64 (*.f64 x x) 1/2) |
x |
(pow.f64 (sqrt.f64 x) 2) |
x |
(pow.f64 (pow.f64 x 3) 1/3) |
x |
(pow.f64 (/.f64 (fma.f64 x x 0) (+.f64 0 (pow.f64 x 3))) -1) |
x |
(pow.f64 (/.f64 (neg.f64 x) (neg.f64 (*.f64 x x))) -1) |
x |
(sqrt.f64 (*.f64 x x)) |
x |
(log.f64 (exp.f64 x)) |
x |
(log.f64 (+.f64 1 (expm1.f64 x))) |
x |
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) 1)) |
x |
(log.f64 (*.f64 1 (+.f64 1 (expm1.f64 x)))) |
x |
(log.f64 (/.f64 (exp.f64 x) 1)) |
x |
(log.f64 (/.f64 (+.f64 1 (expm1.f64 x)) 1)) |
x |
(cbrt.f64 (pow.f64 x 3)) |
x |
(expm1.f64 (log1p.f64 x)) |
x |
(hypot.f64 x (sqrt.f64 (*.f64 x 0))) |
(hypot.f64 x (sqrt.f64 0)) |
(hypot.f64 x (*.f64 0 (sqrt.f64 x))) |
(hypot.f64 x (sqrt.f64 0)) |
(hypot.f64 (sqrt.f64 (*.f64 x 0)) x) |
(hypot.f64 x (sqrt.f64 0)) |
(hypot.f64 (*.f64 0 (sqrt.f64 x)) x) |
(hypot.f64 x (sqrt.f64 0)) |
(exp.f64 (log.f64 x)) |
x |
(exp.f64 (*.f64 (log.f64 x) 1)) |
x |
(exp.f64 (*.f64 (*.f64 (log.f64 x) 1) 1)) |
x |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 x)) 3)) |
x |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 x)) 2)) |
x |
(exp.f64 (*.f64 (*.f64 3 (log.f64 x)) 1/3)) |
x |
(exp.f64 (*.f64 (*.f64 (log.f64 x) 3) 1/3)) |
x |
(log1p.f64 (expm1.f64 x)) |
x |
(fma.f64 1/2 0 x) |
x |
(fma.f64 y (*.f64 (/.f64 1 x) -1/2) x) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 y (*.f64 (/.f64 1 x) 1/2) x) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 x 1 0) |
x |
(fma.f64 0 1/2 x) |
x |
(fma.f64 0 0 x) |
x |
(fma.f64 0 -1/2 x) |
x |
(fma.f64 0 1 x) |
x |
(fma.f64 -1/2 0 x) |
x |
(fma.f64 1 x 0) |
x |
(fma.f64 1 0 x) |
x |
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) 0) |
x |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) 0) |
x |
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) 0) |
x |
(fma.f64 (*.f64 1/2 y) (/.f64 1 x) x) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 (*.f64 y -1/2) (/.f64 1 x) x) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 (/.f64 y (sqrt.f64 x)) (/.f64 -1/2 (sqrt.f64 x)) x) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 (/.f64 y 1) (/.f64 -1/2 x) x) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 (/.f64 y (pow.f64 (cbrt.f64 x) 2)) (/.f64 -1/2 (cbrt.f64 x)) x) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (/.f64 y (cbrt.f64 x)) x) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 (/.f64 1/2 (sqrt.f64 x)) (/.f64 y (sqrt.f64 x)) x) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 0 (neg.f64 x)) |
x |
(+.f64 (neg.f64 x) 0) |
x |
(+.f64 (neg.f64 x) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
x |
(+.f64 (neg.f64 x) (+.f64 (neg.f64 x) x)) |
x |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (neg.f64 x))) (cbrt.f64 (exp.f64 (neg.f64 x))))) (log.f64 (cbrt.f64 (exp.f64 (neg.f64 x))))) |
x |
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (neg.f64 x)))) (log.f64 (sqrt.f64 (exp.f64 (neg.f64 x))))) |
x |
(*.f64 (neg.f64 x) 1) |
x |
(*.f64 1 (neg.f64 x)) |
x |
(*.f64 (cbrt.f64 (neg.f64 x)) (pow.f64 (cbrt.f64 (neg.f64 x)) 2)) |
x |
(*.f64 (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (cbrt.f64 (neg.f64 x))) |
x |
(*.f64 (pow.f64 (cbrt.f64 x) 2) (neg.f64 (cbrt.f64 x))) |
x |
(*.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x))) |
x |
(*.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x))) |
x |
(*.f64 (neg.f64 (pow.f64 x 3)) (/.f64 1 (fma.f64 x x 0))) |
x |
(*.f64 (neg.f64 (*.f64 x x)) (/.f64 1 x)) |
x |
(*.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x)) |
x |
(*.f64 -1 x) |
x |
(*.f64 (+.f64 0 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x))) |
x |
(*.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) |
x |
(/.f64 1 (/.f64 (fma.f64 x x 0) (neg.f64 (pow.f64 x 3)))) |
x |
(/.f64 1 (/.f64 x (neg.f64 (*.f64 x x)))) |
x |
(/.f64 (neg.f64 (pow.f64 x 3)) (fma.f64 x x 0)) |
x |
(/.f64 (neg.f64 (*.f64 x x)) x) |
x |
(/.f64 (neg.f64 (neg.f64 (pow.f64 x 3))) (neg.f64 (fma.f64 x x 0))) |
x |
(/.f64 (neg.f64 (neg.f64 (*.f64 x x))) (neg.f64 x)) |
x |
(/.f64 (+.f64 0 (pow.f64 (neg.f64 x) 3)) (+.f64 0 (-.f64 (pow.f64 (neg.f64 x) 2) (*.f64 0 (neg.f64 x))))) |
x |
(/.f64 (-.f64 0 (pow.f64 (neg.f64 x) 2)) (neg.f64 (neg.f64 x))) |
x |
(pow.f64 (neg.f64 x) 1) |
x |
(pow.f64 (cbrt.f64 (neg.f64 x)) 3) |
x |
(pow.f64 (pow.f64 (neg.f64 x) 2) 1/2) |
x |
(pow.f64 (pow.f64 (neg.f64 x) 3) 1/3) |
x |
(pow.f64 (sqrt.f64 (neg.f64 x)) 2) |
x |
(pow.f64 (/.f64 (fma.f64 x x 0) (neg.f64 (pow.f64 x 3))) -1) |
x |
(pow.f64 (/.f64 x (neg.f64 (*.f64 x x))) -1) |
x |
(neg.f64 x) |
x |
(sqrt.f64 (pow.f64 (neg.f64 x) 2)) |
x |
(log.f64 (exp.f64 (neg.f64 x))) |
x |
(log.f64 (+.f64 1 (expm1.f64 (neg.f64 x)))) |
x |
(log.f64 (*.f64 (exp.f64 (neg.f64 x)) 1)) |
x |
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 x)))) |
x |
(cbrt.f64 (pow.f64 (neg.f64 x) 3)) |
x |
(expm1.f64 (log1p.f64 (neg.f64 x))) |
x |
(exp.f64 (log.f64 (neg.f64 x))) |
x |
(exp.f64 (*.f64 (log.f64 (neg.f64 x)) 1)) |
x |
(exp.f64 (*.f64 (*.f64 (log.f64 (neg.f64 x)) 1) 1)) |
x |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (neg.f64 x))) 3)) |
x |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (neg.f64 x))) 1/3)) |
x |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (neg.f64 x))) 2)) |
x |
(log1p.f64 (expm1.f64 (neg.f64 x))) |
x |
(fma.f64 1/2 0 (neg.f64 x)) |
x |
(fma.f64 y (*.f64 (/.f64 1 x) -1/2) (neg.f64 x)) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 y (*.f64 (/.f64 1 x) 1/2) (neg.f64 x)) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 0 1/2 (neg.f64 x)) |
x |
(fma.f64 0 0 (neg.f64 x)) |
x |
(fma.f64 0 -1/2 (neg.f64 x)) |
x |
(fma.f64 0 1 (neg.f64 x)) |
x |
(fma.f64 -1/2 0 (neg.f64 x)) |
x |
(fma.f64 (neg.f64 x) 1 (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
x |
(fma.f64 (neg.f64 x) 1 (+.f64 (neg.f64 x) x)) |
x |
(fma.f64 1 0 (neg.f64 x)) |
x |
(fma.f64 1 (neg.f64 x) 0) |
x |
(fma.f64 1 (neg.f64 x) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
x |
(fma.f64 1 (neg.f64 x) (+.f64 (neg.f64 x) x)) |
x |
(fma.f64 (cbrt.f64 (neg.f64 x)) (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
x |
(fma.f64 (cbrt.f64 (neg.f64 x)) (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (+.f64 (neg.f64 x) x)) |
x |
(fma.f64 (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (cbrt.f64 (neg.f64 x)) 0) |
x |
(fma.f64 (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (cbrt.f64 (neg.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
x |
(fma.f64 (pow.f64 (cbrt.f64 (neg.f64 x)) 2) (cbrt.f64 (neg.f64 x)) (+.f64 (neg.f64 x) x)) |
x |
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (neg.f64 (cbrt.f64 x)) 0) |
x |
(fma.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x)) 0) |
x |
(fma.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
x |
(fma.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x)) (+.f64 (neg.f64 x) x)) |
x |
(fma.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x)) 0) |
x |
(fma.f64 (neg.f64 (pow.f64 x 3)) (/.f64 1 (fma.f64 x x 0)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
x |
(fma.f64 (neg.f64 (pow.f64 x 3)) (/.f64 1 (fma.f64 x x 0)) (+.f64 (neg.f64 x) x)) |
x |
(fma.f64 (neg.f64 (*.f64 x x)) (/.f64 1 x) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
x |
(fma.f64 (neg.f64 (*.f64 x x)) (/.f64 1 x) (+.f64 (neg.f64 x) x)) |
x |
(fma.f64 (*.f64 1/2 y) (/.f64 1 x) (neg.f64 x)) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 (*.f64 y -1/2) (/.f64 1 x) (neg.f64 x)) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) 0) |
x |
(fma.f64 -1 x 0) |
x |
(fma.f64 (/.f64 y (sqrt.f64 x)) (/.f64 -1/2 (sqrt.f64 x)) (neg.f64 x)) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 (/.f64 y 1) (/.f64 -1/2 x) (neg.f64 x)) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 (/.f64 y (pow.f64 (cbrt.f64 x) 2)) (/.f64 -1/2 (cbrt.f64 x)) (neg.f64 x)) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 x) 2)) (/.f64 y (cbrt.f64 x)) (neg.f64 x)) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 (/.f64 1/2 (sqrt.f64 x)) (/.f64 y (sqrt.f64 x)) (neg.f64 x)) |
(*.f64 1/2 (/.f64 y x)) |
(fma.f64 (+.f64 0 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x)) |
x |
(fma.f64 (+.f64 0 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x)) (+.f64 (neg.f64 x) x)) |
x |
(fma.f64 (neg.f64 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) 0) |
x |
Compiled 1227 to 603 computations (50.9% saved)
9 alts after pruning (3 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 159 | 2 | 161 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 1 | 1 |
| Total | 159 | 9 | 168 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 65.6% | (hypot.f64 (sqrt.f64 y) x) |
| ✓ | 36.8% | (-.f64 (*.f64 (/.f64 y x) -1/2) x) |
| ✓ | 36.5% | (+.f64 (*.f64 1/2 (/.f64 y x)) x) |
| ▶ | 2.9% | (*.f64 1/2 (/.f64 y x)) |
| ▶ | 3.1% | (*.f64 -1/2 (/.f64 y x)) |
| ✓ | 67.2% | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| ✓ | 30.4% | (sqrt.f64 y) |
| ✓ | 36.8% | (neg.f64 x) |
| 36.4% | x | |
| ✓ | 65.6% | (hypot.f64 (sqrt.f64 y) x) |
| ✓ | 36.8% | (-.f64 (*.f64 (/.f64 y x) -1/2) x) |
| ✓ | 36.5% | (+.f64 (*.f64 1/2 (/.f64 y x)) x) |
| ▶ | 2.9% | (*.f64 1/2 (/.f64 y x)) |
| ▶ | 3.1% | (*.f64 -1/2 (/.f64 y x)) |
| ✓ | 67.2% | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| ✓ | 30.4% | (sqrt.f64 y) |
| ✓ | 36.8% | (neg.f64 x) |
| 36.4% | x |
Compiled 114 to 78 computations (31.6% saved)
Compiled 25 to 10 computations (60% saved)
Compiled 2 to 2 computations (0% saved)
9 alts after pruning (1 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 6 | 6 |
| Total | 0 | 9 | 9 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 65.6% | (hypot.f64 (sqrt.f64 y) x) |
| ✓ | 36.8% | (-.f64 (*.f64 (/.f64 y x) -1/2) x) |
| ✓ | 36.5% | (+.f64 (*.f64 1/2 (/.f64 y x)) x) |
| ✓ | 2.9% | (*.f64 1/2 (/.f64 y x)) |
| ✓ | 3.1% | (*.f64 -1/2 (/.f64 y x)) |
| ✓ | 67.2% | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| ✓ | 30.4% | (sqrt.f64 y) |
| ✓ | 36.8% | (neg.f64 x) |
| 36.4% | x | |
| ✓ | 65.6% | (hypot.f64 (sqrt.f64 y) x) |
| ✓ | 36.8% | (-.f64 (*.f64 (/.f64 y x) -1/2) x) |
| ✓ | 36.5% | (+.f64 (*.f64 1/2 (/.f64 y x)) x) |
| ✓ | 2.9% | (*.f64 1/2 (/.f64 y x)) |
| ✓ | 3.1% | (*.f64 -1/2 (/.f64 y x)) |
| ✓ | 67.2% | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| ✓ | 30.4% | (sqrt.f64 y) |
| ✓ | 36.8% | (neg.f64 x) |
| 36.4% | x |
Compiled 114 to 78 computations (31.6% saved)
Compiled 2 to 2 computations (0% saved)
9 alts after pruning (1 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 8 | 8 |
| Total | 0 | 9 | 9 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 65.6% | (hypot.f64 (sqrt.f64 y) x) |
| ✓ | 36.8% | (-.f64 (*.f64 (/.f64 y x) -1/2) x) |
| ✓ | 36.5% | (+.f64 (*.f64 1/2 (/.f64 y x)) x) |
| ✓ | 2.9% | (*.f64 1/2 (/.f64 y x)) |
| ✓ | 3.1% | (*.f64 -1/2 (/.f64 y x)) |
| ✓ | 67.2% | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| ✓ | 30.4% | (sqrt.f64 y) |
| ✓ | 36.8% | (neg.f64 x) |
| 36.4% | x |
Compiled 98 to 58 computations (40.8% saved)
| Inputs |
|---|
x |
(neg.f64 x) |
(*.f64 -1/2 (/.f64 y x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 1/2 (/.f64 y x)) x) |
(-.f64 (*.f64 (/.f64 y x) -1/2) x) |
(sqrt.f64 y) |
(sqrt.f64 (+.f64 (*.f64 x x) y)) |
(hypot.f64 (sqrt.f64 y) x) |
| Outputs |
|---|
(neg.f64 x) |
(sqrt.f64 (+.f64 (*.f64 x x) y)) |
(+.f64 (*.f64 1/2 (/.f64 y x)) x) |
5 calls:
| 20.0ms | y |
| 15.0ms | x |
| 10.0ms | (+.f64 (*.f64 x x) y) |
| 9.0ms | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| 7.0ms | (*.f64 x x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 3 | x |
| 88.5% | 4 | y |
| 83.6% | 2 | (sqrt.f64 (+.f64 (*.f64 x x) y)) |
| 83.6% | 2 | (+.f64 (*.f64 x x) y) |
| 83.6% | 2 | (*.f64 x x) |
Compiled 67 to 35 computations (47.8% saved)
| Inputs |
|---|
x |
(neg.f64 x) |
(*.f64 -1/2 (/.f64 y x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 1/2 (/.f64 y x)) x) |
(-.f64 (*.f64 (/.f64 y x) -1/2) x) |
(sqrt.f64 y) |
| Outputs |
|---|
(-.f64 (*.f64 (/.f64 y x) -1/2) x) |
(sqrt.f64 y) |
(+.f64 (*.f64 1/2 (/.f64 y x)) x) |
1 calls:
| 17.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 89.5% | 3 | x |
Compiled 34 to 17 computations (50% saved)
| Inputs |
|---|
x |
(neg.f64 x) |
(*.f64 -1/2 (/.f64 y x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 1/2 (/.f64 y x)) x) |
(-.f64 (*.f64 (/.f64 y x) -1/2) x) |
| Outputs |
|---|
(-.f64 (*.f64 (/.f64 y x) -1/2) x) |
(+.f64 (*.f64 1/2 (/.f64 y x)) x) |
2 calls:
| 38.0ms | y |
| 15.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 47.8% | 10 | y |
| 72.3% | 2 | x |
Compiled 35 to 18 computations (48.6% saved)
| Inputs |
|---|
x |
(neg.f64 x) |
(*.f64 -1/2 (/.f64 y x)) |
(*.f64 1/2 (/.f64 y x)) |
(+.f64 (*.f64 1/2 (/.f64 y x)) x) |
| Outputs |
|---|
(neg.f64 x) |
(+.f64 (*.f64 1/2 (/.f64 y x)) x) |
1 calls:
| 8.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 72.2% | 2 | x |
Compiled 25 to 13 computations (48% saved)
| Inputs |
|---|
x |
(neg.f64 x) |
(*.f64 -1/2 (/.f64 y x)) |
(*.f64 1/2 (/.f64 y x)) |
| Outputs |
|---|
(neg.f64 x) |
x |
1 calls:
| 7.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 71.9% | 2 | x |
Compiled 18 to 10 computations (44.4% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
x |
| Outputs |
|---|
x |
1 calls:
| 2.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 36.4% | 1 | x |
Compiled 6 to 4 computations (33.3% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | predicate-same |
| Time | Left | Right |
|---|---|---|
| 9.0ms | 4.1227903985809586e+95 | 1.3015683111060222e+96 |
| 3.0ms | -1.2300676269987697e+157 | -1.437636102272701e+152 |
| 11.0ms | 112× | body | 256 | valid |
| 0.0ms | 6× | body | 256 | invalid |
Compiled 136 to 94 computations (30.9% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 19.0ms | 1.6437158546239289e-111 | 5.924337556780571e-109 |
| 17.0ms | -1.645115217269113e-97 | -4.39086731904905e-105 |
| 26.0ms | 272× | body | 256 | valid |
| 7.0ms | 94× | body | 256 | invalid |
Compiled 268 to 196 computations (26.9% saved)
| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 24.0ms | -6.67186404332637e-301 | 1.2474105822375685e-293 |
| 16.0ms | 176× | body | 256 | valid |
| 6.0ms | 91× | body | 256 | invalid |
Compiled 233 to 163 computations (30% saved)
| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 25.0ms | -6.67186404332637e-301 | 1.2474105822375685e-293 |
| 16.0ms | 176× | body | 256 | valid |
| 7.0ms | 100× | body | 256 | invalid |
Compiled 178 to 130 computations (27% saved)
| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 24.0ms | -6.67186404332637e-301 | 1.2474105822375685e-293 |
| 16.0ms | 176× | body | 256 | valid |
| 6.0ms | 98× | body | 256 | invalid |
Compiled 112 to 86 computations (23.2% saved)
| 1× | egg-herbie |
| 8× | +-commutative |
| 6× | *-commutative |
| 4× | sub-neg |
| 2× | neg-mul-1 |
| 2× | neg-sub0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 216 |
| 1 | 46 | 216 |
| 2 | 49 | 216 |
| 3 | 50 | 216 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(if (<=.f64 x -40000000000000001477901827522329061639236719319370753807691114208602174637388878388866052438821633309786047014748930669257348013398293616684184769793097728) (neg.f64 x) (if (<=.f64 x 1299999999999999981820380598173312042497666976842508447823435801464428615345901343127665394057216) (sqrt.f64 (+.f64 (*.f64 x x) y)) (+.f64 (*.f64 1/2 (/.f64 y x)) x))) |
(if (<=.f64 x -2048904322212513/78804012392788958424558080200287227610159478540930893335896586808491443542994421222828532509769831281613255980613632) (-.f64 (*.f64 (/.f64 y x) -1/2) x) (if (<=.f64 x 6134599390373507/10576895500643977583230644928524336637254474927428499508554380724390492659780981533203027367035444557561459392400373732868096) (sqrt.f64 y) (+.f64 (*.f64 1/2 (/.f64 y x)) x))) |
(if (<=.f64 x -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (-.f64 (*.f64 (/.f64 y x) -1/2) x) (+.f64 (*.f64 1/2 (/.f64 y x)) x)) |
(if (<=.f64 x -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (neg.f64 x) (+.f64 (*.f64 1/2 (/.f64 y x)) x)) |
(if (<=.f64 x -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (neg.f64 x) x) |
x |
| Outputs |
|---|
(if (<=.f64 x -40000000000000001477901827522329061639236719319370753807691114208602174637388878388866052438821633309786047014748930669257348013398293616684184769793097728) (neg.f64 x) (if (<=.f64 x 1299999999999999981820380598173312042497666976842508447823435801464428615345901343127665394057216) (sqrt.f64 (+.f64 (*.f64 x x) y)) (+.f64 (*.f64 1/2 (/.f64 y x)) x))) |
(if (<=.f64 x -40000000000000001477901827522329061639236719319370753807691114208602174637388878388866052438821633309786047014748930669257348013398293616684184769793097728) (neg.f64 x) (if (<=.f64 x 1299999999999999981820380598173312042497666976842508447823435801464428615345901343127665394057216) (sqrt.f64 (+.f64 (*.f64 x x) y)) (+.f64 x (*.f64 1/2 (/.f64 y x))))) |
(if (<=.f64 x -2048904322212513/78804012392788958424558080200287227610159478540930893335896586808491443542994421222828532509769831281613255980613632) (-.f64 (*.f64 (/.f64 y x) -1/2) x) (if (<=.f64 x 6134599390373507/10576895500643977583230644928524336637254474927428499508554380724390492659780981533203027367035444557561459392400373732868096) (sqrt.f64 y) (+.f64 (*.f64 1/2 (/.f64 y x)) x))) |
(if (<=.f64 x -2048904322212513/78804012392788958424558080200287227610159478540930893335896586808491443542994421222828532509769831281613255980613632) (-.f64 (*.f64 (/.f64 y x) -1/2) x) (if (<=.f64 x 6134599390373507/10576895500643977583230644928524336637254474927428499508554380724390492659780981533203027367035444557561459392400373732868096) (sqrt.f64 y) (+.f64 x (*.f64 1/2 (/.f64 y x))))) |
(if (<=.f64 x -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (-.f64 (*.f64 (/.f64 y x) -1/2) x) (+.f64 (*.f64 1/2 (/.f64 y x)) x)) |
(if (<=.f64 x -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (-.f64 (*.f64 (/.f64 y x) -1/2) x) (+.f64 x (*.f64 1/2 (/.f64 y x)))) |
(if (<=.f64 x -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (neg.f64 x) (+.f64 (*.f64 1/2 (/.f64 y x)) x)) |
(if (<=.f64 x -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (neg.f64 x) (+.f64 x (*.f64 1/2 (/.f64 y x)))) |
(if (<=.f64 x -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (neg.f64 x) x) |
x |
Compiled 98 to 62 computations (36.7% saved)
| 1528× | times-frac |
| 1528× | times-frac |
| 1390× | fma-neg |
| 1390× | fma-neg |
| 1162× | associate-/l* |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 117 | 1280 |
| 1 | 270 | 1160 |
| 2 | 702 | 1056 |
| 3 | 2399 | 1020 |
| 4 | 7661 | 1020 |
| 0 | 117 | 1280 |
| 1 | 270 | 1160 |
| 2 | 702 | 1056 |
| 3 | 2399 | 1020 |
| 4 | 7661 | 1020 |
| 1× | node limit |
| 1× | node limit |
Compiled 40 to 23 computations (42.5% saved)
Compiled 254 to 142 computations (44.1% saved)
Loading profile data...