Time bar (total: 5.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)
| 931.0ms | 5273× | body | 128 | valid |
| 639.0ms | 1134× | body | 1024 | valid |
| 482.0ms | 1107× | body | 512 | valid |
| 214.0ms | 699× | body | 256 | valid |
| 40.0ms | 43× | body | 2048 | valid |
| 14.0ms | 91× | body | 128 | invalid |
Compiled 60 to 40 computations (33.3% saved)
| 1× | egg-herbie |
| 107× | fma-def_binary64 |
| 72× | fma-neg_binary64 |
| 27× | 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 | 50 | 12 |
| 5 | 95 | 12 |
| 6 | 144 | 12 |
| 7 | 182 | 12 |
| 8 | 214 | 12 |
| 9 | 234 | 12 |
| 10 | 242 | 12 |
| 11 | 246 | 12 |
| 12 | 227 | 12 |
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 |
| ▶ | 22.7b | (-.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) |
| ✓ | 2.6b | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
3 calls:
| 35.0ms | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| 23.0ms | (sqrt.f64 (-.f64 (*.f64 x x) eps)) |
| 7.0ms | (-.f64 (*.f64 x x) eps) |
| 2× | batch-egg-rewrite |
| 871× | log1p-expm1-u_binary64 |
| 871× | expm1-log1p-u_binary64 |
| 104× | egg-rr |
| 82× | add-sqr-sqrt_binary64 |
| 78× | add-log-exp_binary64 |
3 calls:
| 92.0ms | (sqrt.f64 (-.f64 (*.f64 x x) eps)) |
| 92.0ms | (-.f64 (*.f64 x x) eps) |
| 92.0ms | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 28 |
| 1 | 161 | 28 |
| 2 | 2130 | 28 |
| 3 | 5196 | 28 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 615× | cancel-sign-sub-inv_binary64 |
| 586× | associate-*l/_binary64 |
| 324× | fma-neg_binary64 |
| 227× | associate-/r/_binary64 |
| 219× | associate-/l/_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 70 | 858 |
| 1 | 207 | 844 |
| 2 | 582 | 834 |
| 3 | 2203 | 816 |
| 4 | 4997 | 816 |
6 alts after pruning (5 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 148 | 5 | 153 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 148 | 6 | 154 |
| Status | Error | Program |
| 46.1b | (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (-.f64 1/2 (*.f64 -1/8 (/.f64 eps (*.f64 x x)))))) | |
| 38.9b | (*.f64 (/.f64 eps x) (-.f64 1/2 (*.f64 -1/8 (/.f64 eps (*.f64 x x))))) | |
| 40.5b | (+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x))) | |
| 37.1b | (*.f64 1/2 (/.f64 eps x)) | |
| ✓ | 22.7b | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| ▶ | 23.0b | (/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps)))) |
Compiled 2560 to 1035 computations (59.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| ✓ | 0.2b | (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps))) |
| ✓ | 0.2b | (/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps)))) |
| ✓ | 2.5b | (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps)) |
4 calls:
| 130.0ms | (/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps)))) |
| 121.0ms | (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps))) |
| 29.0ms | (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| 4.0ms | (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps)) |
| 2× | batch-egg-rewrite |
| 732× | fma-def_binary64 |
| 342× | egg-rr |
| 336× | fma-neg_binary64 |
| 206× | expm1-udef_binary64 |
| 206× | log1p-udef_binary64 |
4 calls:
| 164.0ms | (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| 164.0ms | (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps))) |
| 164.0ms | (/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps)))) |
| 164.0ms | (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 82 |
| 1 | 259 | 40 |
| 2 | 3353 | 40 |
| 3 | 4904 | 40 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 558× | fma-neg_binary64 |
| 486× | times-frac_binary64 |
| 320× | associate-/l*_binary64 |
| 303× | associate-/r*_binary64 |
| 294× | unswap-sqr_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 95 | 1173 |
| 1 | 283 | 1132 |
| 2 | 878 | 1118 |
| 3 | 3908 | 1086 |
| 4 | 5073 | 1086 |
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 388 | 3 | 391 |
| Fresh | 3 | 1 | 4 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 392 | 5 | 397 |
| Status | Error | Program |
| ▶ | 0.4b | (/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)) |
| 38.9b | (*.f64 (/.f64 eps x) (-.f64 1/2 (*.f64 -1/8 (/.f64 eps (*.f64 x x))))) | |
| ✓ | 22.7b | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| 1.6b | (/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (*.f64 (cbrt.f64 eps) (pow.f64 (cbrt.f64 eps) 2)))) | |
| 39.0b | (/.f64 1 (fma.f64 2 (/.f64 x eps) (fma.f64 (/.f64 eps (pow.f64 x 3)) -1/8 (/.f64 -1/2 x)))) |
Compiled 10361 to 2717 computations (73.8% 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 | (/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)) |
2 calls:
| 107.0ms | (/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)) |
| 44.0ms | (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) |
| 2× | batch-egg-rewrite |
| 461× | fma-def_binary64 |
| 263× | fma-neg_binary64 |
| 194× | expm1-udef_binary64 |
| 194× | log1p-udef_binary64 |
| 176× | log-pow_binary64 |
2 calls:
| 115.0ms | (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) |
| 115.0ms | (/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 33 |
| 1 | 226 | 30 |
| 2 | 2966 | 28 |
| 3 | 4972 | 28 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 499× | fma-neg_binary64 |
| 430× | times-frac_binary64 |
| 346× | distribute-neg-frac_binary64 |
| 286× | associate-/l*_binary64 |
| 279× | unswap-sqr_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 87 | 799 |
| 1 | 261 | 766 |
| 2 | 804 | 758 |
| 3 | 3512 | 724 |
| 4 | 5000 | 724 |
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 217 | 1 | 218 |
| Fresh | 1 | 2 | 3 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 219 | 4 | 223 |
| Status | Error | Program |
| 38.9b | (*.f64 (/.f64 eps x) (-.f64 1/2 (*.f64 -1/8 (/.f64 eps (*.f64 x x))))) | |
| ✓ | 22.7b | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| 39.0b | (/.f64 1 (fma.f64 2 (/.f64 x eps) (fma.f64 (/.f64 eps (pow.f64 x 3)) -1/8 (/.f64 -1/2 x)))) | |
| ▶ | 0.4b | (/.f64 1 (/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)) |
Compiled 4101 to 1686 computations (58.9% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.0b | (-.f64 (*.f64 x x) eps) | |
| ✓ | 0.1b | (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| ✓ | 0.2b | (/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) |
| ✓ | 0.3b | (/.f64 1 (/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)) |
3 calls:
| 126.0ms | (/.f64 1 (/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)) |
| 51.0ms | (/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) |
| 32.0ms | (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| 2× | batch-egg-rewrite |
| 645× | prod-diff_binary64 |
| 473× | fma-udef_binary64 |
| 289× | fma-def_binary64 |
| 248× | fma-neg_binary64 |
| 194× | expm1-udef_binary64 |
3 calls:
| 142.0ms | (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| 142.0ms | (/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps) |
| 142.0ms | (/.f64 1 (/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 45 |
| 1 | 234 | 42 |
| 2 | 2802 | 39 |
| 3 | 4750 | 39 |
| 4 | 4775 | 39 |
| 5 | 4961 | 39 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 751× | times-frac_binary64 |
| 649× | fma-def_binary64 |
| 602× | associate-/l*_binary64 |
| 502× | fma-neg_binary64 |
| 411× | cancel-sign-sub-inv_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 60 | 316 |
| 1 | 171 | 308 |
| 2 | 446 | 306 |
| 3 | 1398 | 298 |
| 4 | 4562 | 291 |
| 5 | 4967 | 291 |
| 6 | 4974 | 291 |
4 alts after pruning (2 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 177 | 0 | 177 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 177 | 4 | 181 |
| Status | Error | Program |
| 38.9b | (*.f64 (/.f64 eps x) (-.f64 1/2 (*.f64 -1/8 (/.f64 eps (*.f64 x x))))) | |
| ✓ | 22.7b | (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) |
| 39.0b | (/.f64 1 (fma.f64 2 (/.f64 x eps) (fma.f64 (/.f64 eps (pow.f64 x 3)) -1/8 (/.f64 -1/2 x)))) | |
| ✓ | 0.4b | (/.f64 1 (/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)) |
Compiled 3104 to 1221 computations (60.7% saved)
Total 0.4b remaining (96.1%)
Threshold costs 0.4b (96.1%)
Compiled 4376 to 2942 computations (32.8% saved)
| 1× | egg-herbie |
| 3× | +-commutative_binary64 |
| 2× | *-commutative_binary64 |
| 2× | sub-neg_binary64 |
| 1× | *-lft-identity_binary64 |
| 1× | neg-sub0_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 18 |
| 1 | 17 | 18 |
| 2 | 21 | 18 |
| 3 | 23 | 18 |
| 4 | 24 | 18 |
| 5 | 23 | 18 |
Compiled 89 to 58 computations (34.8% saved)
Loading profile data...