
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)
| 18.0ms | 186× | 0 | valid |
| 16.0ms | 50× | 2 | valid |
| 6.0ms | 24× | 1 | valid |
adjust: 6.0ms (18.6% of total)ival-pow2: 6.0ms (18.6% of total)ival-sub: 4.0ms (12.4% of total)ival-div: 4.0ms (12.4% of total)ival-mult: 4.0ms (12.4% of total)ival-sqrt: 2.0ms (6.2% of total)ival-atan: 2.0ms (6.2% of total)ival-pi: 1.0ms (3.1% of total)ival-add: 1.0ms (3.1% 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 |
|---|---|---|---|---|---|
| 162 | 0 | - | 0 | - | (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64)))) |
| 36 | 35 | (-2.1423396400976438e+60 -5.1013348209904464e-207 4.068185290014026e-169) | 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 | - | 18 | (-142699101.70459035 -3.4086217559119804e-268 -6.112473206926125e-211) | (*.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)))))) |
| 3 | 0 | - | 3 | (-2.052557195375138e+191 8.795302911289019e-123 -9.57068920205059e-55) | (*.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 | 159 | 0 |
| ↳ | (pow.f64 B #s(literal 2 binary64)) | overflow | 65 | |
| ↳ | (pow.f64 (-.f64 A C) #s(literal 2 binary64)) | overflow | 118 | |
| ↳ | (+.f64 (pow.f64 (-.f64 A C) #s(literal 2 binary64)) (pow.f64 B #s(literal 2 binary64))) | overflow | 159 | |
-.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 | 71 | 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 | 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 | 3 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 124 | 0 |
| - | 63 | 69 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 124 | 0 | 0 |
| - | 63 | 0 | 69 |
| number | freq |
|---|---|
| 0 | 69 |
| 1 | 141 |
| 2 | 46 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 263.0ms | 2 220× | 0 | valid |
| 217.0ms | 576× | 2 | valid |
| 74.0ms | 276× | 1 | valid |
Compiled 5 268 to 936 computations (82.2% saved)
ival-pow2: 71.0ms (18% of total)adjust: 69.0ms (17.5% of total)ival-div: 56.0ms (14.2% of total)ival-sub: 53.0ms (13.5% of total)ival-mult: 49.0ms (12.5% of total)ival-sqrt: 30.0ms (7.6% of total)ival-atan: 29.0ms (7.4% of total)ival-add: 18.0ms (4.6% of total)ival-pi: 10.0ms (2.5% of total)exact: 4.0ms (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...