
Time bar (total: 2.7s)
| 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 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 3 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 4 |
Compiled 30 to 21 computations (30% saved)
| 546.0ms | 8 256× | 73 | valid-baseline |
| 497.0ms | 8 256× | 73 | valid-sollya |
| 474.0ms | 8 256× | 73 | valid-rival |
ival-mult: 170.0ms (55.6% of total)ival-add: 67.0ms (21.9% of total)ival-sqrt: 59.0ms (19.3% of total)ival-true: 7.0ms (2.3% of total)ival-assert: 3.0ms (1% of total)ival-mult: 167.0ms (57.3% of total)ival-add: 65.0ms (22.3% of total)ival-sqrt: 54.0ms (18.5% of total)const: 6.0ms (2.1% of total)| 1× | egg-herbie |
| 212× | fmm-def |
| 117× | fma-define |
| 31× | unsub-neg |
| 31× | neg-sub0 |
| 30× | sub-neg |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 42 | 551 |
| 1 | 84 | 507 |
| 2 | 176 | 507 |
| 3 | 393 | 507 |
| 4 | 677 | 507 |
| 5 | 827 | 507 |
| 6 | 843 | 507 |
| 1× | saturated |
| Inputs |
|---|
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 y y)) (*.f64 z z))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 z z))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 (neg.f64 z) (neg.f64 z)))) |
(neg.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 y y)) (*.f64 z z)))) |
(neg.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 z z)))) |
(neg.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 (neg.f64 z) (neg.f64 z))))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 y y) (*.f64 x x)) (*.f64 z z))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 z z) (*.f64 y y)) (*.f64 x x))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 z z)) (*.f64 y y))) |
| Outputs |
|---|
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z))) |
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y)))) |
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z)))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z))) |
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y)))) |
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z)))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 y y)) (*.f64 z z))) |
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y)))) |
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z)))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 z z))) |
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y)))) |
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z)))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 (neg.f64 z) (neg.f64 z)))) |
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y)))) |
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z)))) |
(neg.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 y y)) (*.f64 z z)))) |
(neg.f64 (sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y))))) |
(neg.f64 (sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z))))) |
(neg.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 z z)))) |
(neg.f64 (sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y))))) |
(neg.f64 (sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z))))) |
(neg.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 (neg.f64 z) (neg.f64 z))))) |
(neg.f64 (sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y))))) |
(neg.f64 (sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z))))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 y y) (*.f64 x x)) (*.f64 z z))) |
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y)))) |
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z)))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 z z) (*.f64 y y)) (*.f64 x x))) |
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y)))) |
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z)))) |
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 z z)) (*.f64 y y))) |
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y)))) |
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z)))) |
(abs x)
(abs y)
(abs z)
(sort x y z)
Compiled 15 to 9 computations (40% saved)
Compiled 3 to 3 computations (0% saved)
| Status | Accuracy | Program |
|---|---|---|
| 42.8% | (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z))) |
Compiled 30 to 18 computations (40% saved)
| 1× | egg-herbie |
| 2× | +-commutative |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 53 |
| 1 | 18 | 53 |
| 1× | saturated |
| Inputs |
|---|
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z))) |
| Outputs |
|---|
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z))) |
| 1× | fuel |
Compiled 15 to 9 computations (40% saved)
(sort x y z)
(abs z)
(abs y)
(abs x)
Compiled 352 to 212 computations (39.8% saved)
Loading profile data...