
Time bar (total: 10.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)
| 18.0ms | 188× | 0 | valid |
| 13.0ms | 46× | 2 | valid |
| 5.0ms | 26× | 1 | valid |
ival-pow2: 5.0ms (17.3% of total)ival-sub: 4.0ms (13.9% of total)adjust: 4.0ms (13.9% of total)ival-div: 4.0ms (13.9% of total)ival-mult: 4.0ms (13.9% of total)ival-sqrt: 2.0ms (6.9% of total)ival-add: 2.0ms (6.9% of total)ival-atan: 2.0ms (6.9% of total)ival-pi: 1.0ms (3.5% 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 |
|---|---|---|---|---|---|
| 152 | 0 | - | 1 | (1.9728580523625408e-162 -6.172598043023924e-246 -9.277620746559109e-208) | (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64)))) |
| 33 | 1 | (-6.888142707201688e+152 2.1484579815034078e-85 -7.638800617166025e+49) | 0 | - | (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))))) |
| 13 | 0 | - | 1 | (-6.888142707201688e+152 2.1484579815034078e-85 -7.638800617166025e+49) | (*.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 | (-9.544895782322444e+41 -2.709948349021797e-273 -2.4388010393143423e-273) | (*.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 | 147 | 0 |
| ↳ | (pow.f64 B #s(literal 2 binary64)) | overflow | 67 | |
| ↳ | (pow.f64 (-.f64 A C) #s(literal 2 binary64)) | overflow | 105 | |
| ↳ | (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))) | overflow | 147 | |
-.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 | 34 | 0 |
*.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*u | 12 | 0 |
sqrt.f64 | (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64)))) | uflow-rescue | 4 | 0 |
| ↳ | (pow.f64 B #s(literal 2 binary64)) | underflow | 65 | |
| ↳ | (pow.f64 (-.f64 A C) #s(literal 2 binary64)) | underflow | 13 | |
| ↳ | (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))) | underflow | 4 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 129 | 0 |
| - | 45 | 82 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 129 | 0 | 0 |
| - | 45 | 0 | 82 |
| number | freq |
|---|---|
| 0 | 82 |
| 1 | 151 |
| 2 | 23 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 2.0s | 16 740× | 0 | valid |
| 1.3s | 3 960× | 2 | valid |
| 550.0ms | 2 340× | 1 | valid |
Compiled 19 845 to 3 600 computations (81.9% saved)
ival-pow2: 483.0ms (18% of total)ival-div: 392.0ms (14.6% of total)ival-sub: 391.0ms (14.6% of total)ival-mult: 351.0ms (13.1% of total)adjust: 330.0ms (12.3% of total)ival-sqrt: 231.0ms (8.6% of total)ival-atan: 222.0ms (8.3% of total)ival-add: 143.0ms (5.3% of total)ival-pi: 80.0ms (3% of total)exact: 30.0ms (1.1% of total)ival-true: 17.0ms (0.6% of total)ival-assert: 8.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 |
|---|---|---|
| 55.7% | (*.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...