Time bar (total: 3.8s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.9% | 0.1% | 0 |
| 99.9% | 0% | 0.1% | 1 |
Compiled 11 to 7 computations (36.4% saved)
| 591.0ms | 8256× | body | 128 | valid |
Compiled 32 to 20 computations (37.5% saved)
| 1× | egg-herbie |
| 4× | fma-def_binary64 |
| 2× | *-commutative_binary64 |
| 1× | +-commutative_binary64 |
| 1× | associate-*r*_binary64 |
| 1× | associate-*l*_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 10 |
| 1 | 12 | 8 |
| 2 | 16 | 8 |
| 3 | 17 | 8 |
| 4 | 17 | 8 |
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
| 0.1b | (fma.f64 z (*.f64 y z) x) | |
| ▶ | 0.1b | (+.f64 x (*.f64 (*.f64 y z) z)) |
Compiled 54 to 29 computations (46.3% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (+.f64 x (*.f64 (*.f64 y z) z)) |
| ✓ | 0.1b | (*.f64 (*.f64 y z) z) |
2 calls:
| 11.0ms | (+.f64 x (*.f64 (*.f64 y z) z)) |
| 8.0ms | (*.f64 (*.f64 y z) z) |
| 1× | rewrite-expression-head |
| 7× | add-cbrt-cube_binary64 |
| 7× | add-exp-log_binary64 |
| 7× | pow1_binary64 |
| 4× | *-un-lft-identity_binary64 |
| 4× | add-sqr-sqrt_binary64 |
2 calls:
| 4.0ms | (*.f64 (*.f64 y z) z) |
| 2.0ms | (+.f64 x (*.f64 (*.f64 y z) z)) |
| 1× | egg-herbie |
| 781× | fma-def_binary64 |
| 602× | fma-neg_binary64 |
| 542× | distribute-rgt-in_binary64 |
| 454× | distribute-lft-in_binary64 |
| 284× | unswap-sqr_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 63 | 798 |
| 1 | 172 | 780 |
| 2 | 567 | 775 |
| 3 | 1235 | 773 |
| 4 | 2737 | 773 |
| 5 | 4684 | 773 |
| 6 | 4942 | 773 |
5 alts after pruning (5 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 53 | 4 | 57 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 54 | 5 | 59 |
| Status | Error | Program |
| 31.5b | (+.f64 x (*.f64 (*.f64 (*.f64 y z) (sqrt.f64 z)) (sqrt.f64 z))) | |
| 20.3b | (+.f64 x (*.f64 (sqrt.f64 (*.f64 (*.f64 y z) z)) (sqrt.f64 (*.f64 (*.f64 y z) z)))) | |
| 2.8b | (fma.f64 y (*.f64 z z) x) | |
| ▶ | 0.1b | (fma.f64 z (*.f64 y z) x) |
| 1.0b | (*.f64 (*.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) |
Compiled 863 to 262 computations (69.6% saved)
Found 1 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (fma.f64 z (*.f64 y z) x) |
1 calls:
| 11.0ms | (fma.f64 z (*.f64 y z) x) |
| 1× | rewrite-expression-head |
| 1× | *-un-lft-identity_binary64 |
| 1× | add-sqr-sqrt_binary64 |
| 1× | add-cube-cbrt_binary64 |
| 1× | add-cbrt-cube_binary64 |
| 1× | add-exp-log_binary64 |
1 calls:
| 1.0ms | (fma.f64 z (*.f64 y z) x) |
| 1× | egg-herbie |
| 557× | fma-def_binary64 |
| 534× | unswap-sqr_binary64 |
| 444× | *-commutative_binary64 |
| 374× | distribute-rgt-in_binary64 |
| 370× | distribute-lft-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 382 |
| 1 | 32 | 365 |
| 2 | 56 | 365 |
| 3 | 152 | 365 |
| 4 | 615 | 365 |
| 5 | 2186 | 365 |
| 6 | 2764 | 365 |
| 7 | 4969 | 365 |
| 8 | 5049 | 365 |
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 23 | 0 | 23 |
| Fresh | 0 | 4 | 4 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 23 | 5 | 28 |
| Status | Error | Program |
| 31.5b | (+.f64 x (*.f64 (*.f64 (*.f64 y z) (sqrt.f64 z)) (sqrt.f64 z))) | |
| 20.3b | (+.f64 x (*.f64 (sqrt.f64 (*.f64 (*.f64 y z) z)) (sqrt.f64 (*.f64 (*.f64 y z) z)))) | |
| 2.8b | (fma.f64 y (*.f64 z z) x) | |
| ✓ | 0.1b | (fma.f64 z (*.f64 y z) x) |
| ▶ | 1.0b | (*.f64 (*.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) |
Compiled 376 to 119 computations (68.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.1b | (*.f64 (*.f64 y z) z) | |
| ✓ | 0.2b | (*.f64 (*.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) |
| ✓ | 0.5b | (*.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) |
| ✓ | 16.1b | (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) |
3 calls:
| 100.0ms | (*.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) |
| 96.0ms | (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) |
| 18.0ms | (*.f64 (*.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) |
| 1× | rewrite-expression-head |
| 68× | cbrt-div_binary64 |
| 34× | flip-+_binary64 |
| 34× | flip3-+_binary64 |
| 32× | frac-times_binary64 |
| 29× | pow1_binary64 |
3 calls:
| 54.0ms | (*.f64 (*.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) |
| 14.0ms | (*.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) |
| 3.0ms | (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) |
| 1× | egg-herbie |
| 407× | associate-*r*_binary64 |
| 362× | unswap-sqr_binary64 |
| 350× | associate-*l*_binary64 |
| 293× | times-frac_binary64 |
| 272× | associate-/r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 423 | 8914 |
| 1 | 1222 | 8343 |
| 2 | 4193 | 7932 |
| 3 | 5323 | 7932 |
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 534 | 1 | 535 |
| Fresh | 0 | 3 | 3 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 535 | 5 | 540 |
| Status | Error | Program |
| 31.5b | (+.f64 x (*.f64 (*.f64 (*.f64 y z) (sqrt.f64 z)) (sqrt.f64 z))) | |
| 20.3b | (+.f64 x (*.f64 (sqrt.f64 (*.f64 (*.f64 y z) z)) (sqrt.f64 (*.f64 (*.f64 y z) z)))) | |
| 2.8b | (fma.f64 y (*.f64 z z) x) | |
| ▶ | 1.3b | (*.f64 (*.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))))) (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))))) |
| ✓ | 0.1b | (fma.f64 z (*.f64 y z) x) |
Compiled 23898 to 7742 computations (67.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.5b | (*.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) | |
| ✓ | 0.5b | (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))))) |
| ✓ | 0.5b | (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) |
| 16.1b | (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) |
2 calls:
| 104.0ms | (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))))) |
| 63.0ms | (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) |
| 1× | rewrite-expression-head |
| 63× | cbrt-prod_binary64 |
| 34× | add-sqr-sqrt_binary64 |
| 28× | cbrt-div_binary64 |
| 16× | *-un-lft-identity_binary64 |
| 16× | add-cube-cbrt_binary64 |
2 calls:
| 9.0ms | (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))))) |
| 2.0ms | (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) |
| 1× | egg-herbie |
| 361× | associate-*r*_binary64 |
| 337× | unswap-sqr_binary64 |
| 293× | times-frac_binary64 |
| 280× | associate-/r*_binary64 |
| 254× | associate-*l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 421 | 7556 |
| 1 | 1210 | 6782 |
| 2 | 4071 | 6459 |
| 3 | 5130 | 6459 |
5 alts after pruning (3 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 896 | 0 | 896 |
| Fresh | 0 | 3 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 896 | 5 | 901 |
| Status | Error | Program |
| 31.5b | (+.f64 x (*.f64 (*.f64 (*.f64 y z) (sqrt.f64 z)) (sqrt.f64 z))) | |
| 20.3b | (+.f64 x (*.f64 (sqrt.f64 (*.f64 (*.f64 y z) z)) (sqrt.f64 (*.f64 (*.f64 y z) z)))) | |
| 2.8b | (fma.f64 y (*.f64 z z) x) | |
| ✓ | 1.3b | (*.f64 (*.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))) (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))) (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z))))) (cbrt.f64 (cbrt.f64 (+.f64 x (*.f64 (*.f64 y z) z)))))) |
| ✓ | 0.1b | (fma.f64 z (*.f64 y z) x) |
Compiled 62330 to 18080 computations (71% saved)
Total 0.0b remaining (68.8%)
Threshold costs 0.0b (68.8%)
Compiled 8270 to 2696 computations (67.4% saved)
| 1× | egg-herbie |
| 1× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 8 |
| 1 | 7 | 8 |
| 2 | 7 | 8 |
Compiled 118 to 48 computations (59.3% saved)
Loading profile data...