Time bar (total: 10.3s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.8% | 0.2% | 0 |
| 0% | 99.8% | 0.2% | 1 |
| 0% | 99.8% | 0.2% | 2 |
| 0% | 99.8% | 0.2% | 3 |
| 0% | 99.8% | 0.2% | 4 |
| 0% | 99.8% | 0.2% | 5 |
| 0% | 99.8% | 0.2% | 6 |
| 0% | 99.8% | 0.2% | 7 |
| 0% | 99.8% | 0.2% | 8 |
| 0% | 99.8% | 0.2% | 9 |
| 0% | 99.8% | 0.2% | 10 |
| 0% | 99.8% | 0.2% | 11 |
| 0% | 99.8% | 0.2% | 12 |
| 0% | 99.8% | 0.2% | 13 |
| 0% | 99.8% | 0.2% | 14 |
Compiled 20 to 12 computations (40% saved)
| 1.1s | 8256× | body | 128 | valid |
| 157.0ms | 223× | body | 8192 | exit |
| 26.0ms | 218× | body | 128 | invalid |
Compiled 39 to 23 computations (41% saved)
| 1× | egg-herbie |
| 6× | fma-def_binary64 |
| 2× | +-commutative_binary64 |
| 2× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 18 |
| 1 | 18 | 18 |
| 2 | 22 | 18 |
| 3 | 22 | 18 |
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 1 | 2 | 3 |
| Status | Error | Program |
| ▶ | 26.6b | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
Compiled 70 to 36 computations (48.6% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
| ✓ | 0.5b | (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) |
| ✓ | 26.1b | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
3 calls:
| 88.0ms | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 9.0ms | (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) |
| 6.0ms | (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
| 1× | rewrite-expression-head |
| 11× | *-un-lft-identity_binary64 |
| 11× | add-sqr-sqrt_binary64 |
| 11× | add-cube-cbrt_binary64 |
| 9× | times-frac_binary64 |
| 7× | add-log-exp_binary64 |
3 calls:
| 6.0ms | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 3.0ms | (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
| 3.0ms | (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) |
| 1× | egg-herbie |
| 498× | associate-*l*_binary64 |
| 483× | fma-def_binary64 |
| 426× | associate-*r*_binary64 |
| 349× | times-frac_binary64 |
| 327× | fma-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 132 | 3026 |
| 1 | 381 | 2904 |
| 2 | 1260 | 2820 |
| 3 | 4833 | 2820 |
| 4 | 5018 | 2820 |
6 alts after pruning (6 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 132 | 6 | 138 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 133 | 6 | 139 |
| Status | Error | Program |
| 26.9b | (*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (fma.f64 y.im y.im (*.f64 y.re y.re)))) | |
| 32.7b | (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) | |
| ▶ | 15.7b | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))) |
| 31.1b | (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) | |
| 16.4b | (*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (cbrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) (hypot.f64 y.im y.re)) (/.f64 (cbrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (hypot.f64 y.im y.re))) | |
| 26.5b | (/.f64 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)) (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) |
Compiled 3402 to 669 computations (80.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (hypot.f64 y.im y.re) |
| ✓ | 0.3b | (fma.f64 y.im x.im (*.f64 y.re x.re)) |
| ✓ | 0.3b | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))) |
| ✓ | 14.6b | (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)) |
4 calls:
| 107.0ms | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))) |
| 106.0ms | (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)) |
| 12.0ms | (hypot.f64 y.im y.re) |
| 9.0ms | (fma.f64 y.im x.im (*.f64 y.re x.re)) |
| 1× | rewrite-expression-head |
| 43× | add-sqr-sqrt_binary64 |
| 34× | times-frac_binary64 |
| 28× | *-un-lft-identity_binary64 |
| 28× | add-exp-log_binary64 |
| 26× | add-cube-cbrt_binary64 |
4 calls:
| 10.0ms | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))) |
| 2.0ms | (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)) |
| 0.0ms | (fma.f64 y.im x.im (*.f64 y.re x.re)) |
| 0.0ms | (hypot.f64 y.im y.re) |
| 1× | egg-herbie |
| 868× | times-frac_binary64 |
| 516× | fma-neg_binary64 |
| 377× | fma-def_binary64 |
| 306× | cancel-sign-sub-inv_binary64 |
| 282× | distribute-rgt-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 229 | 5947 |
| 1 | 619 | 5325 |
| 2 | 2094 | 5152 |
| 3 | 4840 | 5152 |
| 4 | 5143 | 5152 |
8 alts after pruning (8 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 300 | 5 | 305 |
| Fresh | 2 | 3 | 5 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 303 | 8 | 311 |
| Status | Error | Program |
| 26.8b | (fma.f64 (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.im y.im (*.f64 y.re y.re)))) | |
| 31.1b | (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) | |
| 26.9b | (*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (fma.f64 y.im y.im (*.f64 y.re y.re)))) | |
| 41.6b | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (fma.f64 (/.f64 x.re y.im) y.re x.im)) | |
| 16.4b | (*.f64 (*.f64 (cbrt.f64 (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)))) (cbrt.f64 (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))))) (cbrt.f64 (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))))) | |
| 32.7b | (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) | |
| ▶ | 15.8b | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re))))) |
| 45.7b | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (neg.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im))) |
Compiled 7959 to 2480 computations (68.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re)))) |
| 0.3b | (fma.f64 y.im x.im (*.f64 y.re x.re)) | |
| ✓ | 0.3b | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re))))) |
| ✓ | 14.7b | (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re))) |
3 calls:
| 120.0ms | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re))))) |
| 106.0ms | (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re)))) |
| 74.0ms | (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re))) |
| 1× | rewrite-expression-head |
| 187× | times-frac_binary64 |
| 142× | add-sqr-sqrt_binary64 |
| 106× | *-un-lft-identity_binary64 |
| 99× | add-exp-log_binary64 |
| 95× | add-cube-cbrt_binary64 |
3 calls:
| 21.0ms | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re))))) |
| 4.0ms | (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re)))) |
| 2.0ms | (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re))) |
| 1× | egg-herbie |
| 729× | fma-def_binary64 |
| 304× | fma-neg_binary64 |
| 298× | times-frac_binary64 |
| 284× | associate-/l*_binary64 |
| 252× | sub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 326 | 12173 |
| 1 | 933 | 10233 |
| 2 | 3603 | 9992 |
| 3 | 5049 | 9992 |
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 470 | 1 | 471 |
| Fresh | 2 | 5 | 7 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 472 | 7 | 479 |
| Status | Error | Program |
| 26.8b | (fma.f64 (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.im y.im (*.f64 y.re y.re)))) | |
| 31.1b | (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) | |
| 41.6b | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (fma.f64 (/.f64 x.re y.im) y.re x.im)) | |
| 32.7b | (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) | |
| ▶ | 16.3b | (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))) (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))) (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))) |
| ✓ | 15.8b | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re))))) |
| 45.7b | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (neg.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im))) |
Compiled 14501 to 4700 computations (67.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))) (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))) (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))) |
| ✓ | 0.4b | (*.f64 (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))) (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))) |
| ✓ | 10.9b | (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))) |
| ✓ | 14.6b | (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) |
4 calls:
| 182.0ms | (*.f64 (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))) (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))) |
| 141.0ms | (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))) |
| 109.0ms | (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))) (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))) (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))) |
| 97.0ms | (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) |
| 1× | rewrite-expression-head |
| 432× | times-frac_binary64 |
| 290× | add-sqr-sqrt_binary64 |
| 285× | cbrt-prod_binary64 |
| 227× | *-un-lft-identity_binary64 |
| 227× | add-cube-cbrt_binary64 |
4 calls:
| 42.0ms | (*.f64 (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))) (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))) |
| 29.0ms | (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))) (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))) (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))) |
| 4.0ms | (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))) |
| 2.0ms | (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) |
| 1× | egg-herbie |
| 473× | fma-def_binary64 |
| 434× | *-commutative_binary64 |
| 221× | cancel-sign-sub-inv_binary64 |
| 203× | sub-neg_binary64 |
| 147× | sqr-pow_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 1203 | 31944 |
| 1 | 3485 | 30390 |
| 2 | 4980 | 30390 |
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1420 | 0 | 1420 |
| Fresh | 0 | 5 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 1420 | 7 | 1427 |
| Status | Error | Program |
| 26.8b | (fma.f64 (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.im y.im (*.f64 y.re y.re)))) | |
| 31.1b | (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) | |
| 41.6b | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (fma.f64 (/.f64 x.re y.im) y.re x.im)) | |
| 32.7b | (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) | |
| ✓ | 16.3b | (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))) (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))) (cbrt.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))) |
| ✓ | 15.8b | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re))))) |
| 45.7b | (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (neg.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im))) |
Compiled 100283 to 20551 computations (79.5% saved)
Total 10.6b remaining (98.4%)
Threshold costs 0b (0%)
Compiled 27010 to 13940 computations (48.4% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 9 | 8.270881781166447e+69 | 3.117871684444356e+79 | 4.032187018528407e+74 |
| 7 | 3.5136027450915935e-248 | 1.385268962870169e-246 | 1.1327597853587381e-247 |
| 9 | -1.1695226378116171e-188 | -2.310179418473179e-197 | -3.2946202192791303e-195 |
| 6 | -1.001502637324893e+139 | -1.0779497592106123e+138 | -1.4352057347664762e+138 |
Compiled 5 to 4 computations (20% saved)
| 1× | egg-herbie |
| 6× | *-commutative_binary64 |
| 4× | +-commutative_binary64 |
| 3× | sub-neg_binary64 |
| 3× | neg-sub0_binary64 |
| 3× | neg-mul-1_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 35 | 116 |
| 1 | 45 | 116 |
| 2 | 52 | 114 |
| 3 | 59 | 114 |
| 4 | 62 | 114 |
| 5 | 63 | 114 |
| 6 | 61 | 114 |
Compiled 324 to 140 computations (56.8% saved)
Loading profile data...