
Time bar (total: 2.3s)
| 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 |
| 50% | 49.9% | 49.9% | 0.1% | 0% | 0% | 0% | 3 |
| 50% | 49.9% | 49.9% | 0.1% | 0% | 0% | 0% | 4 |
| 50% | 49.9% | 49.9% | 0.1% | 0% | 0% | 0% | 5 |
| 75% | 74.9% | 25% | 0.1% | 0% | 0% | 0% | 6 |
| 75% | 74.9% | 25% | 0.1% | 0% | 0% | 0% | 7 |
| 75% | 74.9% | 25% | 0.1% | 0% | 0% | 0% | 8 |
| 87.5% | 87.4% | 12.5% | 0.1% | 0% | 0% | 0% | 9 |
| 87.5% | 87.4% | 12.5% | 0.1% | 0% | 0% | 0% | 10 |
| 87.5% | 87.4% | 12.5% | 0.1% | 0% | 0% | 0% | 11 |
| 93.8% | 93.6% | 6.2% | 0.1% | 0% | 0% | 0% | 12 |
Compiled 25 to 20 computations (20% saved)
| 19.0ms | 192× | 0 | valid |
| 11.0ms | 32× | 2 | valid |
| 8.0ms | 36× | 1 | valid |
ival-pow2: 6.0ms (19.2% of total)adjust: 5.0ms (16% of total)ival-div: 5.0ms (16% of total)ival-sub: 4.0ms (12.8% of total)ival-mult: 4.0ms (12.8% of total)ival-sqrt: 2.0ms (6.4% of total)ival-atan: 2.0ms (6.4% of total)ival-pi: 1.0ms (3.2% of total)ival-add: 1.0ms (3.2% 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 |
|---|---|---|---|---|---|
| 143 | 0 | - | 0 | - | (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64)))) |
| 40 | 28 | (-1.3750133759054015e+70 8.921672964320205e-222 3.6797475806097426e-211) | 0 | - | (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))))) |
| 17 | 0 | - | 16 | (-3.614255447864282e+107 -1.3471516971214827e-194 2.7868654877793977e-252) | (*.f64 (/.f64 #s(literal 1 binary64) B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64)))))) |
| 1 | 0 | - | 1 | (1.9530985950445054e-306 7.087514631905319e-151 2.3280583458196881e+167) | (*.f64 #s(literal 180 binary64) (/.f64 (atan.f64 (*.f64 (/.f64 #s(literal 1 binary64) B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))))))) (PI.f64))) |
| 0 | 0 | - | 0 | - | A |
| 0 | 0 | - | 0 | - | #s(literal 1 binary64) |
| 0 | 0 | - | 0 | - | C |
| 0 | 0 | - | 0 | - | (-.f64 A C) |
| 0 | 0 | - | 0 | - | (PI.f64) |
| 0 | 0 | - | 0 | - | (pow.f64 B #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))) |
| 0 | 0 | - | 0 | - | (-.f64 C A) |
| 0 | 0 | - | 0 | - | (atan.f64 (*.f64 (/.f64 #s(literal 1 binary64) B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))))))) |
| 0 | 0 | - | 0 | - | #s(literal 180 binary64) |
| 0 | 0 | - | 0 | - | (pow.f64 (-.f64 A C) #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | #s(literal 2 binary64) |
| 0 | 0 | - | 0 | - | (/.f64 (atan.f64 (*.f64 (/.f64 #s(literal 1 binary64) B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))))))) (PI.f64)) |
| 0 | 0 | - | 0 | - | B |
| 0 | 0 | - | 0 | - | (/.f64 #s(literal 1 binary64) B) |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
sqrt.f64 | (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64)))) | oflow-rescue | 140 | 0 |
| ↳ | (pow.f64 B #s(literal 2 binary64)) | overflow | 74 | |
| ↳ | (pow.f64 (-.f64 A C) #s(literal 2 binary64)) | overflow | 99 | |
| ↳ | (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))) | overflow | 140 | |
-.f64 | (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))))) | cancellation | 68 | 0 |
sqrt.f64 | (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64)))) | uflow-rescue | 3 | 0 |
| ↳ | (pow.f64 B #s(literal 2 binary64)) | underflow | 60 | |
| ↳ | (pow.f64 (-.f64 A C) #s(literal 2 binary64)) | underflow | 18 | |
| ↳ | (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))) | underflow | 3 | |
*.f64 | (*.f64 (/.f64 #s(literal 1 binary64) B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64)))))) | n*o | 1 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 126 | 0 |
| - | 48 | 82 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 126 | 0 | 0 |
| - | 48 | 0 | 82 |
| number | freq |
|---|---|
| 0 | 82 |
| 1 | 136 |
| 2 | 38 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 263.0ms | 2 256× | 0 | valid |
| 145.0ms | 384× | 2 | valid |
| 113.0ms | 432× | 1 | valid |
Compiled 5 268 to 936 computations (82.2% saved)
ival-pow2: 70.0ms (19% of total)adjust: 58.0ms (15.8% of total)ival-div: 52.0ms (14.1% of total)ival-sub: 51.0ms (13.9% of total)ival-mult: 45.0ms (12.2% of total)ival-atan: 29.0ms (7.9% of total)ival-sqrt: 28.0ms (7.6% of total)ival-add: 16.0ms (4.4% of total)ival-pi: 10.0ms (2.7% of total)exact: 4.0ms (1.1% of total)ival-true: 2.0ms (0.5% of total)ival-assert: 1.0ms (0.3% of total)| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 79 | 219 |
| 1 | 194 | 195 |
| 2 | 561 | 193 |
| 3 | 1780 | 191 |
| 4 | 5521 | 191 |
| 0 | 19 | 23 |
| 0 | 32 | 23 |
| 1 | 51 | 21 |
| 2 | 94 | 21 |
| 3 | 237 | 21 |
| 4 | 613 | 21 |
| 5 | 1310 | 21 |
| 6 | 2156 | 21 |
| 7 | 3282 | 21 |
| 8 | 4112 | 21 |
| 9 | 4492 | 21 |
| 10 | 4576 | 21 |
| 11 | 4625 | 21 |
| 12 | 4663 | 21 |
| 13 | 4766 | 21 |
| 14 | 4798 | 21 |
| 15 | 4798 | 21 |
| 16 | 4798 | 21 |
| 0 | 4798 | 16 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(*.f64 #s(literal 180 binary64) (/.f64 (atan.f64 (*.f64 (/.f64 #s(literal 1 binary64) B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))))))) (PI.f64))) |
| Outputs |
|---|
(*.f64 #s(literal 180 binary64) (/.f64 (atan.f64 (*.f64 (/.f64 #s(literal 1 binary64) B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))))))) (PI.f64))) |
(*.f64 (/.f64 #s(literal 180 binary64) (PI.f64)) (atan.f64 (/.f64 (-.f64 (-.f64 C (hypot.f64 (-.f64 A C) B)) A) B))) |
Compiled 23 to 19 computations (17.4% saved)
Compiled 0 to 3 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| 57.1% | (*.f64 #s(literal 180 binary64) (/.f64 (atan.f64 (*.f64 (/.f64 #s(literal 1 binary64) B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))))))) (PI.f64))) |
Compiled 46 to 38 computations (17.4% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 23 |
| 1 | 31 | 23 |
| 2 | 41 | 23 |
| 3 | 47 | 23 |
| 4 | 50 | 23 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 #s(literal 180 binary64) (/.f64 (atan.f64 (*.f64 (/.f64 #s(literal 1 binary64) B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))))))) (PI.f64))) |
| Outputs |
|---|
(*.f64 #s(literal 180 binary64) (/.f64 (atan.f64 (*.f64 (/.f64 #s(literal 1 binary64) B) (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))))))) (PI.f64))) |
(*.f64 (/.f64 (atan.f64 (*.f64 (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 B #s(literal 2 binary64)) (pow.f64 (-.f64 A C) #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) B))) (PI.f64)) #s(literal 180 binary64)) |
| 1× | fuel |
Compiled 23 to 19 computations (17.4% saved)
Compiled 92 to 76 computations (17.4% saved)
Loading profile data...