Time bar (total: 3.8s)
| 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)
| 826.0ms | 1582× | body | 2048 | valid |
| 594.0ms | 1824× | body | 1024 | valid |
| 282.0ms | 3091× | body | 128 | valid |
| 259.0ms | 1144× | body | 512 | valid |
| 97.0ms | 615× | body | 256 | valid |
| 12.0ms | 134× | 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 |
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
| ▶ | 0.0b | (expm1.f64 (*.f64 a x)) |
| 32.9b | (-.f64 (exp.f64 (*.f64 a x)) 1) |
Compiled 40 to 27 computations (32.5% saved)
Found 1 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (expm1.f64 (*.f64 a x)) |
1 calls:
| 5.0ms | (expm1.f64 (*.f64 a x)) |
| 2× | batch-egg-rewrite |
| 736× | log1p-udef_binary64 |
| 405× | log1p-expm1-u_binary64 |
| 405× | expm1-log1p-u_binary64 |
| 342× | pow1_binary64 |
| 287× | unpow-prod-down_binary64 |
1 calls:
| 74.0ms | (expm1.f64 (*.f64 a x)) |
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 | 1 | 0 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 43 | 3 | 46 |
| Status | Error | Program |
| ✓ | 0.0b | (expm1.f64 (*.f64 a x)) |
| 44.5b | (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3)) | |
| ▶ | 17.6b | (fma.f64 a x (*.f64 1/2 (pow.f64 (*.f64 a x) 2))) |
Compiled 582 to 274 computations (52.9% saved)
Found 1 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (pow.f64 (*.f64 a x) 2) |
1 calls:
| 9.0ms | (pow.f64 (*.f64 a x) 2) |
| 2× | batch-egg-rewrite |
| 893× | log1p-udef_binary64 |
| 471× | log1p-expm1-u_binary64 |
| 471× | expm1-log1p-u_binary64 |
| 366× | unpow-prod-down_binary64 |
| 262× | log-prod_binary64 |
1 calls:
| 76.0ms | (pow.f64 (*.f64 a x) 2) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 7 |
| 1 | 124 | 7 |
| 2 | 1250 | 7 |
| 3 | 4902 | 7 |
| 4 | 6409 | 7 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 1022× | sqr-pow_binary64 |
| 785× | associate-*l*_binary64 |
| 636× | *-commutative_binary64 |
| 598× | fabs-mul_binary64 |
| 578× | cube-prod_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 240 |
| 1 | 16 | 240 |
| 2 | 35 | 240 |
| 3 | 88 | 240 |
| 4 | 295 | 240 |
| 5 | 1349 | 240 |
| 6 | 1413 | 240 |
| 7 | 1542 | 240 |
| 8 | 1721 | 240 |
| 9 | 1930 | 240 |
| 10 | 2180 | 240 |
| 11 | 2322 | 240 |
| 12 | 2724 | 240 |
| 13 | 3047 | 240 |
| 14 | 3626 | 240 |
| 15 | 3983 | 240 |
| 16 | 4262 | 240 |
| 17 | 4371 | 240 |
| 18 | 4402 | 240 |
| 19 | 4414 | 240 |
| 20 | 4876 | 240 |
3 alts after pruning (1 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 52 | 0 | 52 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 52 | 3 | 55 |
| Status | Error | Program |
| ✓ | 0.0b | (expm1.f64 (*.f64 a x)) |
| ▶ | 44.5b | (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3)) |
| ✓ | 17.6b | (fma.f64 a x (*.f64 1/2 (pow.f64 (*.f64 a x) 2))) |
Compiled 892 to 476 computations (46.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3)) |
| ✓ | 0.1b | (pow.f64 (expm1.f64 (*.f64 a x)) 3) |
| ✓ | 12.2b | (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3) |
| ✓ | 20.6b | (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) |
4 calls:
| 610.0ms | (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3) |
| 34.0ms | (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) |
| 18.0ms | (pow.f64 (expm1.f64 (*.f64 a x)) 3) |
| 7.0ms | (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3)) |
| 2× | batch-egg-rewrite |
| 781× | log1p-expm1-u_binary64 |
| 781× | expm1-log1p-u_binary64 |
| 157× | log1p-udef_binary64 |
| 98× | egg-rr |
| 94× | add-sqr-sqrt_binary64 |
4 calls:
| 49.0ms | (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3)) |
| 49.0ms | (pow.f64 (expm1.f64 (*.f64 a x)) 3) |
| 49.0ms | (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3) |
| 49.0ms | (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 43 |
| 1 | 226 | 32 |
| 2 | 2089 | 32 |
| 3 | 4836 | 32 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 502× | fma-neg_binary64 |
| 356× | associate-*l*_binary64 |
| 348× | associate-*r*_binary64 |
| 322× | distribute-lft-in_binary64 |
| 317× | distribute-rgt-in_binary64 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 50 | 968 |
| 1 | 140 | 968 |
| 2 | 414 | 930 |
| 3 | 1822 | 920 |
| 4 | 2833 | 894 |
| 5 | 4245 | 864 |
| 6 | 4970 | 864 |
| 7 | 5200 | 864 |
3 alts after pruning (0 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 204 | 0 | 204 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 204 | 3 | 207 |
| Status | Error | Program |
| ✓ | 0.0b | (expm1.f64 (*.f64 a x)) |
| ✓ | 44.5b | (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3)) 1/3)) |
| ✓ | 17.6b | (fma.f64 a x (*.f64 1/2 (pow.f64 (*.f64 a x) 2))) |
Compiled 4453 to 2400 computations (46.1% saved)
Total 0.0b remaining (31.9%)
Threshold costs 0.0b (31.9%)
Compiled 510 to 354 computations (30.6% 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 63 to 43 computations (31.7% saved)
Loading profile data...