
Time bar (total: 3.3s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 6 |
| 18.8% | 18.7% | 81.1% | 0.2% | 0% | 0% | 0% | 7 |
| 18.8% | 18.7% | 81.1% | 0.2% | 0% | 0% | 0% | 8 |
| 18.8% | 18.7% | 81.1% | 0.2% | 0% | 0% | 0% | 9 |
| 34.4% | 34.3% | 65.5% | 0.2% | 0% | 0% | 0% | 10 |
| 54.7% | 54.6% | 45.2% | 0.2% | 0% | 0% | 0% | 11 |
| 54.7% | 54.6% | 45.2% | 0.2% | 0% | 0% | 0% | 12 |
Compiled 39 to 18 computations (53.8% saved)
| 36.0ms | 112× | 1 | valid |
| 16.0ms | 148× | 0 | valid |
ival-mult: 10.0ms (22.6% of total)ival-hypot: 7.0ms (15.8% of total)adjust: 6.0ms (13.5% of total)ival-cos: 6.0ms (13.5% of total)ival-log: 6.0ms (13.5% of total)ival-atan2: 3.0ms (6.8% of total)ival-exp: 2.0ms (4.5% of total)ival-sub: 1.0ms (2.3% of total)ival-add: 1.0ms (2.3% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 191 | 0 | - | 87 | (-6.615171844674806e+284 1.6186465522303385e-205 3.6653461332719494e-127 -3.608679216152917e+119) | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) |
| 123 | 0 | - | 1 | (2.351923361888045e-276 4.574994083662056e-158 -5.433942827214128e-152 1.6318848930614908e+72) | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 2 | 0 | - | 2 | (3.5273132194234236e+239 -6.623427825420574e-166 2.218699126942712e+249 4.618104155091702e+19) | (*.f64 (atan2.f64 x.im x.re) y.re) |
| 1 | 0 | - | 1 | (1.5837280437753392e+173 -4.889413702213006e-289 1.151653136556583e-147 -1.9284937084586716e+274) | (*.f64 (atan2.f64 x.im x.re) y.im) |
| 0 | 0 | - | 0 | - | (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) |
| 0 | 0 | - | 0 | - | (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) |
| 0 | 0 | - | 0 | - | (atan2.f64 x.im x.re) |
| 0 | 0 | - | 0 | - | (*.f64 x.re x.re) |
| 0 | 0 | - | 0 | - | (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) |
| 0 | 0 | - | 0 | - | x.re |
| 0 | 0 | - | 0 | - | x.im |
| 0 | 0 | - | 0 | - | (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)) |
| 0 | 0 | - | 0 | - | (*.f64 x.im x.im) |
| 0 | 0 | - | 0 | - | (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) |
| 0 | 0 | - | 0 | - | (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) |
| 0 | 0 | - | 0 | - | y.re |
| 0 | 0 | - | 0 | - | y.im |
| 0 | 1 | (-8.623380744623888e-113 -7.525647848301757e+30 5.4883496166555944e-76 1.660869952468753e+308) | 0 | - | (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) |
| 0 | 0 | - | 0 | - | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
sqrt.f64 | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) | oflow-rescue | 104 | 0 |
| ↳ | (*.f64 x.re x.re) | overflow | 55 | |
| ↳ | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | overflow | 104 | |
| ↳ | (*.f64 x.im x.im) | overflow | 67 | |
cos.f64 | (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) | sensitivity | 104 | 0 |
sqrt.f64 | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) | uflow-rescue | 18 | 0 |
| ↳ | (*.f64 x.re x.re) | underflow | 58 | |
| ↳ | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | underflow | 18 | |
| ↳ | (*.f64 x.im x.im) | underflow | 70 | |
*.f64 | (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) | n*o | 1 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 153 | 0 |
| - | 73 | 30 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 153 | 0 | 0 |
| - | 73 | 0 | 30 |
| number | freq |
|---|---|
| 0 | 30 |
| 1 | 225 |
| 2 | 1 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 857.0ms | 2 280× | 1 | valid |
| 114.0ms | 792× | 0 | valid |
Compiled 6 804 to 936 computations (86.2% saved)
ival-mult: 194.0ms (25.2% of total)adjust: 132.0ms (17.2% of total)ival-hypot: 103.0ms (13.4% of total)ival-log: 99.0ms (12.9% of total)ival-cos: 93.0ms (12.1% of total)ival-atan2: 54.0ms (7% of total)ival-add: 41.0ms (5.3% of total)ival-exp: 29.0ms (3.8% of total)ival-sub: 21.0ms (2.7% of total)ival-true: 2.0ms (0.3% of total)ival-assert: 1.0ms (0.1% of total)| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 136 | 536 |
| 1 | 338 | 518 |
| 2 | 690 | 518 |
| 3 | 1317 | 516 |
| 4 | 2684 | 516 |
| 5 | 4446 | 516 |
| 6 | 6512 | 516 |
| 7 | 7187 | 516 |
| 8 | 7589 | 516 |
| 9 | 7694 | 516 |
| 10 | 7702 | 516 |
| 11 | 7742 | 516 |
| 12 | 7952 | 516 |
| 0 | 19 | 37 |
| 0 | 34 | 37 |
| 1 | 49 | 36 |
| 2 | 78 | 36 |
| 3 | 108 | 36 |
| 4 | 160 | 36 |
| 5 | 218 | 36 |
| 6 | 312 | 36 |
| 7 | 449 | 36 |
| 8 | 604 | 36 |
| 9 | 736 | 36 |
| 10 | 802 | 36 |
| 11 | 815 | 36 |
| 0 | 815 | 25 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) |
| Outputs |
|---|
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) |
(*.f64 (cos.f64 (fma.f64 y.im (log.f64 (hypot.f64 x.im x.re)) (*.f64 (atan2.f64 x.im x.re) y.re))) (/.f64 (pow.f64 (hypot.f64 x.im x.re) y.re) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im x.re)))) |
Compiled 37 to 19 computations (48.6% saved)
Compiled 0 to 4 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| 40.5% | (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) |
Compiled 74 to 38 computations (48.6% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 37 |
| 1 | 31 | 37 |
| 2 | 43 | 37 |
| 3 | 49 | 37 |
| 4 | 53 | 37 |
| 5 | 54 | 37 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) |
| Outputs |
|---|
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) |
(*.f64 (cos.f64 (+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))) (*.f64 y.im (atan2.f64 x.im x.re))))) |
| 1× | fuel |
Compiled 37 to 19 computations (48.6% saved)
Compiled 148 to 76 computations (48.6% saved)
Loading profile data...