Time bar (total: 16.4s)
| 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 |
| 6.2% | 93.6% | 0.2% | 8 |
| 25% | 74.9% | 0.2% | 9 |
| 28.1% | 71.7% | 0.2% | 10 |
| 29.6% | 70.2% | 0.2% | 11 |
| 53% | 46.8% | 0.2% | 12 |
| 71.3% | 28.5% | 0.2% | 13 |
| 71.7% | 28.1% | 0.2% | 14 |
Compiled 20 to 12 computations (40% saved)
| 1.9s | 8256× | body | 128 | valid |
| 105.0ms | 467× | body | 128 | invalid |
Compiled 59 to 35 computations (40.7% saved)
| 1× | egg-herbie |
| 1070× | fma-neg_binary64 |
| 881× | fma-def_binary64 |
| 768× | times-frac_binary64 |
| 551× | cancel-sign-sub-inv_binary64 |
| 514× | unsub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 20 |
| 1 | 25 | 20 |
| 2 | 47 | 20 |
| 3 | 78 | 20 |
| 4 | 149 | 20 |
| 5 | 228 | 20 |
| 6 | 324 | 20 |
| 7 | 500 | 20 |
| 8 | 694 | 20 |
| 9 | 867 | 20 |
| 10 | 999 | 20 |
| 11 | 2422 | 20 |
| 12 | 3920 | 20 |
| 13 | 4950 | 20 |
1 alts after pruning (1 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 2 | 1 | 3 |
| Status | Error | Program |
| ▶ | 25.3b | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
Compiled 69 to 33 computations (52.2% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) |
| ✓ | 24.9b | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
2 calls:
| 163.0ms | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
| 17.0ms | (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) |
| 2× | batch-egg-rewrite |
| 449× | fma-def_binary64 |
| 239× | fma-neg_binary64 |
| 227× | expm1-udef_binary64 |
| 227× | log1p-udef_binary64 |
| 224× | egg-rr |
2 calls:
| 111.0ms | (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) |
| 111.0ms | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 30 |
| 1 | 244 | 29 |
| 2 | 3323 | 29 |
| 3 | 5042 | 29 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 995× | fma-neg_binary64 |
| 650× | fma-def_binary64 |
| 555× | associate-*l/_binary64 |
| 469× | cancel-sign-sub-inv_binary64 |
| 432× | associate-/r/_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 51 | 1722 |
| 1 | 132 | 1638 |
| 2 | 376 | 1599 |
| 3 | 1612 | 1554 |
| 4 | 4958 | 1554 |
| 5 | 5505 | 1554 |
9 alts after pruning (8 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 243 | 8 | 251 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 243 | 9 | 252 |
| Status | Error | Program |
| 17.5b | (*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) 2) (hypot.f64 y.re y.im)) (/.f64 (cbrt.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (hypot.f64 y.re y.im))) | |
| ✓ | 25.3b | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
| 41.0b | (-.f64 (/.f64 x.im y.re) (*.f64 (/.f64 y.im (*.f64 y.re y.re)) (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)))) | |
| 41.6b | (/.f64 x.im y.re) | |
| 32.7b | (-.f64 (*.f64 (/.f64 y.re (*.f64 y.im y.im)) (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im))) (/.f64 x.re y.im)) | |
| ▶ | 15.3b | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im)) (neg.f64 (/.f64 (*.f64 x.re y.im) (pow.f64 (hypot.f64 y.re y.im) 2)))) |
| 34.2b | (neg.f64 (/.f64 x.re y.im)) | |
| 41.2b | (pow.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (hypot.f64 y.re y.im)) 2) | |
| 17.0b | (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (hypot.f64 y.re y.im))) |
Compiled 6356 to 1621 computations (74.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (/.f64 y.re (hypot.f64 y.re y.im)) |
| ✓ | 0.0b | (pow.f64 (hypot.f64 y.re y.im) 2) |
| ✓ | 0.3b | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im)) (neg.f64 (/.f64 (*.f64 x.re y.im) (pow.f64 (hypot.f64 y.re y.im) 2)))) |
| ✓ | 16.8b | (/.f64 (*.f64 x.re y.im) (pow.f64 (hypot.f64 y.re y.im) 2)) |
4 calls:
| 452.0ms | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im)) (neg.f64 (/.f64 (*.f64 x.re y.im) (pow.f64 (hypot.f64 y.re y.im) 2)))) |
| 162.0ms | (/.f64 (*.f64 x.re y.im) (pow.f64 (hypot.f64 y.re y.im) 2)) |
| 89.0ms | (pow.f64 (hypot.f64 y.re y.im) 2) |
| 33.0ms | (/.f64 y.re (hypot.f64 y.re y.im)) |
| 2× | batch-egg-rewrite |
| 598× | prod-diff_binary64 |
| 581× | egg-rr |
| 254× | log1p-udef_binary64 |
| 152× | add-sqr-sqrt_binary64 |
| 142× | log1p-expm1-u_binary64 |
4 calls:
| 348.0ms | (/.f64 y.re (hypot.f64 y.re y.im)) |
| 348.0ms | (pow.f64 (hypot.f64 y.re y.im) 2) |
| 348.0ms | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im)) (neg.f64 (/.f64 (*.f64 x.re y.im) (pow.f64 (hypot.f64 y.re y.im) 2)))) |
| 348.0ms | (/.f64 (*.f64 x.re y.im) (pow.f64 (hypot.f64 y.re y.im) 2)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 58 |
| 1 | 303 | 55 |
| 2 | 3692 | 55 |
| 3 | 5297 | 55 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 769× | fma-neg_binary64 |
| 640× | times-frac_binary64 |
| 401× | associate-/l*_binary64 |
| 315× | associate-/r*_binary64 |
| 297× | fma-def_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 117 | 3116 |
| 1 | 337 | 2946 |
| 2 | 1064 | 2834 |
| 3 | 4692 | 2834 |
| 4 | 5293 | 2834 |
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 657 | 4 | 661 |
| Fresh | 5 | 2 | 7 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 663 | 7 | 670 |
| Status | Error | Program |
| 12.5b | (+.f64 (fma.f64 (*.f64 (/.f64 x.im (hypot.f64 y.re y.im)) y.re) (/.f64 1 (hypot.f64 y.re y.im)) (neg.f64 (*.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2)) x.re))) (fma.f64 (neg.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2))) x.re (*.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2)) x.re))) | |
| ▶ | 0.6b | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im)) (neg.f64 (*.f64 (/.f64 x.re (hypot.f64 y.re y.im)) (/.f64 y.im (hypot.f64 y.re y.im))))) |
| 13.1b | (+.f64 (fma.f64 x.im (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im))) (neg.f64 (*.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2)) x.re))) (fma.f64 (neg.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2))) x.re (*.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2)) x.re))) | |
| ✓ | 25.3b | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
| 15.4b | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im)) (neg.f64 (*.f64 y.im (*.f64 x.re (pow.f64 (hypot.f64 y.re y.im) -2))))) | |
| 41.2b | (pow.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (hypot.f64 y.re y.im)) 2) | |
| 17.0b | (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (hypot.f64 y.re y.im))) |
Compiled 34242 to 12395 computations (63.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (/.f64 x.im (hypot.f64 y.re y.im)) |
| 0.0b | (/.f64 y.re (hypot.f64 y.re y.im)) | |
| ✓ | 0.3b | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im)) (neg.f64 (*.f64 (/.f64 x.re (hypot.f64 y.re y.im)) (/.f64 y.im (hypot.f64 y.re y.im))))) |
| ✓ | 0.4b | (*.f64 (/.f64 x.re (hypot.f64 y.re y.im)) (/.f64 y.im (hypot.f64 y.re y.im))) |
3 calls:
| 461.0ms | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im)) (neg.f64 (*.f64 (/.f64 x.re (hypot.f64 y.re y.im)) (/.f64 y.im (hypot.f64 y.re y.im))))) |
| 202.0ms | (*.f64 (/.f64 x.re (hypot.f64 y.re y.im)) (/.f64 y.im (hypot.f64 y.re y.im))) |
| 151.0ms | (/.f64 x.im (hypot.f64 y.re y.im)) |
| 2× | batch-egg-rewrite |
| 691× | prod-diff_binary64 |
| 650× | egg-rr |
| 148× | add-sqr-sqrt_binary64 |
| 137× | log1p-expm1-u_binary64 |
| 137× | expm1-log1p-u_binary64 |
3 calls:
| 411.0ms | (/.f64 x.im (hypot.f64 y.re y.im)) |
| 411.0ms | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im)) (neg.f64 (*.f64 (/.f64 x.re (hypot.f64 y.re y.im)) (/.f64 y.im (hypot.f64 y.re y.im))))) |
| 411.0ms | (*.f64 (/.f64 x.re (hypot.f64 y.re y.im)) (/.f64 y.im (hypot.f64 y.re y.im))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 57 |
| 1 | 289 | 48 |
| 2 | 3842 | 48 |
| 3 | 5238 | 48 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 776× | fma-neg_binary64 |
| 568× | times-frac_binary64 |
| 483× | associate-/l*_binary64 |
| 332× | associate-/r*_binary64 |
| 297× | fma-def_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 128 | 3278 |
| 1 | 362 | 3118 |
| 2 | 1164 | 3006 |
| 3 | 4847 | 3006 |
| 4 | 5442 | 3006 |
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 786 | 2 | 788 |
| Fresh | 1 | 4 | 5 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 788 | 7 | 795 |
| Status | Error | Program |
| 13.1b | (+.f64 (fma.f64 x.im (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im))) (neg.f64 (*.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2)) x.re))) (fma.f64 (neg.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2))) x.re (*.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2)) x.re))) | |
| ✓ | 25.3b | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
| 12.5b | (+.f64 (fma.f64 (*.f64 (/.f64 x.im (hypot.f64 y.re y.im)) y.re) (/.f64 1 (hypot.f64 y.re y.im)) (neg.f64 (*.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2)) x.re))) (fma.f64 (neg.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2))) x.re (*.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2)) x.re))) | |
| 15.4b | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im)) (neg.f64 (*.f64 y.im (*.f64 x.re (pow.f64 (hypot.f64 y.re y.im) -2))))) | |
| 9.7b | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im)) (neg.f64 (/.f64 y.im (*.f64 (/.f64 (hypot.f64 y.re y.im) x.re) (hypot.f64 y.re y.im))))) | |
| ▶ | 0.7b | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 y.re (sqrt.f64 (hypot.f64 y.re y.im)))) (neg.f64 (*.f64 (/.f64 x.re (hypot.f64 y.re y.im)) (/.f64 y.im (hypot.f64 y.re y.im))))) |
| 41.2b | (pow.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (hypot.f64 y.re y.im)) 2) |
Compiled 43591 to 11583 computations (73.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 y.re (sqrt.f64 (hypot.f64 y.re y.im)))) |
| ✓ | 0.3b | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 y.re (sqrt.f64 (hypot.f64 y.re y.im)))) (neg.f64 (*.f64 (/.f64 x.re (hypot.f64 y.re y.im)) (/.f64 y.im (hypot.f64 y.re y.im))))) |
| ✓ | 0.4b | (/.f64 y.re (sqrt.f64 (hypot.f64 y.re y.im))) |
| 0.4b | (*.f64 (/.f64 x.re (hypot.f64 y.re y.im)) (/.f64 y.im (hypot.f64 y.re y.im))) |
3 calls:
| 553.0ms | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 y.re (sqrt.f64 (hypot.f64 y.re y.im)))) (neg.f64 (*.f64 (/.f64 x.re (hypot.f64 y.re y.im)) (/.f64 y.im (hypot.f64 y.re y.im))))) |
| 49.0ms | (/.f64 y.re (sqrt.f64 (hypot.f64 y.re y.im))) |
| 36.0ms | (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 y.re (sqrt.f64 (hypot.f64 y.re y.im)))) |
| 2× | batch-egg-rewrite |
| 794× | prod-diff_binary64 |
| 698× | egg-rr |
| 181× | add-sqr-sqrt_binary64 |
| 168× | log1p-expm1-u_binary64 |
| 168× | expm1-log1p-u_binary64 |
3 calls:
| 463.0ms | (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 y.re (sqrt.f64 (hypot.f64 y.re y.im)))) |
| 463.0ms | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 y.re (sqrt.f64 (hypot.f64 y.re y.im)))) (neg.f64 (*.f64 (/.f64 x.re (hypot.f64 y.re y.im)) (/.f64 y.im (hypot.f64 y.re y.im))))) |
| 463.0ms | (/.f64 y.re (sqrt.f64 (hypot.f64 y.re y.im))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 50 |
| 1 | 369 | 44 |
| 2 | 4765 | 44 |
| 3 | 6404 | 44 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 782× | fma-neg_binary64 |
| 488× | times-frac_binary64 |
| 371× | fma-def_binary64 |
| 331× | associate-*r*_binary64 |
| 312× | cancel-sign-sub-inv_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 144 | 2288 |
| 1 | 400 | 2174 |
| 2 | 1231 | 2113 |
| 3 | 4711 | 2113 |
| 4 | 5282 | 2113 |
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 849 | 0 | 849 |
| Fresh | 0 | 5 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 849 | 7 | 856 |
| Status | Error | Program |
| 13.1b | (+.f64 (fma.f64 x.im (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im))) (neg.f64 (*.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2)) x.re))) (fma.f64 (neg.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2))) x.re (*.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2)) x.re))) | |
| ✓ | 25.3b | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
| 12.5b | (+.f64 (fma.f64 (*.f64 (/.f64 x.im (hypot.f64 y.re y.im)) y.re) (/.f64 1 (hypot.f64 y.re y.im)) (neg.f64 (*.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2)) x.re))) (fma.f64 (neg.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2))) x.re (*.f64 (*.f64 y.im (pow.f64 (hypot.f64 y.re y.im) -2)) x.re))) | |
| 15.4b | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im)) (neg.f64 (*.f64 y.im (*.f64 x.re (pow.f64 (hypot.f64 y.re y.im) -2))))) | |
| 9.7b | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (/.f64 y.re (hypot.f64 y.re y.im)) (neg.f64 (/.f64 y.im (*.f64 (/.f64 (hypot.f64 y.re y.im) x.re) (hypot.f64 y.re y.im))))) | |
| ✓ | 0.7b | (fma.f64 (/.f64 x.im (hypot.f64 y.re y.im)) (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 y.re (sqrt.f64 (hypot.f64 y.re y.im)))) (neg.f64 (*.f64 (/.f64 x.re (hypot.f64 y.re y.im)) (/.f64 y.im (hypot.f64 y.re y.im))))) |
| 41.2b | (pow.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (hypot.f64 y.re y.im)) 2) |
Compiled 49068 to 12916 computations (73.7% saved)
Total 1.4b remaining (91.7%)
Threshold costs 0b (0%)
Compiled 25358 to 13309 computations (47.5% saved)
| 1× | egg-herbie |
| 6× | *-commutative_binary64 |
| 5× | +-commutative_binary64 |
| 5× | sub-neg_binary64 |
| 5× | neg-sub0_binary64 |
| 5× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 34 |
| 1 | 22 | 34 |
| 2 | 34 | 34 |
| 3 | 43 | 34 |
| 4 | 49 | 34 |
| 5 | 51 | 34 |
| 6 | 51 | 34 |
Compiled 271 to 137 computations (49.4% saved)
Loading profile data...