
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)
| 31.0ms | 97× | 1 | valid |
| 18.0ms | 163× | 0 | valid |
ival-mult: 10.0ms (24.2% of total)ival-hypot: 7.0ms (16.9% of total)ival-log: 6.0ms (14.5% of total)adjust: 5.0ms (12.1% of total)ival-cos: 5.0ms (12.1% of total)ival-atan2: 3.0ms (7.3% of total)ival-exp: 2.0ms (4.8% of total)ival-sub: 1.0ms (2.4% of total)ival-add: 1.0ms (2.4% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 167 | 0 | - | 85 | (1.7239082764546483e+75 2.1439314894994204e+268 6.396265153142696e-185 2.0012146414845437e+231) | (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))) |
| 129 | 0 | - | 0 | - | (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 5 | 0 | - | 5 | (5.555611046177234e+227 -5.903425548034045e-96 2.42162101072455e+130 -1.5729775117598113e-68) | (*.f64 (atan2.f64 x.im x.re) y.re) |
| 2 | 0 | - | 2 | (9.317754474043552e+235 -4.476205795191785e-225 -5.389380211088472e+28 -6.379946378172425e+146) | (*.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 | 1 | (-0.4044123616304208 5.544291623877235e-79 9.324282393877373e+287 1.2395098891208937e+306) | 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 | 7 | (9.018346995285582e-49 5.511695980419819e+221 -5.605611472199147e+305 -3.084464398096586e-163) | 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 | 6 | (-1.75292951279271e+122 -1.8226448180282506e-273 1.2341806455299508e-282 1.2119889687919445e-262) | 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 | 2 | (7.947710890276017e+101 1.685977788407366e+21 0.014916513817405148 -3.2117218734242623e-155) | 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 | 0 | - | 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 | 111 | 0 |
| ↳ | (*.f64 x.re x.re) | overflow | 65 | |
| ↳ | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | overflow | 111 | |
| ↳ | (*.f64 x.im x.im) | overflow | 62 | |
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 | 82 | 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 | 57 | |
| ↳ | (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | underflow | 18 | |
| ↳ | (*.f64 x.im x.im) | underflow | 71 | |
+.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)) | cancellation | 6 | 0 |
-.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)) | cancellation | 5 | 0 |
exp.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))) | sensitivity | 2 | 0 |
-.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)) | oflow-left | 2 | 0 |
log.f64 | (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) | sensitivity | 1 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 151 | 0 |
| - | 67 | 38 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 151 | 0 | 0 |
| - | 67 | 0 | 38 |
| number | freq |
|---|---|
| 0 | 38 |
| 1 | 210 |
| 2 | 7 |
| 3 | 1 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 743.0ms | 1 968× | 1 | valid |
| 161.0ms | 1 104× | 0 | valid |
Compiled 6 804 to 936 computations (86.2% saved)
ival-mult: 186.0ms (26% of total)adjust: 112.0ms (15.7% of total)ival-hypot: 97.0ms (13.6% of total)ival-log: 95.0ms (13.3% of total)ival-cos: 86.0ms (12% of total)ival-atan2: 48.0ms (6.7% of total)ival-add: 39.0ms (5.5% of total)ival-exp: 29.0ms (4.1% of total)ival-sub: 20.0ms (2.8% 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 |
|---|---|---|
| 41.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...