Time bar (total: 4.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 |
| 50% | 50% | 0.1% | 3 |
| 50% | 50% | 0.1% | 4 |
| 62.4% | 37.5% | 0.1% | 5 |
| 62.4% | 31.2% | 6.3% | 6 |
| 68.7% | 21.9% | 9.5% | 7 |
| 68.7% | 17.2% | 14.1% | 8 |
| 71.8% | 11.7% | 16.5% | 9 |
| 71.8% | 9% | 19.2% | 10 |
| 73.4% | 6% | 20.6% | 11 |
| 73.4% | 4.6% | 22% | 12 |
| 74.1% | 3.1% | 22.8% | 13 |
| 74.1% | 2.3% | 23.5% | 14 |
Compiled 9 to 7 computations (22.2% saved)
(sort a x)
| 753.0ms | 1502× | body | 2048 | valid |
| 696.0ms | 1884× | body | 1024 | valid |
| 357.0ms | 3112× | body | 128 | valid |
| 265.0ms | 1138× | body | 512 | valid |
| 92.0ms | 620× | body | 256 | valid |
| 13.0ms | 152× | body | 128 | invalid |
Compiled 26 to 20 computations (23.1% saved)
| 1× | egg-herbie |
| 571× | fma-neg_binary64 |
| 455× | *-commutative_binary64 |
| 440× | unswap-sqr_binary64 |
| 344× | associate-*l*_binary64 |
| 274× | associate-+l+_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 6 |
| 1 | 16 | 6 |
| 2 | 23 | 6 |
| 3 | 35 | 6 |
| 4 | 70 | 6 |
| 5 | 160 | 6 |
| 6 | 432 | 6 |
| 7 | 1564 | 6 |
| 8 | 3490 | 6 |
| 9 | 4954 | 6 |
| 10 | 4993 | 6 |
| 11 | 4874 | 6 |
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 |
| ▶ | 0.0b | (expm1.f64 (*.f64 a x)) |
Compiled 24 to 15 computations (37.5% saved)
Found 1 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (expm1.f64 (*.f64 a x)) |
1 calls:
| 6.0ms | (expm1.f64 (*.f64 a x)) |
| 2× | batch-egg-rewrite |
| 36× | egg-rr |
2 calls:
| 70.0ms | ((expm1.f64 (*.f64 a x))) |
| 0.0ms | () |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 6 |
| 1 | 95 | 6 |
| 2 | 1080 | 6 |
| 3 | 4662 | 6 |
| 4 | 5883 | 6 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 1324× | distribute-lft-out_binary64 |
| 882× | fma-def_binary64 |
| 423× | associate-/l/_binary64 |
| 368× | *-commutative_binary64 |
| 362× | associate-/r/_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 30 | 284 |
| 1 | 86 | 284 |
| 2 | 234 | 278 |
| 3 | 888 | 262 |
| 4 | 2148 | 248 |
| 5 | 2915 | 248 |
| 6 | 3566 | 248 |
| 7 | 5038 | 248 |
3 alts after pruning (2 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 42 | 2 | 44 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 42 | 3 | 45 |
| Status | Error | Program |
| ✓ | 0.0b | (expm1.f64 (*.f64 a x)) |
| 37.7b | (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (pow.f64 (expm1.f64 (*.f64 a x)) 2/3)) | |
| ▶ | 19.7b | (fma.f64 a x (*.f64 1/2 (pow.f64 (*.f64 a x) 2))) |
Compiled 566 to 260 computations (54.1% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (fma.f64 a x (*.f64 1/2 (pow.f64 (*.f64 a x) 2))) |
| ✓ | 0.0b | (*.f64 1/2 (pow.f64 (*.f64 a x) 2)) |
| ✓ | 0.2b | (pow.f64 (*.f64 a x) 2) |
3 calls:
| 16.0ms | (*.f64 1/2 (pow.f64 (*.f64 a x) 2)) |
| 14.0ms | (fma.f64 a x (*.f64 1/2 (pow.f64 (*.f64 a x) 2))) |
| 7.0ms | (pow.f64 (*.f64 a x) 2) |
| 2× | batch-egg-rewrite |
| 59× | egg-rr |
2 calls:
| 46.0ms | ((pow.f64 (*.f64 a x) 2) (*.f64 1/2 (pow.f64 (*.f64 a x) 2)) (fma.f64 a x (*.f64 1/2 (pow.f64 (*.f64 a x) 2)))) |
| 0.0ms | () |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 31 |
| 1 | 185 | 31 |
| 2 | 1904 | 31 |
| 3 | 5125 | 31 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 743× | unswap-sqr_binary64 |
| 738× | fma-def_binary64 |
| 718× | sqr-pow_binary64 |
| 653× | fabs-mul_binary64 |
| 584× | cube-prod_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 918 |
| 1 | 26 | 918 |
| 2 | 55 | 900 |
| 3 | 156 | 864 |
| 4 | 588 | 864 |
| 5 | 1035 | 864 |
| 6 | 1210 | 864 |
| 7 | 1316 | 864 |
| 8 | 1450 | 864 |
| 9 | 1560 | 864 |
| 10 | 1707 | 864 |
| 11 | 2799 | 864 |
| 12 | 2800 | 864 |
| 13 | 3046 | 864 |
| 14 | 3266 | 864 |
| 15 | 3584 | 864 |
| 16 | 4011 | 864 |
| 17 | 4303 | 864 |
| 18 | 4485 | 864 |
| 19 | 4700 | 864 |
| 20 | 4950 | 864 |
3 alts after pruning (1 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 65 | 0 | 65 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 65 | 3 | 68 |
| Status | Error | Program |
| ✓ | 0.0b | (expm1.f64 (*.f64 a x)) |
| ▶ | 37.7b | (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (pow.f64 (expm1.f64 (*.f64 a x)) 2/3)) |
| ✓ | 19.7b | (fma.f64 a x (*.f64 1/2 (pow.f64 (*.f64 a x) 2))) |
Compiled 961 to 529 computations (45% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.0b | (expm1.f64 (*.f64 a x)) | |
| ✓ | 0.1b | (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (pow.f64 (expm1.f64 (*.f64 a x)) 2/3)) |
| ✓ | 11.3b | (cbrt.f64 (expm1.f64 (*.f64 a x))) |
| ✓ | 11.7b | (pow.f64 (expm1.f64 (*.f64 a x)) 2/3) |
3 calls:
| 476.0ms | (cbrt.f64 (expm1.f64 (*.f64 a x))) |
| 456.0ms | (pow.f64 (expm1.f64 (*.f64 a x)) 2/3) |
| 6.0ms | (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (pow.f64 (expm1.f64 (*.f64 a x)) 2/3)) |
| 2× | batch-egg-rewrite |
| 72× | egg-rr |
2 calls:
| 46.0ms | ((pow.f64 (expm1.f64 (*.f64 a x)) 2/3) (cbrt.f64 (expm1.f64 (*.f64 a x))) (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (pow.f64 (expm1.f64 (*.f64 a x)) 2/3))) |
| 0.0ms | () |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 23 |
| 1 | 159 | 23 |
| 2 | 1623 | 23 |
| 3 | 4918 | 23 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 740× | associate-*l*_binary64 |
| 627× | associate-*r*_binary64 |
| 556× | fma-def_binary64 |
| 434× | distribute-rgt-out_binary64 |
| 362× | distribute-lft-out_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 83 | 1420 |
| 1 | 260 | 1412 |
| 2 | 690 | 1142 |
| 3 | 3096 | 1002 |
| 4 | 4755 | 972 |
| 5 | 4953 | 972 |
3 alts after pruning (0 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 189 | 0 | 189 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 189 | 3 | 192 |
| Status | Error | Program |
| ✓ | 0.0b | (expm1.f64 (*.f64 a x)) |
| ✓ | 37.7b | (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (pow.f64 (expm1.f64 (*.f64 a x)) 2/3)) |
| ✓ | 19.7b | (fma.f64 a x (*.f64 1/2 (pow.f64 (*.f64 a x) 2))) |
Compiled 3669 to 1519 computations (58.6% saved)
Total 0.0b remaining (40.4%)
Threshold costs 0.0b (40.4%)
Compiled 275 to 179 computations (34.9% saved)
| 1× | egg-herbie |
| 1× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 6 |
| 1 | 6 | 6 |
| 2 | 6 | 6 |
(sort a x)
Compiled 56 to 36 computations (35.7% saved)
Loading profile data...