
Time bar (total: 3.0s)
| 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 | 178× | 0 | valid |
| 14.0ms | 48× | 2 | valid |
| 7.0ms | 34× | 1 | valid |
ival-div: 5.0ms (15.9% of total)ival-pow2: 5.0ms (15.9% of total)ival-sub: 4.0ms (12.7% of total)adjust: 4.0ms (12.7% of total)ival-mult: 4.0ms (12.7% of total)ival-sqrt: 3.0ms (9.6% of total)ival-add: 2.0ms (6.4% of total)ival-atan: 2.0ms (6.4% of total)ival-pi: 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 |
|---|---|---|---|---|---|
| 145 | 0 | - | 1 | (-4.2698274544589675e-158 -1.8925461875785377e-216 1.7937366852263304e-220) | (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64)))) |
| 44 | 0 | - | 0 | - | (-.f64 (-.f64 C A) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))))) |
| 18 | 0 | - | 1 | (-2.4959844868153996e+89 -5.623359795267576e-116 1.7917031598391373e+42) | (*.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)))))) |
| 2 | 0 | - | 2 | (-2.303894723837893e+113 -5.810918209158594e-204 -4.3627212644314193e-153) | (*.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 | 59 | |
| ↳ | (pow.f64 (-.f64 A C) #s(literal 2 binary64)) | overflow | 106 | |
| ↳ | (+.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 | 44 | 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 | 17 | 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 | 69 | |
| ↳ | (pow.f64 (-.f64 A C) #s(literal 2 binary64)) | underflow | 14 | |
| ↳ | (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))) | underflow | 4 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 128 | 0 |
| - | 50 | 78 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 128 | 0 | 0 |
| - | 50 | 0 | 78 |
| number | freq |
|---|---|
| 0 | 78 |
| 1 | 151 |
| 2 | 27 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 490.0ms | 4 200× | 0 | valid |
| 388.0ms | 1 152× | 2 | valid |
| 186.0ms | 792× | 1 | valid |
Compiled 5 292 to 960 computations (81.9% saved)
ival-pow2: 135.0ms (18.1% of total)ival-div: 109.0ms (14.6% of total)ival-sub: 106.0ms (14.2% of total)adjust: 99.0ms (13.3% of total)ival-mult: 98.0ms (13.2% of total)ival-sqrt: 63.0ms (8.5% of total)ival-atan: 59.0ms (7.9% of total)ival-add: 39.0ms (5.2% of total)ival-pi: 22.0ms (3% of total)exact: 8.0ms (1.1% of total)ival-true: 5.0ms (0.7% of total)ival-assert: 2.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.4% | (*.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...