
Time bar (total: 4.9s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 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 16 to 13 computations (18.8% saved)
| 16.0ms | 260× | 0 | valid |
ival-mult: 5.0ms (49.4% of total)ival-div: 2.0ms (19.8% of total)ival-add: 2.0ms (19.8% of total)ival-sqrt: 2.0ms (19.8% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 149 | 0 | - | 1 | (3.000584168104108e-160 -3.855788564816524e-219 9.428323059324785e-193) | (sqrt.f64 (/.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) #s(literal 3 binary64))) |
| 1 | 0 | - | 0 | - | (/.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) #s(literal 3 binary64)) |
| 0 | 0 | - | 0 | - | #s(literal 3 binary64) |
| 0 | 0 | - | 0 | - | z |
| 0 | 0 | - | 0 | - | (*.f64 x x) |
| 0 | 0 | - | 0 | - | (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) |
| 0 | 0 | - | 0 | - | (+.f64 (*.f64 x x) (*.f64 y y)) |
| 0 | 0 | - | 0 | - | (*.f64 z z) |
| 0 | 0 | - | 0 | - | y |
| 0 | 0 | - | 0 | - | (*.f64 y y) |
| 0 | 0 | - | 0 | - | x |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
sqrt.f64 | (sqrt.f64 (/.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) #s(literal 3 binary64))) | oflow-rescue | 142 | 0 |
| ↳ | (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) | overflow | 143 | |
| ↳ | (*.f64 y y) | overflow | 64 | |
| ↳ | (*.f64 x x) | overflow | 65 | |
| ↳ | (*.f64 z z) | overflow | 57 | |
| ↳ | (+.f64 (*.f64 x x) (*.f64 y y)) | overflow | 109 | |
| ↳ | (/.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) #s(literal 3 binary64)) | overflow | 142 | |
sqrt.f64 | (sqrt.f64 (/.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) #s(literal 3 binary64))) | uflow-rescue | 6 | 0 |
| ↳ | (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) | underflow | 6 | |
| ↳ | (*.f64 y y) | underflow | 61 | |
| ↳ | (*.f64 x x) | underflow | 55 | |
| ↳ | (*.f64 z z) | underflow | 65 | |
| ↳ | (+.f64 (*.f64 x x) (*.f64 y y)) | underflow | 18 | |
| ↳ | (/.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) #s(literal 3 binary64)) | underflow | 6 | |
/.f64 | (/.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) #s(literal 3 binary64)) | o/n | 1 | 0 |
| ↳ | (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) | overflow | 143 | |
| ↳ | (*.f64 y y) | overflow | 64 | |
| ↳ | (*.f64 x x) | overflow | 65 | |
| ↳ | (+.f64 (*.f64 x x) (*.f64 y y)) | overflow | 109 | |
| ↳ | (*.f64 z z) | overflow | 57 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 149 | 1 |
| - | 0 | 106 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 149 | 0 | 1 |
| - | 0 | 0 | 106 |
| number | freq |
|---|---|
| 0 | 107 |
| 1 | 149 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 1.6s | 23 040× | 0 | valid |
Compiled 8 640 to 2 160 computations (75% saved)
ival-mult: 429.0ms (45.1% of total)ival-add: 187.0ms (19.6% of total)ival-sqrt: 152.0ms (16% of total)ival-div: 141.0ms (14.8% of total)ival-true: 20.0ms (2.1% of total)exact: 14.0ms (1.5% of total)ival-assert: 9.0ms (0.9% of total)| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 129 |
| 1 | 76 | 129 |
| 2 | 155 | 129 |
| 3 | 321 | 129 |
| 4 | 583 | 129 |
| 5 | 941 | 129 |
| 6 | 1271 | 129 |
| 7 | 1286 | 129 |
| 0 | 11 | 14 |
| 0 | 18 | 14 |
| 1 | 22 | 14 |
| 2 | 29 | 14 |
| 3 | 31 | 14 |
| 0 | 31 | 12 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(sqrt.f64 (/.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) #s(literal 3 binary64))) |
| Outputs |
|---|
(sqrt.f64 (/.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) #s(literal 3 binary64))) |
(sqrt.f64 (/.f64 (fma.f64 z z (fma.f64 y y (*.f64 x x))) #s(literal 3 binary64))) |
(abs z)
(abs y)
(abs x)
(sort x y z)
Compiled 14 to 11 computations (21.4% saved)
Compiled 0 to 3 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| 45.6% | (sqrt.f64 (/.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) #s(literal 3 binary64))) |
Compiled 28 to 22 computations (21.4% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 14 |
| 1 | 13 | 14 |
| 1× | saturated |
| Inputs |
|---|
(sqrt.f64 (/.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) #s(literal 3 binary64))) |
| Outputs |
|---|
(sqrt.f64 (/.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)) #s(literal 3 binary64))) |
(sqrt.f64 (/.f64 (+.f64 (*.f64 z z) (+.f64 (*.f64 y y) (*.f64 x x))) #s(literal 3 binary64))) |
| 1× | fuel |
Compiled 14 to 11 computations (21.4% saved)
(sort x y z)
(abs x)
(abs y)
(abs z)
Compiled 344 to 266 computations (22.7% saved)
Loading profile data...