
Time bar (total: 8.7s)
| 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)
| 269.0ms | 2 112× | 0 | invalid |
| 33.0ms | 260× | 0 | valid |
ival-mult: 78.0ms (33% of total)const: 35.0ms (14.8% of total)ival-expm1: 33.0ms (14% of total)ival-fabs: 23.0ms (9.7% of total)ival-<=: 23.0ms (9.7% of total)ival-div: 13.0ms (5.5% of total)ival-add: 11.0ms (4.7% of total)ival-fmin: 11.0ms (4.7% of total)ival-and: 7.0ms (3% of total)ival-assert: 1.0ms (0.4% of total)exact: 1.0ms (0.4% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 235 | 0 | - | 4 | (5.8859123710642245e-92 -1.9239958079254253e-11 1.2294752467873365e-110) | (/.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)))) |
| 131 | 2 | (4.660254700440715e-80 1.7040581452055658e-224 6.979573189647123e-244) | 0 | - | (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64)) |
| 106 | 1 | (3.7169443003312433e-205 -4.314989358213393e-93 6.0865327042051656e-232) | 0 | - | (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)) |
| 93 | 1 | (4.660254700440715e-80 1.7040581452055658e-224 6.979573189647123e-244) | 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 | 215 | 0 |
| ↳ | (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) | underflow | 215 | |
| ↳ | (*.f64 (+.f64 a b) eps) | underflow | 123 | |
| ↳ | (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64)) | underflow | 123 | |
| ↳ | (*.f64 b eps) | underflow | 149 | |
| ↳ | (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) | underflow | 162 | |
| ↳ | (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)) | underflow | 149 | |
| ↳ | (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))) | underflow | 231 | |
| ↳ | (*.f64 a eps) | underflow | 162 | |
-.f64 | (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64)) | cancellation | 133 | 0 |
-.f64 | (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)) | cancellation | 107 | 0 |
-.f64 | (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) | cancellation | 94 | 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 | 16 | 0 |
| ↳ | (*.f64 b eps) | underflow | 149 | |
| ↳ | (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) | underflow | 162 | |
| ↳ | (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)) | underflow | 149 | |
| ↳ | (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))) | underflow | 231 | |
| ↳ | (*.f64 a eps) | underflow | 162 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 256 | 0 |
| - | 0 | 0 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 256 | 0 | 0 |
| - | 0 | 0 | 0 |
| number | freq |
|---|---|
| 1 | 123 |
| 3 | 90 |
| 4 | 43 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 2.5s | 23 040× | 0 | valid |
Compiled 14 625 to 3 240 computations (77.8% saved)
ival-mult: 628.0ms (37.9% of total)ival-exp: 421.0ms (25.4% of total)ival-expm1: 320.0ms (19.3% of total)ival-div: 128.0ms (7.7% of total)ival-add: 118.0ms (7.1% of total)ival-true: 20.0ms (1.2% of total)exact: 14.0ms (0.8% of total)ival-assert: 9.0ms (0.5% 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...