
Time bar (total: 3.1s)
| 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)
| 28.0ms | 96× | 1 | valid |
| 17.0ms | 164× | 0 | valid |
ival-mult: 10.0ms (26.3% of total)ival-hypot: 6.0ms (15.8% of total)ival-log: 6.0ms (15.8% of total)ival-cos: 4.0ms (10.5% of total)adjust: 3.0ms (7.9% of total)ival-atan2: 3.0ms (7.9% of total)ival-exp: 2.0ms (5.3% of total)ival-sub: 1.0ms (2.6% of total)ival-add: 1.0ms (2.6% 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 | - | 92 | (6.564892874046801e-222 1.9345666618837602e+160 -3.7262354374411694e+148 -6.380069713291529e-120) | (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))) |
| 128 | 0 | - | 1 | (2.854785528775011e-299 4.846034043969025e-162 -6.6208621775243384e+277 -511685.88209193025) | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 9 | 0 | - | 9 | (3.5773599639272613e+121 1.6557775587691413e-289 7.90829145570029e+198 3.5443006231167585e+75) | (*.f64 (atan2.f64 x.im x.re) y.re) |
| 7 | 0 | - | 7 | (4.980670506530844e+256 1.8984922930095605e-61 -8.128315206701018e+282 7.698150341351166e+197) | (*.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 | (-2.398584913020677e-9 -6.691775858951963e-130 -1.3108356330425147e+189 2.3638679837382587e+307) | 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 | 119 | 0 |
| ↳ | (*.f64 x.re x.re) | overflow | 63 | |
| ↳ | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | overflow | 119 | |
| ↳ | (*.f64 x.im x.im) | overflow | 71 | |
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 | 99 | 0 |
sqrt.f64 | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) | uflow-rescue | 8 | 0 |
| ↳ | (*.f64 x.re x.re) | underflow | 67 | |
| ↳ | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | underflow | 8 | |
| ↳ | (*.f64 x.im x.im) | underflow | 59 | |
*.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 - | |
|---|---|---|
| + | 155 | 0 |
| - | 71 | 30 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 155 | 0 | 0 |
| - | 71 | 0 | 30 |
| number | freq |
|---|---|
| 0 | 30 |
| 1 | 225 |
| 2 | 1 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 801.0ms | 2 268× | 1 | valid |
| 116.0ms | 804× | 0 | valid |
Compiled 6 804 to 936 computations (86.2% saved)
ival-mult: 193.0ms (26.6% of total)ival-log: 111.0ms (15.3% of total)ival-hypot: 108.0ms (14.9% of total)ival-cos: 89.0ms (12.3% of total)adjust: 79.0ms (10.9% of total)ival-atan2: 52.0ms (7.2% of total)ival-add: 43.0ms (5.9% of total)ival-exp: 27.0ms (3.7% of total)ival-sub: 21.0ms (2.9% 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 |
|---|---|---|
| 39.6% | (*.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...