
Time bar (total: 8.1s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 24 to 20 computations (16.7% saved)
| 23.0ms | 260× | 0 | valid |
ival-pow2: 4.0ms (23.7% of total)ival-add: 3.0ms (17.7% of total)ival-mult: 3.0ms (17.7% of total)ival-div: 2.0ms (11.8% of total)ival-fabs: 2.0ms (11.8% of total)ival-sqrt: 2.0ms (11.8% of total)ival-sub: 1.0ms (5.9% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 147 | 0 | - | 1 | (-7.28151250474085e-170 8.371469555463784e-162 -1.5200888070473089e-198) | (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))) |
| 0 | 0 | - | 0 | - | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))))) |
| 0 | 0 | - | 0 | - | q |
| 0 | 0 | - | 0 | - | (-.f64 p r) |
| 0 | 0 | - | 0 | - | (pow.f64 q #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary64) |
| 0 | 0 | - | 0 | - | (pow.f64 (-.f64 p r) #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | (fabs.f64 p) |
| 0 | 0 | - | 0 | - | (+.f64 (fabs.f64 p) (fabs.f64 r)) |
| 0 | 0 | - | 0 | - | (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))))) |
| 0 | 0 | - | 0 | - | #s(literal 4 binary64) |
| 0 | 0 | - | 0 | - | p |
| 0 | 0 | - | 0 | - | (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))) |
| 0 | 0 | - | 0 | - | (fabs.f64 r) |
| 0 | 0 | - | 0 | - | #s(literal 2 binary64) |
| 0 | 0 | - | 0 | - | r |
| 0 | 0 | - | 0 | - | (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))) |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
sqrt.f64 | (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))) | oflow-rescue | 138 | 0 |
| ↳ | (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))) | overflow | 138 | |
| ↳ | (pow.f64 q #s(literal 2 binary64)) | overflow | 54 | |
| ↳ | (pow.f64 (-.f64 p r) #s(literal 2 binary64)) | overflow | 103 | |
| ↳ | (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))) | overflow | 54 | |
sqrt.f64 | (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))) | uflow-rescue | 8 | 0 |
| ↳ | (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))) | underflow | 8 | |
| ↳ | (pow.f64 q #s(literal 2 binary64)) | underflow | 70 | |
| ↳ | (pow.f64 (-.f64 p r) #s(literal 2 binary64)) | underflow | 14 | |
| ↳ | (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))) | underflow | 70 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 146 | 1 |
| - | 0 | 109 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 146 | 0 | 1 |
| - | 0 | 0 | 109 |
| number | freq |
|---|---|
| 0 | 110 |
| 1 | 146 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 2.4s | 23 040× | 0 | valid |
Compiled 14 265 to 3 420 computations (76% saved)
ival-pow2: 403.0ms (26% of total)ival-add: 278.0ms (17.9% of total)ival-mult: 245.0ms (15.8% of total)ival-fabs: 184.0ms (11.9% of total)ival-sqrt: 142.0ms (9.2% of total)ival-div: 138.0ms (8.9% of total)ival-sub: 104.0ms (6.7% of total)exact: 30.0ms (1.9% of total)ival-true: 17.0ms (1.1% of total)ival-assert: 9.0ms (0.6% of total)| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 69 | 187 |
| 1 | 195 | 184 |
| 2 | 539 | 180 |
| 3 | 1521 | 180 |
| 4 | 3359 | 180 |
| 5 | 5159 | 180 |
| 6 | 7226 | 180 |
| 0 | 18 | 20 |
| 0 | 31 | 20 |
| 1 | 50 | 20 |
| 2 | 85 | 20 |
| 3 | 155 | 20 |
| 4 | 282 | 20 |
| 5 | 664 | 20 |
| 6 | 1312 | 20 |
| 7 | 2509 | 20 |
| 8 | 3098 | 20 |
| 9 | 3505 | 20 |
| 10 | 3560 | 20 |
| 11 | 3560 | 20 |
| 12 | 3597 | 20 |
| 13 | 3597 | 20 |
| 14 | 3599 | 20 |
| 0 | 3599 | 19 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))))) |
| Outputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))))) |
(*.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 q q) #s(literal 4 binary64) (pow.f64 (-.f64 p r) #s(literal 2 binary64)))) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64)) |
(abs q)
(sort p r)
Compiled 22 to 18 computations (18.2% saved)
Compiled 0 to 3 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| 47.3% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))))) |
Compiled 44 to 36 computations (18.2% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 22 |
| 1 | 28 | 22 |
| 2 | 32 | 22 |
| 3 | 34 | 22 |
| 4 | 35 | 22 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))))) |
| Outputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))))) |
(*.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 q #s(literal 2 binary64)) #s(literal 4 binary64)) (pow.f64 (-.f64 p r) #s(literal 2 binary64)))) (+.f64 (fabs.f64 r) (fabs.f64 p))) (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))) |
| 1× | fuel |
Compiled 22 to 18 computations (18.2% saved)
(sort p r)
(abs q)
Compiled 264 to 216 computations (18.2% saved)
Loading profile data...