Time bar (total: 3.5s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 12.8% | 87.2% | 0 |
| 0% | 12.8% | 87.2% | 1 |
| 0% | 12.8% | 87.2% | 2 |
| 6.4% | 6.4% | 87.2% | 3 |
| 6.4% | 4.8% | 88.8% | 4 |
| 7.2% | 3.2% | 89.6% | 5 |
| 7.2% | 2.4% | 90.4% | 6 |
| 7.6% | 1.6% | 90.8% | 7 |
| 7.6% | 1.2% | 91.2% | 8 |
| 7.8% | 0.8% | 91.4% | 9 |
| 7.8% | 0.6% | 91.5% | 10 |
| 7.9% | 0.4% | 91.7% | 11 |
| 8% | 0.3% | 91.7% | 12 |
| 8.1% | 0.2% | 91.7% | 13 |
| 8.1% | 0.2% | 91.8% | 14 |
Compiled 25 to 17 computations (32% saved)
| 620.0ms | 5182× | body | 128 | valid |
| 409.0ms | 1170× | body | 1024 | valid |
| 306.0ms | 1154× | body | 512 | valid |
| 138.0ms | 712× | body | 256 | valid |
| 16.0ms | 38× | body | 2048 | valid |
| 8.0ms | 76× | body | 128 | invalid |
Compiled 60 to 40 computations (33.3% saved)
| 1× | egg-herbie |
| 107× | fma-def_binary64 |
| 72× | fma-neg_binary64 |
| 29× | cancel-sign-sub-inv_binary64 |
| 24× | distribute-rgt-in_binary64 |
| 24× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 12 |
| 1 | 12 | 12 |
| 2 | 20 | 12 |
| 3 | 34 | 12 |
| 4 | 55 | 12 |
| 5 | 103 | 12 |
| 6 | 196 | 12 |
| 7 | 269 | 12 |
| 8 | 363 | 12 |
| 9 | 441 | 12 |
| 10 | 497 | 12 |
| 11 | 501 | 12 |
| 1× | saturated |
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
| ▶ | 25.1b | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
Compiled 30 to 18 computations (40% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (sqrt.f64 (-.f64 (*.f64 x x) eps)) |
| ✓ | 0.0b | (-.f64 (*.f64 x x) eps) |
| ✓ | 3.1b | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
3 calls:
| 14.0ms | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| 12.0ms | (sqrt.f64 (-.f64 (*.f64 x x) eps)) |
| 4.0ms | (-.f64 (*.f64 x x) eps) |
| 1× | batch-egg-rewrite |
| 871× | log1p-expm1-u_binary64 |
| 871× | expm1-log1p-u_binary64 |
| 104× | egg-rr |
| 82× | add-sqr-sqrt_binary64 |
| 81× | add-cbrt-cube_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 28 |
| 1 | 162 | 28 |
| 2 | 2356 | 28 |
| 1× | node limit |
3 calls:
| 48.0ms | (sqrt.f64 (-.f64 (*.f64 x x) eps)) |
| 48.0ms | (-.f64 (*.f64 x x) eps) |
| 48.0ms | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| 1× | egg-herbie |
| 615× | cancel-sign-sub-inv_binary64 |
| 324× | fma-neg_binary64 |
| 230× | associate-/r/_binary64 |
| 224× | associate-/l/_binary64 |
| 193× | distribute-neg-frac_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 70 | 858 |
| 1 | 214 | 844 |
| 2 | 615 | 834 |
| 3 | 2433 | 816 |
| 1× | node limit |
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 151 | 4 | 155 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 151 | 5 | 156 |
| Status | Error | Program |
| 25.3b | (-.f64 x (sqrt.f64 (*.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (*.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (sqrt.f64 (-.f64 (*.f64 x x) eps)))))) | |
| ▶ | 0.3b | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))) |
| 0.4b | (/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps))) | |
| ✓ | 25.1b | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| 36.3b | (*.f64 (/.f64 eps x) (-.f64 1/2 (*.f64 -1/8 (/.f64 eps (*.f64 x x))))) |
Compiled 2572 to 1026 computations (60.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.0b | (sqrt.f64 (-.f64 (*.f64 x x) eps)) | |
| 0.0b | (-.f64 (*.f64 x x) eps) | |
| ✓ | 0.0b | (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| ✓ | 0.3b | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))) |
2 calls:
| 43.0ms | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))) |
| 13.0ms | (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| 1× | batch-egg-rewrite |
| 700× | fma-def_binary64 |
| 308× | fma-neg_binary64 |
| 183× | expm1-udef_binary64 |
| 183× | log1p-udef_binary64 |
| 177× | egg-rr |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 30 |
| 1 | 261 | 24 |
| 2 | 3924 | 24 |
| 1× | node limit |
2 calls:
| 58.0ms | (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| 58.0ms | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))) |
| 1× | egg-herbie |
| 759× | cancel-sign-sub-inv_binary64 |
| 355× | fma-neg_binary64 |
| 304× | times-frac_binary64 |
| 279× | distribute-neg-frac_binary64 |
| 214× | associate-/l*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 66 | 786 |
| 1 | 202 | 759 |
| 2 | 613 | 751 |
| 3 | 2862 | 717 |
| 1× | node limit |
5 alts after pruning (3 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 298 | 3 | 301 |
| Fresh | 3 | 0 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 301 | 5 | 306 |
| Status | Error | Program |
| 0.7b | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3)))) | |
| 0.4b | (pow.f64 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) -1) | |
| ▶ | 0.4b | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x)) |
| ✓ | 0.3b | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))) |
| ✓ | 25.1b | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
Compiled 7703 to 1947 computations (74.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.0b | (-.f64 (*.f64 x x) eps) | |
| ✓ | 0.0b | (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) |
| ✓ | 0.3b | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x)) |
| ✓ | 0.4b | (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x) |
3 calls:
| 46.0ms | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x)) |
| 29.0ms | (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x) |
| 19.0ms | (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) |
| 1× | batch-egg-rewrite |
| 460× | fma-def_binary64 |
| 220× | fma-neg_binary64 |
| 193× | expm1-udef_binary64 |
| 193× | log1p-udef_binary64 |
| 130× | log1p-expm1-u_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 62 |
| 1 | 278 | 37 |
| 2 | 3815 | 37 |
| 1× | node limit |
3 calls:
| 48.0ms | (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) |
| 48.0ms | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x)) |
| 48.0ms | (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x) |
| 1× | egg-herbie |
| 542× | cancel-sign-sub-inv_binary64 |
| 225× | times-frac_binary64 |
| 218× | sub-neg_binary64 |
| 212× | unswap-sqr_binary64 |
| 203× | associate-/l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 290 | 2936 |
| 1 | 976 | 2810 |
| 2 | 3723 | 2716 |
| 1× | node limit |
5 alts after pruning (2 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 320 | 0 | 320 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 320 | 5 | 325 |
| Status | Error | Program |
| 0.7b | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3)))) | |
| ▶ | 0.4b | (pow.f64 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) -1) |
| ✓ | 0.4b | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x)) |
| ✓ | 0.3b | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))) |
| ✓ | 25.1b | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
Compiled 11051 to 4723 computations (57.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.0b | (-.f64 (*.f64 x x) eps) | |
| 0.0b | (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) | |
| ✓ | 0.2b | (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) |
| ✓ | 0.3b | (pow.f64 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) -1) |
2 calls:
| 43.0ms | (pow.f64 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) -1) |
| 19.0ms | (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) |
| 1× | batch-egg-rewrite |
| 462× | fma-def_binary64 |
| 263× | fma-neg_binary64 |
| 194× | expm1-udef_binary64 |
| 194× | log1p-udef_binary64 |
| 177× | log-pow_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 33 |
| 1 | 227 | 30 |
| 2 | 3251 | 28 |
| 1× | node limit |
2 calls:
| 48.0ms | (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) |
| 48.0ms | (pow.f64 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) -1) |
| 1× | egg-herbie |
| 499× | fma-neg_binary64 |
| 430× | times-frac_binary64 |
| 283× | associate-/l*_binary64 |
| 279× | unswap-sqr_binary64 |
| 271× | associate-/r*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 87 | 799 |
| 1 | 268 | 766 |
| 2 | 845 | 758 |
| 3 | 3851 | 726 |
| 1× | node limit |
5 alts after pruning (1 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 223 | 0 | 223 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 3 | 3 |
| Total | 223 | 5 | 228 |
| Status | Error | Program |
| 0.7b | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3)))) | |
| ✓ | 0.4b | (pow.f64 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) -1) |
| ✓ | 0.4b | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (fma.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) x)) |
| ✓ | 0.3b | (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))) |
| ✓ | 25.1b | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
Compiled 4126 to 1675 computations (59.4% saved)
Total 0.3b remaining (97.5%)
Threshold costs 0.3b (97.5%)
Compiled 6503 to 3918 computations (39.8% saved)
| 1× | egg-herbie |
| 3× | +-commutative_binary64 |
| 2× | sub-neg_binary64 |
| 1× | *-commutative_binary64 |
| 1× | neg-sub0_binary64 |
| 1× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 19 |
| 1 | 13 | 19 |
| 2 | 18 | 19 |
| 3 | 20 | 19 |
| 4 | 21 | 19 |
| 1× | saturated |
Compiled 123 to 66 computations (46.3% saved)
Loading profile data...