Time bar (total: 16.6s)
| 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)
| 2.0s | 6580× | body | 128 | valid |
| 1.1s | 790× | body | 1024 | valid |
| 522.0ms | 548× | body | 512 | valid |
| 208.0ms | 338× | body | 256 | valid |
Compiled 68 to 60 computations (11.8% saved)
| 2× | egg-herbie |
| 714× | fma-def_binary64 |
| 500× | unswap-sqr_binary64 |
| 324× | associate-*l/_binary64 |
| 288× | associate-*r/_binary64 |
| 262× | associate-*r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 88 | 294 |
| 1 | 237 | 259 |
| 2 | 654 | 259 |
| 3 | 3190 | 259 |
| 0 | 4 | 4 |
| 1 | 4 | 4 |
| 1× | unsound |
| 1× | node limit |
(sort kx ky)
Compiled 33 to 29 computations (12.1% saved)
| 1× | egg-herbie |
| 665× | fma-def_binary64 |
| 578× | associate-*l*_binary64 |
| 512× | unswap-sqr_binary64 |
| 433× | associate-*r*_binary64 |
| 328× | associate-*l/_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 42 |
| 1 | 56 | 37 |
| 2 | 126 | 37 |
| 3 | 580 | 37 |
| 4 | 3386 | 37 |
| 1× | node limit |
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 |
| ▶ | 2.0b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 2 (/.f64 l Om)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1))))) |
Compiled 113 to 95 computations (15.9% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 2 (/.f64 l Om)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1))) |
| ✓ | 0.3b | (pow.f64 (sin.f64 ky) 2) |
| ✓ | 2.8b | (fma.f64 (pow.f64 (*.f64 2 (/.f64 l Om)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1) |
| ✓ | 7.3b | (sqrt.f64 (fma.f64 (pow.f64 (*.f64 2 (/.f64 l Om)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)) |
39 calls:
| 78.0ms | (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 2 (/.f64 l Om)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1))) | kx | inf |
| 78.0ms | (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 2 (/.f64 l Om)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1))) | kx | -inf |
| 73.0ms | (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 2 (/.f64 l Om)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1))) | ky | -inf |
| 73.0ms | (/.f64 1/2 (sqrt.f64 (fma.f64 (pow.f64 (*.f64 2 (/.f64 l Om)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1))) | ky | inf |
| 34.0ms | (sqrt.f64 (fma.f64 (pow.f64 (*.f64 2 (/.f64 l Om)) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)) 1)) | Om | inf |
| 1× | batch-egg-rewrite |
| 653× | prod-diff_binary64 |
| 189× | add-sqr-sqrt_binary64 |
| 184× | log1p-expm1-u_binary64 |
| 184× | expm1-log1p-u_binary64 |
| 180× | add-cbrt-cube_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 94 |
| 1 | 402 | 85 |
| 2 | 4920 | 85 |
| 1× | node limit |
| 1× | egg-herbie |
| 424× | fma-neg_binary64 |
| 336× | fma-def_binary64 |
| 266× | *-commutative_binary64 |
| 261× | associate-*r*_binary64 |
| 192× | associate-*r/_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 373 | 11132 |
| 1 | 1219 | 10267 |
| 2 | 4886 | 10261 |
| 1× | node limit |
4 alts after pruning (4 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 217 | 4 | 221 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 218 | 4 | 222 |
| Status | Error | Program |
| 28.5b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (fma.f64 1/2 (*.f64 Om (sqrt.f64 (/.f64 1/4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) (/.f64 (sqrt.f64 (*.f64 4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))) Om))))) | |
| ▶ | 2.0b | (sqrt.f64 (+.f64 1/2 (-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 4 (pow.f64 (/.f64 l Om) 2)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1))))) 1))) |
| 34.9b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (fma.f64 l (sqrt.f64 (*.f64 4 (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 Om Om)) (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 Om Om))))) (*.f64 (sqrt.f64 (/.f64 1/4 (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 Om Om)) (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 Om Om))))) (/.f64 1/2 l)))))) | |
| 24.4b | (sqrt.f64 (+.f64 1/2 1/2)) |
Compiled 12390 to 8574 computations (30.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.4b | (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) |
| ✓ | 2.8b | (fma.f64 (*.f64 4 (pow.f64 (/.f64 l Om) 2)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1) |
| ✓ | 3.6b | (-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 4 (pow.f64 (/.f64 l Om) 2)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1))))) 1) |
| ✓ | 7.3b | (sqrt.f64 (fma.f64 (*.f64 4 (pow.f64 (/.f64 l Om) 2)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1)) |
42 calls:
| 764.0ms | (-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 4 (pow.f64 (/.f64 l Om) 2)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1))))) 1) | kx | -inf |
| 716.0ms | (-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 4 (pow.f64 (/.f64 l Om) 2)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1))))) 1) | kx | inf |
| 681.0ms | (-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 4 (pow.f64 (/.f64 l Om) 2)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1))))) 1) | ky | -inf |
| 679.0ms | (-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 4 (pow.f64 (/.f64 l Om) 2)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1))))) 1) | ky | inf |
| 75.0ms | (-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 4 (pow.f64 (/.f64 l Om) 2)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1))))) 1) | ky | 0 |
| 1× | batch-egg-rewrite |
| 203× | add-sqr-sqrt_binary64 |
| 198× | expm1-log1p-u_binary64 |
| 197× | log1p-expm1-u_binary64 |
| 192× | add-cbrt-cube_binary64 |
| 192× | add-log-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 90 |
| 1 | 438 | 90 |
| 1× | node limit |
| 1× | egg-herbie |
| 423× | fma-def_binary64 |
| 361× | times-frac_binary64 |
| 297× | associate-/l*_binary64 |
| 286× | associate-/r*_binary64 |
| 264× | associate-*l*_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 441 | 13088 |
| 1 | 1537 | 12417 |
| 1× | node limit |
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 248 | 0 | 248 |
| Fresh | 0 | 3 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 248 | 4 | 252 |
| Status | Error | Program |
| 28.5b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (fma.f64 1/2 (*.f64 Om (sqrt.f64 (/.f64 1/4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) (/.f64 (sqrt.f64 (*.f64 4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))) Om))))) | |
| ✓ | 2.0b | (sqrt.f64 (+.f64 1/2 (-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 4 (pow.f64 (/.f64 l Om) 2)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1))))) 1))) |
| 34.9b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (fma.f64 l (sqrt.f64 (*.f64 4 (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 Om Om)) (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 Om Om))))) (*.f64 (sqrt.f64 (/.f64 1/4 (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 Om Om)) (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 Om Om))))) (/.f64 1/2 l)))))) | |
| ▶ | 24.4b | (sqrt.f64 (+.f64 1/2 1/2)) |
Compiled 16385 to 11373 computations (30.6% saved)
4 alts after pruning (2 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 0 | 4 | 4 |
| Status | Error | Program |
| ▶ | 28.5b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (fma.f64 1/2 (*.f64 Om (sqrt.f64 (/.f64 1/4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) (/.f64 (sqrt.f64 (*.f64 4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))) Om))))) |
| ✓ | 2.0b | (sqrt.f64 (+.f64 1/2 (-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 4 (pow.f64 (/.f64 l Om) 2)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1))))) 1))) |
| 34.9b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (fma.f64 l (sqrt.f64 (*.f64 4 (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 Om Om)) (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 Om Om))))) (*.f64 (sqrt.f64 (/.f64 1/4 (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 Om Om)) (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 Om Om))))) (/.f64 1/2 l)))))) | |
| ✓ | 24.4b | (sqrt.f64 (+.f64 1/2 1/2)) |
Compiled 242 to 174 computations (28.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 1.3b | (*.f64 Om (sqrt.f64 (/.f64 1/4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) |
| ✓ | 3.5b | (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))) |
| ✓ | 26.8b | (sqrt.f64 (/.f64 1/4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))) |
| ✓ | 27.2b | (sqrt.f64 (*.f64 4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))) |
39 calls:
| 31.0ms | (*.f64 Om (sqrt.f64 (/.f64 1/4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) | kx | -inf |
| 29.0ms | (sqrt.f64 (/.f64 1/4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))) | l | -inf |
| 28.0ms | (*.f64 Om (sqrt.f64 (/.f64 1/4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) | ky | inf |
| 28.0ms | (*.f64 Om (sqrt.f64 (/.f64 1/4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) | l | inf |
| 27.0ms | (sqrt.f64 (/.f64 1/4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))) | kx | inf |
| 1× | batch-egg-rewrite |
| 197× | add-sqr-sqrt_binary64 |
| 194× | log1p-expm1-u_binary64 |
| 194× | expm1-log1p-u_binary64 |
| 191× | add-cbrt-cube_binary64 |
| 190× | add-log-exp_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 98 |
| 1 | 428 | 59 |
| 1× | node limit |
| 1× | egg-herbie |
| 480× | cancel-sign-sub-inv_binary64 |
| 236× | associate-/r*_binary64 |
| 230× | fma-neg_binary64 |
| 228× | times-frac_binary64 |
| 193× | fma-def_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 226 | 4662 |
| 1 | 785 | 4342 |
| 2 | 3332 | 4342 |
| 1× | node limit |
4 alts after pruning (1 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 234 | 0 | 234 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 234 | 4 | 238 |
| Status | Error | Program |
| ✓ | 28.5b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (fma.f64 1/2 (*.f64 Om (sqrt.f64 (/.f64 1/4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) (/.f64 (sqrt.f64 (*.f64 4 (*.f64 (*.f64 l l) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))) Om))))) |
| ✓ | 2.0b | (sqrt.f64 (+.f64 1/2 (-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 4 (pow.f64 (/.f64 l Om) 2)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1))))) 1))) |
| 34.9b | (sqrt.f64 (+.f64 1/2 (/.f64 1/2 (fma.f64 l (sqrt.f64 (*.f64 4 (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 Om Om)) (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 Om Om))))) (*.f64 (sqrt.f64 (/.f64 1/4 (+.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 Om Om)) (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 Om Om))))) (/.f64 1/2 l)))))) | |
| ✓ | 24.4b | (sqrt.f64 (+.f64 1/2 1/2)) |
Compiled 11690 to 7151 computations (38.8% saved)
Total 0.7b remaining (78.1%)
Threshold costs 0.7b (78.1%)
Compiled 143359 to 111803 computations (22% saved)
| 1× | egg-herbie |
| 2× | +-commutative_binary64 |
| 1× | *-commutative_binary64 |
| 1× | sub-neg_binary64 |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 41 |
| 1 | 31 | 41 |
| 2 | 32 | 41 |
| 1× | saturated |
| 1× | fuel |
(sort kx ky)
Compiled 260 to 208 computations (20% saved)
Loading profile data...