Time bar (total: 9.2s)
| 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)
| 3.0s | 4186× | body | 1024 | valid |
| 1.2s | 2042× | body | 1024 | invalid |
| 871.0ms | 2112× | body | 512 | valid |
| 384.0ms | 1018× | body | 512 | invalid |
| 297.0ms | 1068× | body | 256 | valid |
| 253.0ms | 234× | body | 2048 | valid |
| 140.0ms | 532× | body | 256 | invalid |
| 123.0ms | 814× | body | 128 | invalid |
| 95.0ms | 656× | body | 128 | valid |
Compiled 41 to 32 computations (22% saved)
| 1× | egg-herbie |
| 454× | fma-def_binary64 |
| 444× | times-frac_binary64 |
| 419× | sub-neg_binary64 |
| 365× | distribute-rgt-neg-in_binary64 |
| 340× | fma-neg_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 18 |
| 1 | 23 | 18 |
| 2 | 49 | 18 |
| 3 | 106 | 18 |
| 4 | 225 | 17 |
| 5 | 449 | 17 |
| 6 | 962 | 17 |
| 7 | 1713 | 17 |
| 8 | 3588 | 17 |
| 9 | 4282 | 17 |
| 10 | 4773 | 17 |
| 11 | 4923 | 17 |
| 12 | 4957 | 17 |
| 13 | 4748 | 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 |
| ▶ | 45.4b | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 50 to 35 computations (30% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ✓ | 6.3b | (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
2 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)) |
| 2× | batch-egg-rewrite |
| 2× | egg-rewrite |
| 116× | add-sqr-sqrt_binary64 |
| 109× | log1p-expm1-u_binary64 |
| 109× | expm1-log1p-u_binary64 |
| 108× | add-log-exp_binary64 |
| 106× | add-cbrt-cube_binary64 |
2 calls:
| 61.0ms | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| 61.0ms | (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 20 |
| 1 | 228 | 20 |
| 2 | 27 | 20 |
| 0 | 6 | 10 |
| 1 | 127 | 10 |
| 2 | 70 | 10 |
| 0 | 11 | 18 |
| 1 | 228 | 18 |
| 2 | 27 | 18 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 698× | fma-def_binary64 |
| 412× | sub-neg_binary64 |
| 382× | distribute-rgt-neg-in_binary64 |
| 359× | distribute-lft-neg-in_binary64 |
| 297× | neg-mul-1_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 100 | 734 |
| 1 | 297 | 716 |
| 2 | 990 | 666 |
| 3 | 3580 | 666 |
| 4 | 4813 | 666 |
| 5 | 4949 | 666 |
3 alts after pruning (2 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 26 | 2 | 28 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 26 | 3 | 29 |
| Status | Error | Program |
| ▶ | 0.9b | (*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) |
| 47.6b | (fma.f64 1/2 (/.f64 re (exp.f64 im)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 re 3)) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 (exp.f64 im) re) -1/2))) | |
| ✓ | 45.4b | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 712 to 435 computations (38.9% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) |
| ✓ | 0.1b | (*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) |
| ✓ | 0.1b | (*.f64 (pow.f64 im 3) -1/6) |
3 calls:
| 25.0ms | (*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) |
| 3.0ms | (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) |
| 3.0ms | (*.f64 (pow.f64 im 3) -1/6) |
| 2× | batch-egg-rewrite |
| 511× | log-prod_binary64 |
| 367× | fma-def_binary64 |
| 261× | egg-rr |
| 187× | expm1-udef_binary64 |
| 187× | log1p-udef_binary64 |
3 calls:
| 97.0ms | (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) |
| 97.0ms | (*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) |
| 97.0ms | (*.f64 (pow.f64 im 3) -1/6) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 36 |
| 1 | 242 | 28 |
| 2 | 2661 | 28 |
| 3 | 4983 | 28 |
| 4 | 4851 | 28 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 407× | fma-def_binary64 |
| 390× | associate-*l*_binary64 |
| 357× | distribute-lft-out_binary64 |
| 337× | sub-neg_binary64 |
| 312× | associate-*r*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 61 | 677 |
| 1 | 197 | 672 |
| 2 | 712 | 646 |
| 3 | 2826 | 643 |
| 4 | 5337 | 643 |
6 alts after pruning (4 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 278 | 3 | 281 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 278 | 6 | 284 |
| Status | Error | Program |
| 32.8b | (-.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 im 1/6) (*.f64 (pow.f64 im 3) 1/36))) (*.f64 re (fma.f64 (pow.f64 im 3) 1/6 im))) | |
| ✓ | 45.4b | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ✓ | 0.9b | (*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) |
| 35.9b | (*.f64 (sin.f64 re) (fma.f64 (sqrt.f64 im) (neg.f64 (sqrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6))) | |
| ▶ | 20.9b | (*.f64 (sin.f64 re) (fma.f64 (cbrt.f64 (*.f64 im im)) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6))) |
| 47.6b | (fma.f64 1/2 (/.f64 re (exp.f64 im)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 re 3)) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 (exp.f64 im) re) -1/2))) |
Compiled 5580 to 3527 computations (36.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.1b | (*.f64 (pow.f64 im 3) -1/6) | |
| ✓ | 0.2b | (fma.f64 (cbrt.f64 (*.f64 im im)) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) |
| ✓ | 0.6b | (cbrt.f64 im) |
| ✓ | 29.6b | (cbrt.f64 (*.f64 im im)) |
3 calls:
| 31.0ms | (fma.f64 (cbrt.f64 (*.f64 im im)) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) |
| 28.0ms | (cbrt.f64 (*.f64 im im)) |
| 28.0ms | (cbrt.f64 im) |
| 2× | batch-egg-rewrite |
| 757× | log1p-expm1-u_binary64 |
| 757× | expm1-log1p-u_binary64 |
| 273× | prod-diff_binary64 |
| 102× | add-sqr-sqrt_binary64 |
| 98× | add-cbrt-cube_binary64 |
3 calls:
| 45.0ms | (fma.f64 (cbrt.f64 (*.f64 im im)) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) |
| 45.0ms | (cbrt.f64 im) |
| 45.0ms | (cbrt.f64 (*.f64 im im)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 29 |
| 1 | 221 | 17 |
| 2 | 2010 | 17 |
| 3 | 4984 | 17 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 1634× | fma-def_binary64 |
| 674× | fma-neg_binary64 |
| 445× | unswap-sqr_binary64 |
| 425× | distribute-rgt-neg-in_binary64 |
| 406× | sqr-pow_binary64 |
Useful iterations: 9 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 258 |
| 1 | 60 | 252 |
| 2 | 124 | 252 |
| 3 | 337 | 252 |
| 4 | 953 | 252 |
| 5 | 1712 | 252 |
| 6 | 3309 | 252 |
| 7 | 3666 | 252 |
| 8 | 4058 | 252 |
| 9 | 4489 | 230 |
| 10 | 3969 | 230 |
| 11 | 4778 | 230 |
6 alts after pruning (4 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 115 | 1 | 116 |
| Fresh | 0 | 3 | 3 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 2 | 2 |
| Total | 116 | 6 | 122 |
| Status | Error | Program |
| 32.8b | (-.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 im 1/6) (*.f64 (pow.f64 im 3) 1/36))) (*.f64 re (fma.f64 (pow.f64 im 3) 1/6 im))) | |
| ✓ | 45.4b | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ✓ | 0.9b | (*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) |
| 35.9b | (*.f64 (sin.f64 re) (fma.f64 (sqrt.f64 im) (neg.f64 (sqrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6))) | |
| 47.6b | (fma.f64 1/2 (/.f64 re (exp.f64 im)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 re 3)) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 (exp.f64 im) re) -1/2))) | |
| ▶ | 8.3b | (*.f64 (sin.f64 re) (fma.f64 (sqrt.f64 (*.f64 im (cbrt.f64 im))) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6))) |
Compiled 2272 to 1293 computations (43.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f64 im (cbrt.f64 im)) |
| ✓ | 0.2b | (fma.f64 (sqrt.f64 (*.f64 im (cbrt.f64 im))) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) |
| 0.6b | (cbrt.f64 im) | |
| ✓ | 11.6b | (sqrt.f64 (*.f64 im (cbrt.f64 im))) |
3 calls:
| 50.0ms | (fma.f64 (sqrt.f64 (*.f64 im (cbrt.f64 im))) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) |
| 41.0ms | (sqrt.f64 (*.f64 im (cbrt.f64 im))) |
| 36.0ms | (*.f64 im (cbrt.f64 im)) |
| 2× | batch-egg-rewrite |
| 793× | log1p-expm1-u_binary64 |
| 793× | expm1-log1p-u_binary64 |
| 299× | prod-diff_binary64 |
| 107× | add-sqr-sqrt_binary64 |
| 101× | add-cbrt-cube_binary64 |
3 calls:
| 47.0ms | (*.f64 im (cbrt.f64 im)) |
| 47.0ms | (fma.f64 (sqrt.f64 (*.f64 im (cbrt.f64 im))) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) |
| 47.0ms | (sqrt.f64 (*.f64 im (cbrt.f64 im))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 36 |
| 1 | 226 | 18 |
| 2 | 2118 | 18 |
| 3 | 5243 | 18 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 1125× | fma-neg_binary64 |
| 414× | distribute-rgt-neg-in_binary64 |
| 402× | cancel-sign-sub-inv_binary64 |
| 388× | neg-mul-1_binary64 |
| 377× | associate-*l*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 28 | 393 |
| 1 | 77 | 393 |
| 2 | 193 | 393 |
| 3 | 544 | 393 |
| 4 | 1557 | 393 |
| 5 | 2971 | 393 |
| 6 | 4553 | 393 |
| 7 | 4930 | 393 |
| 8 | 4854 | 393 |
6 alts after pruning (3 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 163 | 0 | 163 |
| Fresh | 0 | 3 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 163 | 6 | 169 |
| Status | Error | Program |
| 32.8b | (-.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 im 1/6) (*.f64 (pow.f64 im 3) 1/36))) (*.f64 re (fma.f64 (pow.f64 im 3) 1/6 im))) | |
| ✓ | 45.4b | (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ✓ | 0.9b | (*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) |
| 35.9b | (*.f64 (sin.f64 re) (fma.f64 (sqrt.f64 im) (neg.f64 (sqrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6))) | |
| 47.6b | (fma.f64 1/2 (/.f64 re (exp.f64 im)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 re 3)) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 (exp.f64 im) re) -1/2))) | |
| ✓ | 8.3b | (*.f64 (sin.f64 re) (fma.f64 (sqrt.f64 (*.f64 im (cbrt.f64 im))) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6))) |
Compiled 3219 to 1849 computations (42.6% saved)
Total 0.7b remaining (84.8%)
Threshold costs 0.7b (84.8%)
Compiled 3087 to 2282 computations (26.1% saved)
| 1× | egg-herbie |
| 3× | *-commutative_binary64 |
| 2× | +-commutative_binary64 |
| 1× | sub-neg_binary64 |
| 1× | unsub-neg_binary64 |
| 1× | neg-sub0_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 17 |
| 1 | 18 | 15 |
| 2 | 21 | 15 |
| 3 | 22 | 15 |
| 4 | 22 | 15 |
Compiled 136 to 98 computations (27.9% saved)
Loading profile data...