Time bar (total: 6.4s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 50% | 50% | 0 |
| 0% | 50% | 50% | 1 |
| 25% | 25% | 50% | 2 |
| 25% | 25% | 50% | 3 |
| 31.2% | 18.7% | 50% | 4 |
| 31.2% | 18.7% | 50% | 5 |
| 34.3% | 15.6% | 50% | 6 |
| 34.3% | 15.6% | 50% | 7 |
| 35.9% | 14% | 50% | 8 |
| 35.9% | 14% | 50% | 9 |
| 36.7% | 13.3% | 50% | 10 |
| 36.7% | 13.3% | 50% | 11 |
| 37.1% | 12.9% | 50% | 12 |
| 37.1% | 12.9% | 50% | 13 |
| 37.3% | 12.7% | 50% | 14 |
Compiled 20 to 14 computations (30% saved)
| 900.0ms | 6318× | body | 128 | valid |
| 379.0ms | 672× | body | 2048 | valid |
| 374.0ms | 507× | body | 4096 | valid |
| 188.0ms | 431× | body | 1024 | valid |
| 70.0ms | 212× | body | 512 | valid |
| 29.0ms | 116× | body | 256 | valid |
Compiled 57 to 40 computations (29.8% saved)
| 1× | egg-herbie |
| 203× | fma-def_binary64 |
| 142× | fma-neg_binary64 |
| 51× | distribute-rgt-in_binary64 |
| 42× | cancel-sign-sub-inv_binary64 |
| 28× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 15 |
| 1 | 20 | 15 |
| 2 | 33 | 15 |
| 3 | 50 | 15 |
| 4 | 69 | 15 |
| 5 | 98 | 15 |
| 6 | 151 | 15 |
| 7 | 211 | 15 |
| 8 | 263 | 15 |
| 9 | 305 | 15 |
| 10 | 343 | 15 |
| 11 | 379 | 15 |
| 12 | 396 | 15 |
| 13 | 415 | 15 |
| 14 | 428 | 15 |
| 15 | 465 | 15 |
| 16 | 477 | 15 |
| 17 | 486 | 15 |
| 18 | 449 | 15 |
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 |
| ▶ | 11.2b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) |
Compiled 51 to 37 computations (27.5% saved)
Found 1 expressions with local error:
| New | Error | Program |
| ✓ | 0.5b | (-.f64 (hypot.f64 re im) re) |
1 calls:
| 13.0ms | (-.f64 (hypot.f64 re im) re) |
| 1× | rewrite-expression-head |
| 11× | *-un-lft-identity_binary64 |
| 11× | add-sqr-sqrt_binary64 |
| 9× | prod-diff_binary64 |
| 9× | add-cube-cbrt_binary64 |
| 3× | cancel-sign-sub-inv_binary64 |
1 calls:
| 5.0ms | (-.f64 (hypot.f64 re im) re) |
| 1× | egg-herbie |
| 717× | fma-neg_binary64 |
| 551× | times-frac_binary64 |
| 464× | fma-def_binary64 |
| 384× | associate-*l*_binary64 |
| 362× | associate-*r*_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 119 | 1005 |
| 1 | 284 | 784 |
| 2 | 946 | 746 |
| 3 | 4329 | 744 |
| 4 | 4911 | 743 |
| 5 | 4885 | 743 |
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 62 | 3 | 65 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 62 | 4 | 66 |
| Status | Error | Program |
| ▶ | 12.6b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re))))) (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re)))))))) |
| 56.6b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))) | |
| 30.9b | (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) | |
| ✓ | 11.2b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) |
Compiled 1480 to 833 computations (43.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.5b | (*.f64 (cbrt.f64 re) (cbrt.f64 re)) |
| ✓ | 0.6b | (cbrt.f64 re) |
| ✓ | 12.5b | (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re))))) |
| ✓ | 60.1b | (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re)))) |
4 calls:
| 50.0ms | (*.f64 (cbrt.f64 re) (cbrt.f64 re)) |
| 48.0ms | (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re)))) |
| 46.0ms | (cbrt.f64 re) |
| 45.0ms | (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re))))) |
| 1× | rewrite-expression-head |
| 21× | add-sqr-sqrt_binary64 |
| 19× | cbrt-prod_binary64 |
| 13× | *-un-lft-identity_binary64 |
| 13× | add-cube-cbrt_binary64 |
| 11× | pow1_binary64 |
4 calls:
| 5.0ms | (*.f64 (cbrt.f64 re) (cbrt.f64 re)) |
| 1.0ms | (cbrt.f64 re) |
| 0.0ms | (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re)))) |
| 0.0ms | (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re))))) |
| 1× | egg-herbie |
| 694× | times-frac_binary64 |
| 657× | fma-neg_binary64 |
| 363× | distribute-neg-frac_binary64 |
| 343× | associate-/r*_binary64 |
| 273× | associate-/l*_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 128 | 1113 |
| 1 | 257 | 950 |
| 2 | 834 | 854 |
| 3 | 3431 | 839 |
| 4 | 4624 | 827 |
| 5 | 4982 | 827 |
| 6 | 4731 | 827 |
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 400 | 2 | 402 |
| Fresh | 0 | 2 | 2 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 401 | 5 | 406 |
| Status | Error | Program |
| 30.9b | (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) | |
| 15.5b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re))) (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re)))))))) | |
| 56.6b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))) | |
| ▶ | 12.9b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re))))) (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2)))))))) |
| ✓ | 11.2b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) |
Compiled 18201 to 4270 computations (76.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.6b | (cbrt.f64 re) | |
| ✓ | 0.9b | (pow.f64 (cbrt.f64 (cbrt.f64 re)) 4) |
| 12.5b | (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re))))) | |
| ✓ | 59.0b | (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2)))) |
2 calls:
| 293.0ms | (pow.f64 (cbrt.f64 (cbrt.f64 re)) 4) |
| 47.0ms | (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2)))) |
| 1× | rewrite-expression-head |
| 9× | cbrt-prod_binary64 |
| 9× | unpow-prod-down_binary64 |
| 6× | *-un-lft-identity_binary64 |
| 6× | add-sqr-sqrt_binary64 |
| 6× | add-cube-cbrt_binary64 |
2 calls:
| 2.0ms | (pow.f64 (cbrt.f64 (cbrt.f64 re)) 4) |
| 2.0ms | (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2)))) |
| 1× | egg-herbie |
| 1034× | fma-def_binary64 |
| 599× | exp-prod_binary64 |
| 342× | fma-neg_binary64 |
| 273× | distribute-rgt-neg-in_binary64 |
| 273× | unswap-sqr_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 76 | 977 |
| 1 | 134 | 748 |
| 2 | 268 | 530 |
| 3 | 788 | 486 |
| 4 | 1852 | 464 |
| 5 | 3945 | 464 |
| 6 | 4866 | 464 |
| 7 | 4372 | 464 |
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 259 | 1 | 260 |
| Fresh | 0 | 3 | 3 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 260 | 5 | 265 |
| Status | Error | Program |
| 30.9b | (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) | |
| 15.5b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re))) (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re)))))))) | |
| ▶ | 13.0b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (sqrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re)))))) (sqrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re))))))) (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2)))))))) |
| 56.6b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))) | |
| ✓ | 11.2b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) |
Compiled 13313 to 4421 computations (66.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.6b | (cbrt.f64 re) | |
| 0.9b | (pow.f64 (cbrt.f64 (cbrt.f64 re)) 4) | |
| 12.5b | (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re))))) | |
| 59.0b | (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2)))) |
5 alts after pruning (3 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 349 | 0 | 349 |
| Fresh | 0 | 3 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 349 | 5 | 354 |
| Status | Error | Program |
| 30.9b | (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) | |
| 15.5b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re))) (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re)))))))) | |
| ✓ | 13.0b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (sqrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re)))))) (sqrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 (*.f64 (cbrt.f64 re) (*.f64 (cbrt.f64 re) (cbrt.f64 re))))))) (fma.f64 (neg.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (*.f64 (cbrt.f64 re) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2)))))))) |
| 56.6b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))) | |
| ✓ | 11.2b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) |
Compiled 24970 to 6168 computations (75.3% saved)
Total 2.7b remaining (28%)
Threshold costs 0b (0%)
Compiled 52692 to 26404 computations (49.9% saved)
Compiled 15 to 10 computations (33.3% saved)
| 1× | egg-herbie |
| 7× | *-commutative_binary64 |
| 4× | +-commutative_binary64 |
| 3× | sub-neg_binary64 |
| 1× | neg-sub0_binary64 |
| 1× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 27 | 58 |
| 1 | 37 | 58 |
| 2 | 42 | 58 |
| 3 | 44 | 58 |
| 4 | 45 | 58 |
| 5 | 45 | 58 |
Compiled 216 to 131 computations (39.4% saved)
Loading profile data...