Time bar (total: 14.1s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.8% | 0.2% | 0 |
| 0% | 99.8% | 0.2% | 1 |
| 0% | 99.8% | 0.2% | 2 |
| 49.9% | 49.9% | 0.2% | 3 |
| 49.9% | 49.9% | 0.2% | 4 |
| 49.9% | 49.9% | 0.2% | 5 |
| 49.9% | 49.9% | 0.2% | 6 |
| 74.9% | 25% | 0.2% | 7 |
| 74.9% | 25% | 0.2% | 8 |
| 74.9% | 25% | 0.2% | 9 |
| 74.9% | 25% | 0.2% | 10 |
| 87.3% | 12.5% | 0.2% | 11 |
| 87.3% | 12.5% | 0.2% | 12 |
| 87.3% | 12.5% | 0.2% | 13 |
| 87.3% | 12.5% | 0.2% | 14 |
Compiled 34 to 30 computations (11.8% saved)
| 1× | intervals |
| 45.0ms | 204× | body | 128 | valid |
| 38.0ms | 26× | body | 1024 | valid |
| 13.0ms | 17× | body | 512 | valid |
| 4.0ms | 9× | body | 256 | valid |
Compiled 71 to 63 computations (11.3% saved)
| 1× | egg-herbie |
| 575× | associate-*l*_binary64 |
| 512× | unswap-sqr_binary64 |
| 437× | associate-*r*_binary64 |
| 407× | distribute-rgt-out_binary64 |
| 369× | associate-/r/_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 42 |
| 1 | 56 | 39 |
| 2 | 107 | 39 |
| 3 | 429 | 39 |
| 4 | 2037 | 39 |
| 5 | 4850 | 39 |
| 6 | 4809 | 39 |
| 7 | 5523 | 39 |
1 alts after pruning (1 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 1 | 1 | 2 |
| Status | Error | Program |
| ▶ | 0.8b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))) |
Compiled 87 to 75 computations (13.8% saved)
Found 4 expressions with local error:
| 0.3b | (pow.f64 (sin.f64 kx) 2) |
| 0.3b | (pow.f64 (sin.f64 ky) 2) |
| 2.9b | (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))) |
| 8.9b | (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))) |
| 1× | rewrite-expression-head |
| 20× | add-sqr-sqrt_binary64 |
| 18× | add-exp-log_binary64 |
| 17× | *-un-lft-identity_binary64 |
| 16× | unpow-prod-down_binary64 |
| 13× | add-cube-cbrt_binary64 |
4 calls:
| 14.0ms | (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))) |
| 3.0ms | (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))) |
| 2.0ms | (pow.f64 (sin.f64 ky) 2) |
| 2.0ms | (pow.f64 (sin.f64 kx) 2) |
Compiled 3007 to 2262 computations (24.8% saved)
4 calls:
| 190.0ms | (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))) |
| 145.0ms | (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))) |
| 14.0ms | (pow.f64 (sin.f64 kx) 2) |
| 13.0ms | (pow.f64 (sin.f64 ky) 2) |
Compiled 3692 to 3071 computations (16.8% saved)
| 1× | egg-herbie |
| 352× | distribute-rgt-in_binary64 |
| 338× | distribute-lft-in_binary64 |
| 324× | unswap-sqr_binary64 |
| 319× | times-frac_binary64 |
| 171× | associate-*r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 307 | 4162 |
| 1 | 684 | 3954 |
| 2 | 1985 | 3562 |
| 3 | 4804 | 3562 |
| 4 | 4969 | 3562 |
2 alts after pruning (1 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 105 | 1 | 106 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 105 | 2 | 107 |
| Status | Error | Program |
| ▶ | 28.6b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (+.f64 (*.f64 l (sqrt.f64 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om))))) (*.f64 1/2 (/.f64 (sqrt.f64 (/.f64 1 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om))))) l)))))) |
| ✓ | 0.8b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))) |
Compiled 2185 to 1608 computations (26.4% saved)
Found 4 expressions with local error:
| 2.9b | (/.f64 (pow.f64 (sin.f64 kx) 2) Om) |
| 2.9b | (/.f64 (pow.f64 (sin.f64 kx) 2) Om) |
| 29.6b | (sqrt.f64 (/.f64 1 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om))))) |
| 30.0b | (sqrt.f64 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om)))) |
| 1× | rewrite-expression-head |
| 51× | times-frac_binary64 |
| 41× | add-sqr-sqrt_binary64 |
| 40× | *-un-lft-identity_binary64 |
| 40× | add-cube-cbrt_binary64 |
| 24× | unpow-prod-down_binary64 |
4 calls:
| 81.0ms | (sqrt.f64 (/.f64 1 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om))))) |
| 65.0ms | (sqrt.f64 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om)))) |
| 11.0ms | (/.f64 (pow.f64 (sin.f64 kx) 2) Om) |
| 9.0ms | (/.f64 (pow.f64 (sin.f64 kx) 2) Om) |
Compiled 8249 to 5463 computations (33.8% saved)
4 calls:
| 244.0ms | (sqrt.f64 (/.f64 1 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om))))) |
| 205.0ms | (sqrt.f64 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om)))) |
| 52.0ms | (/.f64 (pow.f64 (sin.f64 kx) 2) Om) |
| 51.0ms | (/.f64 (pow.f64 (sin.f64 kx) 2) Om) |
Compiled 4785 to 3462 computations (27.6% saved)
| 1× | egg-herbie |
| 887× | times-frac_binary64 |
| 800× | associate-/l*_binary64 |
| 272× | associate-/r/_binary64 |
| 194× | associate-/l/_binary64 |
| 122× | *-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 373 | 6208 |
| 1 | 789 | 5780 |
| 2 | 2013 | 5698 |
| 3 | 5446 | 5698 |
2 alts after pruning (0 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 130 | 0 | 130 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 130 | 2 | 132 |
| Status | Error | Program |
| ✓ | 28.6b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (+.f64 (*.f64 l (sqrt.f64 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om))))) (*.f64 1/2 (/.f64 (sqrt.f64 (/.f64 1 (*.f64 (/.f64 4 Om) (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) Om) (/.f64 (pow.f64 (sin.f64 kx) 2) Om))))) l)))))) |
| ✓ | 0.8b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 2 l) Om) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))) |
Compiled 4822 to 3131 computations (35.1% saved)
Total 0.6b remaining (79.2%)
Threshold costs 0.6b (79.2%)
Compiled 57048 to 45644 computations (20% saved)
| 1× | egg-herbie |
| 3× | +-commutative_binary64 |
| 3× | *-commutative_binary64 |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 45 |
| 1 | 30 | 45 |
| 2 | 29 | 45 |
(sort kx ky)
Compiled 99 to 81 computations (18.2% saved)
| 1× | intervals |
| 2.7s | 6423× | body | 128 | valid |
| 1.5s | 719× | body | 1024 | valid |
| 855.0ms | 557× | body | 512 | valid |
| 268.0ms | 301× | body | 256 | valid |
Compiled 154 to 126 computations (18.2% saved)
Loading profile data...