Time bar (total: 2.5s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.9% | 0.1% | 0 |
| 99.9% | 0% | 0.1% | 1 |
Compiled 10 to 7 computations (30% saved)
| 460.0ms | 8256× | body | 128 | valid |
Compiled 29 to 20 computations (31% saved)
| 1× | egg-herbie |
| 265× | fma-def_binary64 |
| 84× | fma-neg_binary64 |
| 35× | distribute-rgt-in_binary64 |
| 26× | unsub-neg_binary64 |
| 25× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 10 |
| 1 | 16 | 10 |
| 2 | 31 | 10 |
| 3 | 63 | 10 |
| 4 | 134 | 10 |
| 5 | 183 | 10 |
| 6 | 236 | 10 |
| 7 | 328 | 10 |
| 8 | 360 | 10 |
| 9 | 359 | 10 |
| 10 | 389 | 10 |
| 11 | 346 | 10 |
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
| ▶ | 0.1b | (*.f64 x (-.f64 1 (*.f64 x y))) |
Compiled 27 to 18 computations (33.3% saved)
Found 1 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (*.f64 x (-.f64 1 (*.f64 x y))) |
1 calls:
| 7.0ms | (*.f64 x (-.f64 1 (*.f64 x y))) |
| 1× | rewrite-expression-head |
| 7× | add-sqr-sqrt_binary64 |
| 6× | prod-diff_binary64 |
| 5× | distribute-lft-in_binary64 |
| 5× | distribute-rgt-in_binary64 |
| 5× | *-un-lft-identity_binary64 |
1 calls:
| 5.0ms | (*.f64 x (-.f64 1 (*.f64 x y))) |
| 1× | egg-herbie |
| 888× | fma-def_binary64 |
| 584× | unsub-neg_binary64 |
| 561× | distribute-neg-out_binary64 |
| 311× | associate-*l*_binary64 |
| 293× | unswap-sqr_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 69 | 723 |
| 1 | 140 | 663 |
| 2 | 421 | 626 |
| 3 | 1318 | 606 |
| 4 | 2818 | 606 |
| 5 | 5568 | 606 |
7 alts after pruning (7 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 44 | 7 | 51 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 45 | 7 | 52 |
| Status | Error | Program |
| 1.0b | (*.f64 (*.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) | |
| 6.9b | (-.f64 x (*.f64 y (pow.f64 x 2))) | |
| 16.1b | (*.f64 (*.f64 x (sqrt.f64 (-.f64 1 (*.f64 x y)))) (sqrt.f64 (-.f64 1 (*.f64 x y)))) | |
| 25.6b | (/.f64 (fma.f64 (pow.f64 x 3) (*.f64 y (neg.f64 y)) x) (+.f64 1 (*.f64 x y))) | |
| 23.2b | (/.f64 (*.f64 x (-.f64 1 (pow.f64 (*.f64 x y) 3))) (+.f64 (*.f64 1 1) (+.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (*.f64 1 (*.f64 x y))))) | |
| ▶ | 0.1b | (+.f64 (*.f64 1 x) (*.f64 (neg.f64 (*.f64 x y)) x)) |
| 9.6b | (+.f64 (*.f64 (fma.f64 1 1 (neg.f64 (*.f64 y x))) x) (*.f64 (fma.f64 (neg.f64 y) x (*.f64 y x)) x)) |
Compiled 962 to 457 computations (52.5% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (+.f64 (*.f64 1 x) (*.f64 (neg.f64 (*.f64 x y)) x)) |
| ✓ | 0.1b | (*.f64 (neg.f64 (*.f64 x y)) x) |
2 calls:
| 10.0ms | (*.f64 (neg.f64 (*.f64 x y)) x) |
| 9.0ms | (+.f64 (*.f64 1 x) (*.f64 (neg.f64 (*.f64 x y)) x)) |
| 1× | rewrite-expression-head |
| 6× | associate-*l*_binary64 |
| 6× | add-sqr-sqrt_binary64 |
| 4× | *-un-lft-identity_binary64 |
| 4× | add-cube-cbrt_binary64 |
| 4× | add-cbrt-cube_binary64 |
2 calls:
| 3.0ms | (*.f64 (neg.f64 (*.f64 x y)) x) |
| 3.0ms | (+.f64 (*.f64 1 x) (*.f64 (neg.f64 (*.f64 x y)) x)) |
| 1× | egg-herbie |
| 786× | unsub-neg_binary64 |
| 423× | times-frac_binary64 |
| 380× | neg-sub0_binary64 |
| 365× | neg-mul-1_binary64 |
| 320× | distribute-lft-neg-out_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 69 | 933 |
| 1 | 189 | 909 |
| 2 | 748 | 899 |
| 3 | 2086 | 893 |
| 4 | 3687 | 893 |
| 5 | 4607 | 893 |
| 6 | 5301 | 893 |
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 69 | 1 | 70 |
| Fresh | 1 | 5 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 70 | 7 | 77 |
| Status | Error | Program |
| ▶ | 1.0b | (*.f64 (*.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) |
| 6.9b | (-.f64 x (*.f64 y (pow.f64 x 2))) | |
| 16.1b | (*.f64 (*.f64 x (sqrt.f64 (-.f64 1 (*.f64 x y)))) (sqrt.f64 (-.f64 1 (*.f64 x y)))) | |
| 25.6b | (/.f64 (fma.f64 (pow.f64 x 3) (*.f64 y (neg.f64 y)) x) (+.f64 1 (*.f64 x y))) | |
| 29.6b | (+.f64 (*.f64 1 x) (*.f64 (*.f64 y (neg.f64 (pow.f64 x 3/2))) (sqrt.f64 x))) | |
| ✓ | 0.1b | (+.f64 (*.f64 1 x) (*.f64 (neg.f64 (*.f64 x y)) x)) |
| 9.6b | (+.f64 (*.f64 (fma.f64 1 1 (neg.f64 (*.f64 y x))) x) (*.f64 (fma.f64 (neg.f64 y) x (*.f64 y x)) x)) |
Compiled 1284 to 530 computations (58.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.1b | (*.f64 x (-.f64 1 (*.f64 x y))) | |
| ✓ | 0.2b | (*.f64 (*.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) |
| ✓ | 0.4b | (*.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) |
| ✓ | 14.7b | (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) |
3 calls:
| 40.0ms | (*.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) |
| 30.0ms | (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) |
| 16.0ms | (*.f64 (*.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) |
| 1× | rewrite-expression-head |
| 78× | associate-*r/_binary64 |
| 68× | cbrt-div_binary64 |
| 34× | flip--_binary64 |
| 34× | flip3--_binary64 |
| 32× | frac-times_binary64 |
3 calls:
| 8.0ms | (*.f64 (*.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) |
| 5.0ms | (*.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) |
| 3.0ms | (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) |
| 1× | egg-herbie |
| 734× | cancel-sign-sub-inv_binary64 |
| 304× | associate-/r*_binary64 |
| 208× | associate-*l*_binary64 |
| 192× | sub-neg_binary64 |
| 192× | times-frac_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 330 | 6638 |
| 1 | 922 | 6109 |
| 2 | 3303 | 5782 |
| 3 | 5086 | 5782 |
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 524 | 0 | 524 |
| Fresh | 0 | 5 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 524 | 7 | 531 |
| Status | Error | Program |
| ✓ | 1.0b | (*.f64 (*.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) |
| ▶ | 6.9b | (-.f64 x (*.f64 y (pow.f64 x 2))) |
| 16.1b | (*.f64 (*.f64 x (sqrt.f64 (-.f64 1 (*.f64 x y)))) (sqrt.f64 (-.f64 1 (*.f64 x y)))) | |
| 25.6b | (/.f64 (fma.f64 (pow.f64 x 3) (*.f64 y (neg.f64 y)) x) (+.f64 1 (*.f64 x y))) | |
| 29.6b | (+.f64 (*.f64 1 x) (*.f64 (*.f64 y (neg.f64 (pow.f64 x 3/2))) (sqrt.f64 x))) | |
| ✓ | 0.1b | (+.f64 (*.f64 1 x) (*.f64 (neg.f64 (*.f64 x y)) x)) |
| 9.6b | (+.f64 (*.f64 (fma.f64 1 1 (neg.f64 (*.f64 y x))) x) (*.f64 (fma.f64 (neg.f64 y) x (*.f64 y x)) x)) |
Compiled 21625 to 11956 computations (44.7% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (-.f64 x (*.f64 y (pow.f64 x 2))) |
| ✓ | 8.3b | (*.f64 y (pow.f64 x 2)) |
2 calls:
| 81.0ms | (-.f64 x (*.f64 y (pow.f64 x 2))) |
| 15.0ms | (*.f64 y (pow.f64 x 2)) |
| 1× | rewrite-expression-head |
| 13× | add-sqr-sqrt_binary64 |
| 8× | associate-*r*_binary64 |
| 7× | *-un-lft-identity_binary64 |
| 7× | add-cube-cbrt_binary64 |
| 7× | add-exp-log_binary64 |
2 calls:
| 7.0ms | (*.f64 y (pow.f64 x 2)) |
| 5.0ms | (-.f64 x (*.f64 y (pow.f64 x 2))) |
| 1× | egg-herbie |
| 518× | fma-neg_binary64 |
| 448× | associate-*l*_binary64 |
| 412× | unswap-sqr_binary64 |
| 398× | associate-*r*_binary64 |
| 375× | distribute-rgt-neg-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 87 | 730 |
| 1 | 176 | 586 |
| 2 | 495 | 558 |
| 3 | 2159 | 558 |
| 4 | 4134 | 558 |
| 5 | 4989 | 558 |
| 6 | 4819 | 558 |
7 alts after pruning (4 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 82 | 0 | 82 |
| Fresh | 0 | 4 | 4 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 82 | 7 | 89 |
| Status | Error | Program |
| ✓ | 1.0b | (*.f64 (*.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))) |
| ✓ | 6.9b | (-.f64 x (*.f64 y (pow.f64 x 2))) |
| 16.1b | (*.f64 (*.f64 x (sqrt.f64 (-.f64 1 (*.f64 x y)))) (sqrt.f64 (-.f64 1 (*.f64 x y)))) | |
| 25.6b | (/.f64 (fma.f64 (pow.f64 x 3) (*.f64 y (neg.f64 y)) x) (+.f64 1 (*.f64 x y))) | |
| 29.6b | (+.f64 (*.f64 1 x) (*.f64 (*.f64 y (neg.f64 (pow.f64 x 3/2))) (sqrt.f64 x))) | |
| ✓ | 0.1b | (+.f64 (*.f64 1 x) (*.f64 (neg.f64 (*.f64 x y)) x)) |
| 9.6b | (+.f64 (*.f64 (fma.f64 1 1 (neg.f64 (*.f64 y x))) x) (*.f64 (fma.f64 (neg.f64 y) x (*.f64 y x)) x)) |
Compiled 1181 to 607 computations (48.6% saved)
Total 0.1b remaining (83.9%)
Threshold costs 0.1b (83.9%)
Compiled 3360 to 2073 computations (38.3% saved)
| 1× | egg-herbie |
| 6× | *-commutative_binary64 |
| 5× | +-commutative_binary64 |
| 5× | sub-neg_binary64 |
| 4× | distribute-rgt-neg-in_binary64 |
| 4× | neg-sub0_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 10 |
| 1 | 17 | 10 |
| 2 | 26 | 10 |
| 3 | 37 | 10 |
| 4 | 43 | 10 |
| 5 | 46 | 10 |
| 6 | 47 | 10 |
| 7 | 46 | 10 |
Compiled 137 to 86 computations (37.2% saved)
Loading profile data...