
Time bar (total: 3.1s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 25.4% | 74.6% | 0% | 0% | 0% | 0 |
| 0% | 0% | 25.4% | 74.6% | 0% | 0% | 0% | 1 |
| 0% | 0% | 25.4% | 74.6% | 0% | 0% | 0% | 2 |
| 0% | 0% | 25.4% | 74.6% | 0% | 0% | 0% | 3 |
| 0% | 0% | 22.2% | 74.6% | 0% | 3.2% | 0% | 4 |
| 0% | 0% | 20.6% | 74.6% | 0% | 4.8% | 0% | 5 |
| 0% | 0% | 18.3% | 74.6% | 0% | 7.1% | 0% | 6 |
| 0% | 0% | 10.7% | 74.6% | 0% | 14.7% | 0% | 7 |
| 0% | 0% | 9.3% | 74.6% | 0% | 16.1% | 0% | 8 |
| 0% | 0% | 8.2% | 74.6% | 0% | 17.2% | 0% | 9 |
| 0% | 0% | 5.7% | 74.6% | 0% | 19.7% | 0% | 10 |
| 0% | 0% | 5% | 74.6% | 0% | 20.4% | 0% | 11 |
| 0% | 0% | 4.4% | 74.6% | 0% | 21% | 0% | 12 |
Compiled 52 to 27 computations (48.1% saved)
| 279.0ms | 2 015× | 0 | invalid |
| 35.0ms | 260× | 0 | valid |
ival-mult: 80.0ms (32.5% of total)ival-expm1: 37.0ms (15% of total)const: 37.0ms (15% of total)ival-fabs: 24.0ms (9.7% of total)ival-<=: 22.0ms (8.9% of total)ival-div: 13.0ms (5.3% of total)ival-add: 12.0ms (4.9% of total)ival-fmin: 12.0ms (4.9% of total)ival-and: 7.0ms (2.8% of total)adjust: 1.0ms (0.4% of total)ival-assert: 1.0ms (0.4% of total)exact: 1.0ms (0.4% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 240 | 0 | - | 2 | (-6.676254155551127e-21 -6.17811219188531e-98 2.1266022809296194e-103) | (/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))) |
| 146 | 1 | (2.6515379919174613e-20 -2.780935448021818e-278 1.2353177271898281e-304) | 0 | - | (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64)) |
| 110 | 0 | - | 0 | - | (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)) |
| 109 | 3 | (5.154520644334337e-158 2.870559244519465e-69 6.820864355292358e-166) | 0 | - | (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) |
| 0 | 0 | - | 0 | - | (+.f64 a b) |
| 0 | 0 | - | 0 | - | (*.f64 b eps) |
| 0 | 0 | - | 0 | - | (exp.f64 (*.f64 a eps)) |
| 0 | 0 | - | 0 | - | a |
| 0 | 0 | - | 0 | - | #s(literal 1 binary64) |
| 0 | 0 | - | 0 | - | (*.f64 a eps) |
| 0 | 0 | - | 0 | - | (exp.f64 (*.f64 (+.f64 a b) eps)) |
| 0 | 0 | - | 0 | - | eps |
| 0 | 0 | - | 0 | - | (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))) |
| 0 | 0 | - | 0 | - | (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) |
| 0 | 0 | - | 0 | - | (*.f64 (+.f64 a b) eps) |
| 0 | 0 | - | 0 | - | (exp.f64 (*.f64 b eps)) |
| 0 | 0 | - | 0 | - | b |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
/.f64 | (/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))) | u/u | 211 | 0 |
| ↳ | (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) | underflow | 211 | |
| ↳ | (*.f64 (+.f64 a b) eps) | underflow | 109 | |
| ↳ | (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64)) | underflow | 109 | |
| ↳ | (*.f64 b eps) | underflow | 146 | |
| ↳ | (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) | underflow | 144 | |
| ↳ | (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)) | underflow | 146 | |
| ↳ | (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))) | underflow | 238 | |
| ↳ | (*.f64 a eps) | underflow | 144 | |
-.f64 | (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64)) | cancellation | 147 | 0 |
-.f64 | (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) | cancellation | 112 | 0 |
-.f64 | (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)) | cancellation | 110 | 0 |
/.f64 | (/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))) | n/u | 27 | 0 |
| ↳ | (*.f64 b eps) | underflow | 146 | |
| ↳ | (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) | underflow | 144 | |
| ↳ | (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)) | underflow | 146 | |
| ↳ | (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))) | underflow | 238 | |
| ↳ | (*.f64 a eps) | underflow | 144 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 256 | 0 |
| - | 0 | 0 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 256 | 0 | 0 |
| - | 0 | 0 | 0 |
| number | freq |
|---|---|
| 1 | 109 |
| 3 | 90 |
| 4 | 57 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 719.0ms | 6 144× | 0 | valid |
Compiled 3 900 to 864 computations (77.8% saved)
ival-mult: 181.0ms (37.7% of total)ival-exp: 121.0ms (25.2% of total)ival-expm1: 93.0ms (19.4% of total)ival-div: 37.0ms (7.7% of total)ival-add: 35.0ms (7.3% of total)ival-true: 5.0ms (1% of total)exact: 4.0ms (0.8% of total)adjust: 2.0ms (0.4% of total)ival-assert: 2.0ms (0.4% of total)| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 82 | 233 |
| 1 | 250 | 229 |
| 2 | 708 | 227 |
| 3 | 2151 | 224 |
| 4 | 7041 | 224 |
| 0 | 17 | 24 |
| 0 | 30 | 24 |
| 1 | 56 | 24 |
| 2 | 109 | 24 |
| 3 | 176 | 24 |
| 4 | 327 | 24 |
| 5 | 655 | 24 |
| 6 | 1264 | 24 |
| 7 | 3455 | 24 |
| 8 | 6175 | 24 |
| 9 | 7511 | 24 |
| 10 | 7817 | 24 |
| 11 | 7898 | 24 |
| 12 | 7928 | 24 |
| 0 | 8057 | 18 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))) |
| Outputs |
|---|
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))) |
(*.f64 (/.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 (+.f64 b a) eps))) |
(sort a b)
Compiled 24 to 17 computations (29.2% saved)
Compiled 0 to 3 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| 0.0% | (/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))) |
Compiled 48 to 34 computations (29.2% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 24 |
| 1 | 30 | 24 |
| 2 | 36 | 24 |
| 3 | 39 | 24 |
| 4 | 42 | 24 |
| 5 | 47 | 24 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))) |
| Outputs |
|---|
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))) |
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (+.f64 b a) eps)) #s(literal 1 binary64)) eps) (*.f64 (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)))) |
| 1× | fuel |
Compiled 24 to 17 computations (29.2% saved)
(sort a b)
Compiled 206 to 150 computations (27.2% saved)
Loading profile data...