
Time bar (total: 2.3s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 2.1% | 97.9% | 0% | 0% | 0% | 0 |
| 0% | 0% | 2.1% | 97.9% | 0% | 0% | 0% | 1 |
| 0% | 0% | 2.1% | 97.9% | 0% | 0% | 0% | 2 |
| 25% | 0.5% | 1.5% | 97.9% | 0% | 0% | 0% | 3 |
| 37.5% | 0.8% | 1.3% | 97.9% | 0% | 0% | 0% | 4 |
| 56.2% | 1.2% | 0.9% | 97.9% | 0% | 0% | 0% | 5 |
| 65.6% | 1.3% | 0.7% | 97.9% | 0% | 0% | 0% | 6 |
| 76.6% | 1.6% | 0.5% | 97.9% | 0% | 0% | 0% | 7 |
| 82% | 1.7% | 0.4% | 97.9% | 0% | 0% | 0% | 8 |
| 87.9% | 1.8% | 0.2% | 97.9% | 0% | 0% | 0% | 9 |
| 90.8% | 1.9% | 0.2% | 97.9% | 0% | 0% | 0% | 10 |
| 93.8% | 1.9% | 0.1% | 97.9% | 0% | 0% | 0% | 11 |
| 95.4% | 2% | 0.1% | 97.9% | 0% | 0% | 0% | 12 |
Compiled 49 to 37 computations (24.5% saved)
| 36.0ms | 260× | 0 | valid |
ival-mult: 11.0ms (37.1% of total)ival-div: 6.0ms (20.2% of total)ival-exp: 3.0ms (10.1% of total)const: 3.0ms (10.1% of total)ival-pi: 1.0ms (3.4% of total)ival-add: 1.0ms (3.4% of total)ival-and: 1.0ms (3.4% of total)ival-<=: 1.0ms (3.4% of total)exact: 1.0ms (3.4% of total)ival-<: 1.0ms (3.4% of total)ival-neg: 1.0ms (3.4% of total)adjust: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 2 | 1 | (0.010903719812631607 2.3223648071289063) | 2 | (6.652773443249771e-9 1.2609168607013999e-6) | (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s))) |
| 1 | 6 | (1.6259839212632761e-38 1.8861517673940398e-5) | 0 | - | (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r)) |
| 1 | 0 | - | 0 | - | (exp.f32 (/.f32 (neg.f32 r) s)) |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r) |
| 0 | 0 | - | 0 | - | (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) |
| 0 | 0 | - | 0 | - | (PI.f32) |
| 0 | 0 | - | 0 | - | #s(literal 2 binary32) |
| 0 | 4 | (1.08837184178936e-38 4.02207879233174e-5) | 0 | - | (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) |
| 0 | 0 | - | 0 | - | (*.f32 #s(literal 6 binary32) (PI.f32)) |
| 0 | 0 | - | 0 | - | (neg.f32 r) |
| 0 | 0 | - | 0 | - | s |
| 0 | 0 | - | 0 | - | (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)) |
| 0 | 0 | - | 0 | - | (+.f32 (/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r))) |
| 0 | 0 | - | 0 | - | #s(literal 3/4 binary32) |
| 0 | 0 | - | 0 | - | (/.f32 (neg.f32 r) s) |
| 0 | 0 | - | 0 | - | #s(literal 1/4 binary32) |
| 0 | 0 | - | 0 | - | (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) |
| 0 | 4 | (1.08837184178936e-38 4.02207879233174e-5) | 0 | - | (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) |
| 0 | 0 | - | 0 | - | (*.f32 #s(literal 3 binary32) s) |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r) |
| 0 | 0 | - | 0 | - | #s(literal 6 binary32) |
| 0 | 0 | - | 0 | - | r |
| 0 | 0 | - | 0 | - | #s(literal 3 binary32) |
| 0 | 0 | - | 0 | - | (*.f32 #s(literal 2 binary32) (PI.f32)) |
| 0 | 6 | (1.6259839212632761e-38 1.8861517673940398e-5) | 0 | - | (/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)) |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
/.f32 | (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r)) | u/u | 6 | 0 |
| ↳ | (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) | underflow | 228 | |
| ↳ | (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s))) | underflow | 228 | |
| ↳ | (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r) | underflow | 6 | |
*.f32 | (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) | n*u | 4 | 0 |
exp.f32 | (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s))) | sensitivity | 1 | 4 |
exp.f32 | (exp.f32 (/.f32 (neg.f32 r) s)) | sensitivity | 1 | 1 |
/.f32 | (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r)) | u/n | 1 | 0 |
| ↳ | (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) | underflow | 228 | |
| ↳ | (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s))) | underflow | 228 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 1 | 3 |
| - | 9 | 243 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 3 | 0 |
| - | 9 | 1 | 242 |
| number | freq |
|---|---|
| 0 | 246 |
| 1 | 7 |
| 2 | 3 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 387.0ms | 3 072× | 0 | valid |
Compiled 5 676 to 1 224 computations (78.4% saved)
ival-mult: 125.0ms (44.8% of total)ival-div: 69.0ms (24.7% of total)ival-exp: 40.0ms (14.3% of total)ival-neg: 14.0ms (5% of total)ival-add: 11.0ms (3.9% of total)ival-pi: 9.0ms (3.2% of total)exact: 6.0ms (2.2% of total)ival-true: 2.0ms (0.7% of total)adjust: 1.0ms (0.4% of total)ival-assert: 1.0ms (0.4% of total)| 1× | egg-herbie |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 57 | 175 |
| 1 | 192 | 140 |
| 2 | 929 | 102 |
| 3 | 5143 | 102 |
| 0 | 25 | 33 |
| 0 | 43 | 33 |
| 1 | 83 | 28 |
| 2 | 252 | 22 |
| 3 | 889 | 20 |
| 4 | 2448 | 20 |
| 5 | 3159 | 20 |
| 6 | 3515 | 20 |
| 7 | 3918 | 20 |
| 8 | 4320 | 20 |
| 9 | 4332 | 20 |
| 10 | 5241 | 20 |
| 11 | 5436 | 20 |
| 12 | 5449 | 20 |
| 13 | 5451 | 20 |
| 14 | 5529 | 20 |
| 15 | 5529 | 20 |
| 0 | 8331 | 20 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(+.f32 (/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r))) |
| Outputs |
|---|
(+.f32 (/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r))) |
(*.f32 (+.f32 (pow.f32 (exp.f32 r) (/.f32 #s(literal -1/3 binary32) s)) (exp.f32 (/.f32 (neg.f32 r) s))) (/.f32 #s(literal 1/8 binary32) (*.f32 (*.f32 s r) (PI.f32)))) |
Compiled 33 to 25 computations (24.2% saved)
Compiled 0 to 2 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| 99.5% | (+.f32 (/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r))) |
Compiled 66 to 50 computations (24.2% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 33 |
| 1 | 43 | 33 |
| 2 | 53 | 33 |
| 3 | 67 | 33 |
| 4 | 75 | 33 |
| 5 | 79 | 33 |
| 6 | 80 | 33 |
| 1× | saturated |
| Inputs |
|---|
(+.f32 (/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r))) |
| Outputs |
|---|
(+.f32 (/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r))) |
(+.f32 (/.f32 (*.f32 (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s))) #s(literal 3/4 binary32)) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 (exp.f32 (/.f32 (neg.f32 r) s)) #s(literal 1/4 binary32)) (*.f32 (*.f32 (*.f32 (PI.f32) #s(literal 2 binary32)) s) r))) |
| 1× | fuel |
Compiled 33 to 25 computations (24.2% saved)
Compiled 132 to 100 computations (24.2% saved)
Loading profile data...