Time bar (total: 7.7s)
| 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.0s | 8256× | body | 128 | valid |
| 52.0ms | 456× | body | 128 | invalid |
Compiled 59 to 35 computations (40.7% 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 |
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 |
| ▶ | 24.2b | (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
Compiled 66 to 32 computations (51.5% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (fma.f64 x.re y.re (*.f64 x.im y.im)) |
| ✓ | 23.7b | (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
2 calls:
| 91.0ms | (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
| 9.0ms | (fma.f64 x.re y.re (*.f64 x.im y.im)) |
| 1× | rewrite-expression-head |
| 10× | *-un-lft-identity_binary64 |
| 10× | add-sqr-sqrt_binary64 |
| 10× | add-cube-cbrt_binary64 |
| 9× | times-frac_binary64 |
| 4× | add-cbrt-cube_binary64 |
2 calls:
| 2.0ms | (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
| 0.0ms | (fma.f64 x.re y.re (*.f64 x.im y.im)) |
| 1× | egg-herbie |
| 687× | fma-def_binary64 |
| 413× | associate-/l/_binary64 |
| 364× | fma-neg_binary64 |
| 246× | distribute-rgt-neg-in_binary64 |
| 245× | distribute-lft-neg-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 97 | 2544 |
| 1 | 202 | 2411 |
| 2 | 606 | 2327 |
| 3 | 2192 | 2279 |
| 4 | 5101 | 2279 |
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 88 | 7 | 95 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 88 | 8 | 96 |
| Status | Error | Program |
| ✓ | 24.2b | (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
| 39.3b | (/.f64 x.re y.re) | |
| 14.5b | (*.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))) | |
| 33.9b | (/.f64 x.im y.im) | |
| ▶ | 13.9b | (*.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))) |
| 22.7b | (fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re)))) | |
| 24.7b | (*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))) (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))))) (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))))) | |
| 24.1b | (/.f64 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)) (sqrt.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)))) |
Compiled 2327 to 489 computations (79% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (/.f64 1 (hypot.f64 y.im y.re)) |
| ✓ | 0.0b | (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))) |
| ✓ | 12.9b | (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)) |
4 calls:
| 98.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))) |
| 89.0ms | (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)) |
| 32.0ms | (/.f64 1 (hypot.f64 y.im y.re)) |
| 9.0ms | (fma.f64 y.im x.im (*.f64 y.re x.re)) |
| 1× | rewrite-expression-head |
| 51× | add-sqr-sqrt_binary64 |
| 43× | times-frac_binary64 |
| 36× | *-un-lft-identity_binary64 |
| 34× | add-cube-cbrt_binary64 |
| 32× | add-exp-log_binary64 |
4 calls:
| 8.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)) |
| 2.0ms | (/.f64 1 (hypot.f64 y.im y.re)) |
| 0.0ms | (fma.f64 y.im x.im (*.f64 y.re x.re)) |
| 1× | egg-herbie |
| 872× | times-frac_binary64 |
| 508× | fma-neg_binary64 |
| 381× | fma-def_binary64 |
| 335× | cancel-sign-sub-inv_binary64 |
| 274× | distribute-rgt-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 235 | 6511 |
| 1 | 629 | 5720 |
| 2 | 2135 | 5547 |
| 3 | 4879 | 5539 |
| 4 | 5183 | 5539 |
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 279 | 6 | 285 |
| Fresh | 5 | 1 | 6 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 285 | 8 | 293 |
| Status | Error | Program |
| 14.0b | (*.f64 (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))) | |
| 29.4b | (fma.f64 (/.f64 x.re y.im) (/.f64 y.re y.im) (/.f64 x.im y.im)) | |
| 14.5b | (*.f64 (/.f64 1 (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) | |
| 14.5b | (*.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))) | |
| 35.9b | (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) | |
| ✓ | 24.2b | (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
| 14.0b | (*.f64 (sqrt.f64 (/.f64 1 (hypot.f64 y.im y.re))) (*.f64 (sqrt.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)))) | |
| ▶ | 13.7b | (/.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)) |
Compiled 7405 to 2210 computations (70.2% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (/.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.3b | (fma.f64 x.re y.re (*.f64 y.im x.im)) |
| ✓ | 12.9b | (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) |
3 calls:
| 102.0ms | (/.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)) |
| 93.0ms | (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) |
| 8.0ms | (fma.f64 x.re y.re (*.f64 y.im x.im)) |
| 1× | rewrite-expression-head |
| 84× | times-frac_binary64 |
| 53× | *-un-lft-identity_binary64 |
| 53× | add-sqr-sqrt_binary64 |
| 53× | add-cube-cbrt_binary64 |
| 16× | associate-/l*_binary64 |
3 calls:
| 6.0ms | (/.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)) |
| 0.0ms | (fma.f64 x.re y.re (*.f64 y.im x.im)) |
| 1× | egg-herbie |
| 701× | times-frac_binary64 |
| 519× | associate-/l*_binary64 |
| 443× | fma-neg_binary64 |
| 384× | associate-/r*_binary64 |
| 364× | associate-/l/_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 221 | 6578 |
| 1 | 537 | 5929 |
| 2 | 1451 | 5628 |
| 3 | 4664 | 5628 |
| 4 | 4986 | 5628 |
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 248 | 3 | 251 |
| Fresh | 3 | 3 | 6 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 252 | 7 | 259 |
| Status | Error | Program |
| 14.0b | (/.f64 1 (*.f64 (hypot.f64 y.im y.re) (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re))))) | |
| 29.4b | (fma.f64 (/.f64 x.re y.im) (/.f64 y.re y.im) (/.f64 x.im y.im)) | |
| 35.9b | (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) | |
| 24.3b | (*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (/.f64 1 (*.f64 (hypot.f64 y.im y.re) (hypot.f64 y.im y.re)))) | |
| ✓ | 24.2b | (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
| 14.5b | (*.f64 (/.f64 1 (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) | |
| ▶ | 14.0b | (/.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) (hypot.f64 y.im y.re)) |
Compiled 6516 to 1208 computations (81.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (/.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) (hypot.f64 y.im y.re)) |
| 0.3b | (fma.f64 x.re y.re (*.f64 y.im x.im)) | |
| ✓ | 5.7b | (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (sqrt.f64 (hypot.f64 y.im y.re))) |
| ✓ | 7.4b | (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) |
3 calls:
| 124.0ms | (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (sqrt.f64 (hypot.f64 y.im y.re))) |
| 99.0ms | (/.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) (hypot.f64 y.im y.re)) |
| 95.0ms | (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) |
| 1× | rewrite-expression-head |
| 1644× | times-frac_binary64 |
| 784× | *-un-lft-identity_binary64 |
| 784× | add-sqr-sqrt_binary64 |
| 784× | add-cube-cbrt_binary64 |
| 624× | sqrt-prod_binary64 |
3 calls:
| 28.0ms | (/.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) (hypot.f64 y.im y.re)) |
| 7.0ms | (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) |
| 3.0ms | (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (sqrt.f64 (hypot.f64 y.im y.re))) |
| 1× | egg-herbie |
| 589× | fma-def_binary64 |
| 512× | associate-/r*_binary64 |
| 441× | associate-/l/_binary64 |
| 406× | cancel-sign-sub-inv_binary64 |
| 280× | fma-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 775 | 46029 |
| 1 | 1766 | 42251 |
| 2 | 3452 | 39665 |
| 3 | 4552 | 39014 |
| 4 | 4996 | 39014 |
| 5 | 4943 | 39014 |
6 alts after pruning (4 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1028 | 1 | 1029 |
| Fresh | 2 | 3 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 1030 | 6 | 1036 |
| Status | Error | Program |
| 14.0b | (/.f64 1 (*.f64 (hypot.f64 y.im y.re) (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re))))) | |
| 29.4b | (fma.f64 (/.f64 x.re y.im) (/.f64 y.re y.im) (/.f64 x.im y.im)) | |
| 35.9b | (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) | |
| ✓ | 24.2b | (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
| 14.2b | (/.f64 (/.f64 (/.f64 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (sqrt.f64 (hypot.f64 y.im y.re))) (cbrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (cbrt.f64 (hypot.f64 y.im y.re)))) (hypot.f64 y.im y.re)) | |
| ✓ | 14.0b | (/.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) (hypot.f64 y.im y.re)) |
Compiled 41092 to 5449 computations (86.7% saved)
Total 11.1b remaining (98.2%)
Threshold costs 0b (0%)
Compiled 14683 to 8004 computations (45.5% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 9 | 9.47909946656105e+110 | 5.605060041271639e+116 | 5.563402658894378e+112 |
| 4 | 2.8148372276966703e-255 | 5.585239231986436e-255 | 5.453427998098388e-255 |
| 8 | -2.6626641483518966e-84 | -1.627013727558533e-87 | -4.082695455232209e-87 |
| 8 | -2.278630121051136e+137 | -1.3022486668961583e+134 | -8.374813608163854e+134 |
Compiled 5 to 4 computations (20% saved)
| 1× | egg-herbie |
| 10× | *-commutative_binary64 |
| 6× | +-commutative_binary64 |
| 5× | sub-neg_binary64 |
| 4× | neg-sub0_binary64 |
| 4× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 44 | 120 |
| 1 | 55 | 120 |
| 2 | 61 | 120 |
| 3 | 71 | 120 |
| 4 | 78 | 120 |
| 5 | 83 | 120 |
| 6 | 85 | 120 |
| 7 | 84 | 120 |
Compiled 293 to 143 computations (51.2% saved)
Loading profile data...