
Time bar (total: 4.9s)
| 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 |
| 75% | 74.9% | 25% | 0.2% | 0% | 0% | 0% | 5 |
| 75% | 74.9% | 25% | 0.2% | 0% | 0% | 0% | 6 |
| 75% | 74.9% | 25% | 0.2% | 0% | 0% | 0% | 7 |
| 87.5% | 87.3% | 12.5% | 0.2% | 0% | 0% | 0% | 8 |
| 93.8% | 93.6% | 6.2% | 0.2% | 0% | 0% | 0% | 9 |
| 93.8% | 93.6% | 6.2% | 0.2% | 0% | 0% | 0% | 10 |
| 93.8% | 93.6% | 6.2% | 0.2% | 0% | 0% | 0% | 11 |
| 96.9% | 96.7% | 3.1% | 0.2% | 0% | 0% | 0% | 12 |
Compiled 17 to 13 computations (23.5% saved)
| 16.0ms | 260× | 0 | valid |
ival-mult: 7.0ms (69.1% of total)ival-add: 2.0ms (19.7% of total)ival-div: 1.0ms (9.9% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 110 | 0 | - | 3 | (8.117637144528077e-230 -1.2090838579194309e-219 1.95482605822564e-272 -3.458090569236594e-97) | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 1 | 0 | - | 0 | - | (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) |
| 0 | 0 | - | 0 | - | (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
| 0 | 0 | - | 0 | - | (*.f64 y.re y.re) |
| 0 | 0 | - | 0 | - | (*.f64 x.re y.re) |
| 0 | 0 | - | 0 | - | (*.f64 y.im y.im) |
| 0 | 0 | - | 0 | - | x.re |
| 0 | 0 | - | 0 | - | y.re |
| 0 | 0 | - | 0 | - | y.im |
| 0 | 0 | - | 0 | - | (*.f64 x.im y.im) |
| 0 | 0 | - | 0 | - | x.im |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
/.f64 | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) | o/o | 53 | 0 |
| ↳ | (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) | overflow | 63 | |
| ↳ | (*.f64 x.im y.im) | overflow | 32 | |
| ↳ | (*.f64 x.re y.re) | overflow | 34 | |
| ↳ | (*.f64 y.re y.re) | overflow | 71 | |
| ↳ | (*.f64 y.im y.im) | overflow | 71 | |
| ↳ | (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) | overflow | 121 | |
/.f64 | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) | n/o | 39 | 0 |
| ↳ | (*.f64 y.re y.re) | overflow | 71 | |
| ↳ | (*.f64 y.im y.im) | overflow | 71 | |
| ↳ | (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) | overflow | 121 | |
/.f64 | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) | o/n | 10 | 0 |
| ↳ | (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) | overflow | 63 | |
| ↳ | (*.f64 x.im y.im) | overflow | 32 | |
| ↳ | (*.f64 x.re y.re) | overflow | 34 | |
/.f64 | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) | n/u | 3 | 0 |
| ↳ | (*.f64 y.re y.re) | underflow | 67 | |
| ↳ | (*.f64 y.im y.im) | underflow | 63 | |
| ↳ | (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) | underflow | 14 | |
/.f64 | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) | u/n | 2 | 0 |
| ↳ | (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) | underflow | 2 | |
| ↳ | (*.f64 x.im y.im) | underflow | 34 | |
| ↳ | (*.f64 x.re y.re) | underflow | 32 | |
+.f64 | (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) | nan-rescue | 1 | 0 |
| ↳ | (*.f64 x.re y.re) | overflow | 34 | |
| ↳ | (*.f64 x.im y.im) | overflow | 32 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 107 | 3 |
| - | 0 | 146 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 107 | 0 | 3 |
| - | 0 | 0 | 146 |
| number | freq |
|---|---|
| 0 | 149 |
| 1 | 106 |
| 2 | 1 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 1.6s | 23 040× | 0 | valid |
Compiled 6 930 to 2 160 computations (68.8% saved)
ival-mult: 558.0ms (62.6% of total)ival-add: 181.0ms (20.3% of total)ival-div: 126.0ms (14.1% of total)ival-true: 18.0ms (2% of total)ival-assert: 8.0ms (0.9% of total)| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 60 | 218 |
| 1 | 132 | 210 |
| 2 | 209 | 210 |
| 3 | 377 | 210 |
| 4 | 914 | 210 |
| 5 | 2299 | 210 |
| 6 | 3076 | 210 |
| 7 | 3886 | 210 |
| 8 | 4759 | 210 |
| 9 | 5156 | 210 |
| 10 | 5284 | 210 |
| 11 | 5444 | 210 |
| 12 | 5444 | 210 |
| 13 | 5480 | 210 |
| 14 | 5496 | 210 |
| 15 | 5496 | 210 |
| 16 | 5856 | 210 |
| 17 | 6830 | 210 |
| 18 | 6982 | 210 |
| 19 | 6994 | 210 |
| 20 | 6998 | 210 |
| 21 | 7006 | 210 |
| 22 | 7014 | 210 |
| 23 | 7014 | 210 |
| 24 | 7122 | 210 |
| 25 | 7170 | 210 |
| 26 | 7170 | 210 |
| 0 | 11 | 15 |
| 0 | 18 | 15 |
| 1 | 22 | 15 |
| 0 | 22 | 13 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| Outputs |
|---|
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))) |
Compiled 15 to 11 computations (26.7% saved)
Compiled 0 to 4 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| 58.9% | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
Compiled 30 to 22 computations (26.7% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 15 |
| 1 | 15 | 15 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| Outputs |
|---|
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(/.f64 (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) |
| 1× | fuel |
Compiled 15 to 11 computations (26.7% saved)
Compiled 60 to 44 computations (26.7% saved)
Loading profile data...