Time bar (total: 9.1s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.9% | 0.1% | 0 |
| 0% | 99.9% | 0.1% | 1 |
| 0% | 99.9% | 0.1% | 2 |
| 0% | 99.9% | 0.1% | 3 |
| 0% | 99.9% | 0.1% | 4 |
| 50% | 50% | 0.1% | 5 |
| 50% | 50% | 0.1% | 6 |
| 50% | 40.6% | 9.5% | 7 |
| 50% | 39% | 11% | 8 |
| 50% | 33.6% | 16.5% | 9 |
| 50% | 32.4% | 17.7% | 10 |
| 50% | 29.5% | 20.6% | 11 |
| 50% | 28.8% | 21.3% | 12 |
| 50% | 27.3% | 22.8% | 13 |
| 50% | 26.9% | 23.1% | 14 |
Compiled 14 to 11 computations (21.4% saved)
| 2.9s | 4201× | body | 1024 | valid |
| 1.0s | 1926× | body | 1024 | invalid |
| 827.0ms | 2090× | body | 512 | valid |
| 359.0ms | 1006× | body | 512 | invalid |
| 272.0ms | 1049× | body | 256 | valid |
| 229.0ms | 210× | body | 2048 | valid |
| 131.0ms | 792× | body | 128 | invalid |
| 129.0ms | 545× | body | 256 | invalid |
| 101.0ms | 706× | body | 128 | valid |
Compiled 41 to 32 computations (22% saved)
| 1× | egg-herbie |
| 430× | rules-20_binary64 |
| 425× | rules-15_binary64 |
| 405× | rules-5_binary64 |
| 318× | fma-neg_binary64 |
| 262× | rules-21_binary64 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 18 |
| 1 | 23 | 18 |
| 2 | 52 | 18 |
| 3 | 117 | 18 |
| 4 | 345 | 18 |
| 5 | 1398 | 17 |
| 6 | 3949 | 17 |
| 7 | 4531 | 17 |
| 8 | 4938 | 17 |
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 1 | 2 | 3 |
| Status | Error | Program |
| ▶ | 42.5b | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 50 to 35 computations (30% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (exp.f64 im) |
| ✓ | 0.0b | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ✓ | 6.0b | (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
3 calls:
| 14.0ms | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 2.0ms | (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| 1.0ms | (exp.f64 im) |
| 2× | batch-egg-rewrite |
| 629× | prod-diff_binary64 |
| 296× | egg-rr |
| 203× | expm1-udef_binary64 |
| 203× | log1p-udef_binary64 |
| 114× | add-sqr-sqrt_binary64 |
3 calls:
| 112.0ms | (exp.f64 im) |
| 112.0ms | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 112.0ms | (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 31 |
| 1 | 258 | 31 |
| 2 | 3316 | 31 |
| 3 | 5079 | 31 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 851× | rules-13_binary64 |
| 653× | rules-11_binary64 |
| 550× | fma-neg_binary64 |
| 391× | rules-20_binary64 |
| 297× | rules-21_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 109 | 771 |
| 1 | 364 | 733 |
| 2 | 1656 | 732 |
| 3 | 6495 | 732 |
3 alts after pruning (2 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 329 | 2 | 331 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 329 | 3 | 332 |
| Status | Error | Program |
| ✓ | 42.5b | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 42.5b | (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (sin.f64 re)))) | |
| ▶ | 0.5b | (neg.f64 (*.f64 (sin.f64 re) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))) |
Compiled 11719 to 5479 computations (53.2% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (*.f64 (sin.f64 re) (+.f64 im (*.f64 (pow.f64 im 3) 1/6))) |
| ✓ | 0.1b | (*.f64 (pow.f64 im 3) 1/6) |
2 calls:
| 18.0ms | (*.f64 (sin.f64 re) (+.f64 im (*.f64 (pow.f64 im 3) 1/6))) |
| 3.0ms | (*.f64 (pow.f64 im 3) 1/6) |
| 2× | batch-egg-rewrite |
| 914× | fma-neg_binary64 |
| 661× | prod-diff_binary64 |
| 186× | expm1-udef_binary64 |
| 186× | log1p-udef_binary64 |
| 173× | egg-rr |
2 calls:
| 75.0ms | (*.f64 (sin.f64 re) (+.f64 im (*.f64 (pow.f64 im 3) 1/6))) |
| 75.0ms | (*.f64 (pow.f64 im 3) 1/6) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 22 |
| 1 | 241 | 20 |
| 2 | 3039 | 20 |
| 3 | 5530 | 20 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 634× | fma-def_binary64 |
| 456× | fma-neg_binary64 |
| 402× | rules-11_binary64 |
| 384× | rules-13_binary64 |
| 233× | rules-20_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 51 | 527 |
| 1 | 169 | 507 |
| 2 | 866 | 491 |
| 3 | 4938 | 491 |
| 4 | 5018 | 491 |
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 185 | 4 | 189 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 185 | 7 | 192 |
| Status | Error | Program |
| 1.5b | (neg.f64 (fma.f64 (cbrt.f64 (fma.f64 (pow.f64 im 3) 1/6 im)) (*.f64 (sin.f64 re) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 3) 1/6 im)) 2)) 0)) | |
| 1.4b | (neg.f64 (fma.f64 (cbrt.f64 (sin.f64 re)) (*.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) 0)) | |
| ▶ | 0.6b | (neg.f64 (/.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (/.f64 1 (sin.f64 re)))) |
| ✓ | 42.5b | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 42.5b | (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (sin.f64 re)))) | |
| ✓ | 0.5b | (neg.f64 (*.f64 (sin.f64 re) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))) |
| 34.4b | (neg.f64 (fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (sqrt.f64 (sin.f64 re))) 0)) |
Compiled 4456 to 2972 computations (33.3% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (/.f64 1 (sin.f64 re)) |
| ✓ | 0.2b | (/.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (/.f64 1 (sin.f64 re))) |
2 calls:
| 16.0ms | (/.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (/.f64 1 (sin.f64 re))) |
| 5.0ms | (/.f64 1 (sin.f64 re)) |
| 2× | batch-egg-rewrite |
| 680× | fma-neg_binary64 |
| 369× | fma-def_binary64 |
| 272× | prod-diff_binary64 |
| 177× | expm1-udef_binary64 |
| 177× | log1p-udef_binary64 |
2 calls:
| 93.0ms | (/.f64 1 (sin.f64 re)) |
| 93.0ms | (/.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (/.f64 1 (sin.f64 re))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 19 |
| 1 | 246 | 19 |
| 2 | 2739 | 19 |
| 3 | 4968 | 19 |
| 4 | 4964 | 19 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 725× | fma-def_binary64 |
| 465× | rules-13_binary64 |
| 456× | fma-neg_binary64 |
| 402× | rules-11_binary64 |
| 261× | rules-20_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 498 |
| 1 | 205 | 472 |
| 2 | 1016 | 456 |
| 3 | 4879 | 456 |
| 4 | 5002 | 456 |
7 alts after pruning (4 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 144 | 2 | 146 |
| Fresh | 2 | 2 | 4 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 146 | 7 | 153 |
| Status | Error | Program |
| 1.4b | (neg.f64 (fma.f64 (cbrt.f64 (sin.f64 re)) (*.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) 0)) | |
| ▶ | 1.3b | (neg.f64 (/.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) -1) (pow.f64 (cbrt.f64 (sin.f64 re)) -1)))) |
| 4.0b | (neg.f64 (/.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (*.f64 (/.f64 1 (cbrt.f64 (sin.f64 re))) (cbrt.f64 (pow.f64 (sin.f64 re) -2))))) | |
| ✓ | 42.5b | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ✓ | 0.6b | (neg.f64 (/.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (/.f64 1 (sin.f64 re)))) |
| 42.5b | (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (sin.f64 re)))) | |
| ✓ | 0.5b | (neg.f64 (*.f64 (sin.f64 re) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))) |
Compiled 3071 to 2092 computations (31.9% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) -1) |
| ✓ | 0.4b | (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) -1) (pow.f64 (cbrt.f64 (sin.f64 re)) -1)) |
| ✓ | 0.5b | (pow.f64 (cbrt.f64 (sin.f64 re)) 2) |
| ✓ | 0.6b | (cbrt.f64 (sin.f64 re)) |
4 calls:
| 146.0ms | (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) -1) |
| 126.0ms | (pow.f64 (cbrt.f64 (sin.f64 re)) 2) |
| 124.0ms | (cbrt.f64 (sin.f64 re)) |
| 6.0ms | (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) -1) (pow.f64 (cbrt.f64 (sin.f64 re)) -1)) |
| 2× | batch-egg-rewrite |
| 767× | log1p-expm1-u_binary64 |
| 767× | expm1-log1p-u_binary64 |
| 199× | prod-diff_binary64 |
| 182× | egg-rr |
| 88× | add-sqr-sqrt_binary64 |
4 calls:
| 66.0ms | (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) -1) |
| 66.0ms | (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) -1) (pow.f64 (cbrt.f64 (sin.f64 re)) -1)) |
| 66.0ms | (pow.f64 (cbrt.f64 (sin.f64 re)) 2) |
| 66.0ms | (cbrt.f64 (sin.f64 re)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 27 |
| 1 | 232 | 23 |
| 2 | 2321 | 23 |
| 3 | 5290 | 23 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 856× | rules-13_binary64 |
| 624× | rules-20_binary64 |
| 366× | rules-21_binary64 |
| 313× | rules-14-rev_binary64 |
| 231× | fma-def_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 93 | 547 |
| 1 | 213 | 537 |
| 2 | 637 | 535 |
| 3 | 2334 | 535 |
| 4 | 5325 | 535 |
8 alts after pruning (4 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 257 | 1 | 258 |
| Fresh | 0 | 3 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 3 | 3 |
| Total | 257 | 8 | 265 |
| Status | Error | Program |
| 1.4b | (neg.f64 (fma.f64 (cbrt.f64 (sin.f64 re)) (*.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) 0)) | |
| ✓ | 1.3b | (neg.f64 (/.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) -1) (pow.f64 (cbrt.f64 (sin.f64 re)) -1)))) |
| 4.0b | (neg.f64 (/.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (*.f64 (/.f64 1 (cbrt.f64 (sin.f64 re))) (cbrt.f64 (pow.f64 (sin.f64 re) -2))))) | |
| ✓ | 42.5b | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ✓ | 0.6b | (neg.f64 (/.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (/.f64 1 (sin.f64 re)))) |
| 42.5b | (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (sin.f64 re)))) | |
| ✓ | 0.5b | (neg.f64 (*.f64 (sin.f64 re) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))) |
| 20.9b | (neg.f64 (/.f64 (fma.f64 (pow.f64 im 3) 1/6 im) (/.f64 (pow.f64 (pow.f64 (sin.f64 re) -1) 3) (+.f64 (pow.f64 (sin.f64 re) -2) (+.f64 0 (*.f64 (pow.f64 (sin.f64 re) -1) 0)))))) |
Compiled 7135 to 4747 computations (33.5% saved)
Total 0.8b remaining (88.9%)
Threshold costs 0.8b (88.9%)
Compiled 8205 to 6081 computations (25.9% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 15 |
| 1 | 10 | 15 |
Compiled 173 to 131 computations (24.3% saved)
Loading profile data...