Time bar (total: 6.3s)
| 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 |
| 25% | 74.9% | 0.1% | 5 |
| 43.7% | 56.2% | 0.1% | 6 |
| 53.1% | 42.1% | 4.8% | 7 |
| 59.3% | 35.9% | 4.8% | 8 |
| 62.4% | 30.4% | 7.1% | 9 |
| 64.8% | 28.1% | 7.1% | 10 |
| 66% | 25.8% | 8.3% | 11 |
| 66.9% | 24.8% | 8.3% | 12 |
| 67.4% | 23.7% | 8.9% | 13 |
| 67.9% | 23.3% | 8.9% | 14 |
Compiled 12 to 9 computations (25% saved)
| 2.6s | 2685× | body | 8192 | exit |
| 1.0s | 7570× | body | 128 | valid |
| 161.0ms | 248× | body | 1024 | valid |
| 106.0ms | 260× | body | 512 | valid |
| 44.0ms | 174× | body | 256 | valid |
| 11.0ms | 85× | body | 128 | invalid |
| 5.0ms | 4× | body | 2048 | valid |
Compiled 35 to 26 computations (25.7% saved)
| 1× | egg-herbie |
| 369× | times-frac_binary64 |
| 363× | associate-*l*_binary64 |
| 285× | associate-/l/_binary64 |
| 280× | associate-/l*_binary64 |
| 262× | associate-/r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 11 |
| 1 | 19 | 11 |
| 2 | 30 | 11 |
| 3 | 47 | 11 |
| 4 | 66 | 11 |
| 5 | 100 | 11 |
| 6 | 154 | 11 |
| 7 | 205 | 11 |
| 8 | 273 | 11 |
| 9 | 352 | 11 |
| 10 | 414 | 11 |
| 11 | 440 | 11 |
| 12 | 519 | 11 |
| 13 | 747 | 11 |
| 14 | 1549 | 11 |
| 15 | 4642 | 11 |
| 1× | node limit |
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.5b | (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) |
Compiled 36 to 22 computations (38.9% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) |
| ✓ | 0.5b | (log1p.f64 (exp.f64 x)) |
2 calls:
| 144.0ms | (log1p.f64 (exp.f64 x)) |
| 60.0ms | (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) |
| 1× | batch-egg-rewrite |
| 733× | expm1-log1p-u_binary64 |
| 732× | log1p-expm1-u_binary64 |
| 659× | prod-diff_binary64 |
| 111× | egg-rr |
| 76× | add-sqr-sqrt_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 16 |
| 1 | 147 | 16 |
| 2 | 1998 | 16 |
| 1× | node limit |
2 calls:
| 50.0ms | (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) |
| 50.0ms | (log1p.f64 (exp.f64 x)) |
| 1× | egg-herbie |
| 537× | fma-def_binary64 |
| 237× | distribute-lft-out_binary64 |
| 196× | sub-neg_binary64 |
| 194× | *-commutative_binary64 |
| 188× | distribute-rgt-neg-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 30 | 356 |
| 1 | 81 | 350 |
| 2 | 201 | 337 |
| 3 | 652 | 321 |
| 4 | 2594 | 321 |
| 5 | 4861 | 321 |
| 1× | node limit |
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 126 | 4 | 130 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 126 | 5 | 131 |
| Status | Error | Program |
| ✓ | 0.5b | (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) |
| 17.9b | (/.f64 (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (*.f64 (*.f64 x y) (+.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))))) | |
| 12.2b | (/.f64 1 (/.f64 (+.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2)))) | |
| ▶ | 2.1b | (*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2)) |
| 15.6b | (fma.f64 x (-.f64 1/2 y) (log.f64 2)) |
Compiled 2968 to 926 computations (68.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2) |
| 0.5b | (log1p.f64 (exp.f64 x)) | |
| ✓ | 0.7b | (*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2)) |
| ✓ | 1.1b | (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) |
3 calls:
| 63.0ms | (*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2)) |
| 46.0ms | (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2) |
| 30.0ms | (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) |
| 1× | batch-egg-rewrite |
| 659× | prod-diff_binary64 |
| 244× | fma-def_binary64 |
| 186× | egg-rr |
| 175× | expm1-udef_binary64 |
| 175× | log1p-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 40 |
| 1 | 229 | 40 |
| 2 | 2625 | 40 |
| 1× | node limit |
3 calls:
| 63.0ms | (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2) |
| 63.0ms | (*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2)) |
| 62.0ms | (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) |
| 1× | egg-herbie |
| 414× | associate-*r*_binary64 |
| 318× | fma-def_binary64 |
| 285× | associate-*l*_binary64 |
| 242× | times-frac_binary64 |
| 210× | associate-/r*_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 354 | 4010 |
| 1 | 1230 | 3922 |
| 1× | node limit |
6 alts after pruning (4 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 414 | 3 | 417 |
| Fresh | 2 | 1 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 416 | 6 | 422 |
| Status | Error | Program |
| ✓ | 2.1b | (*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2)) |
| ▶ | 12.2b | (/.f64 1 (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2)))) |
| 16.8b | (*.f64 (pow.f64 (pow.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) 1/6) 2) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2)) | |
| 15.6b | (fma.f64 x (-.f64 1/2 y) (log.f64 2)) | |
| ✓ | 0.5b | (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) |
| 17.9b | (/.f64 (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 x y) (fma.f64 x y (log1p.f64 (exp.f64 x))) (pow.f64 (log1p.f64 (exp.f64 x)) 2))) |
Compiled 15713 to 7339 computations (53.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (pow.f64 (*.f64 x y) 2) |
| 0.5b | (log1p.f64 (exp.f64 x)) | |
| ✓ | 0.6b | (pow.f64 (log1p.f64 (exp.f64 x)) 2) |
| ✓ | 11.0b | (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2))) |
3 calls:
| 133.0ms | (pow.f64 (log1p.f64 (exp.f64 x)) 2) |
| 22.0ms | (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2))) |
| 8.0ms | (pow.f64 (*.f64 x y) 2) |
| 1× | batch-egg-rewrite |
| 958× | prod-diff_binary64 |
| 123× | add-sqr-sqrt_binary64 |
| 123× | expm1-log1p-u_binary64 |
| 122× | log1p-expm1-u_binary64 |
| 118× | add-cbrt-cube_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 43 |
| 1 | 257 | 43 |
| 2 | 3339 | 43 |
| 1× | node limit |
3 calls:
| 53.0ms | (pow.f64 (*.f64 x y) 2) |
| 53.0ms | (pow.f64 (log1p.f64 (exp.f64 x)) 2) |
| 53.0ms | (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2))) |
| 1× | egg-herbie |
| 689× | fma-def_binary64 |
| 656× | associate-/l*_binary64 |
| 476× | associate-/r*_binary64 |
| 228× | associate-*l*_binary64 |
| 172× | associate-*l/_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 113 | 1519 |
| 1 | 339 | 1481 |
| 2 | 1371 | 1428 |
| 1× | node limit |
5 alts after pruning (3 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 159 | 1 | 160 |
| Fresh | 1 | 2 | 3 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 2 | 2 |
| Total | 161 | 5 | 166 |
| Status | Error | Program |
| 16.8b | (*.f64 (pow.f64 (pow.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) 1/6) 2) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2)) | |
| 15.6b | (fma.f64 x (-.f64 1/2 y) (log.f64 2)) | |
| ✓ | 0.5b | (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) |
| ✓ | 2.1b | (*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2)) |
| ▶ | 15.0b | (/.f64 1 (expm1.f64 (log1p.f64 (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2)))))) |
Compiled 4572 to 2388 computations (47.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.4b | (expm1.f64 (log1p.f64 (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2))))) |
| 0.5b | (log1p.f64 (exp.f64 x)) | |
| 0.6b | (pow.f64 (log1p.f64 (exp.f64 x)) 2) | |
| 11.0b | (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2))) |
1 calls:
| 24.0ms | (expm1.f64 (log1p.f64 (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2))))) |
| 1× | batch-egg-rewrite |
| 315× | fma-def_binary64 |
| 233× | expm1-udef_binary64 |
| 233× | log1p-udef_binary64 |
| 217× | log-pow_binary64 |
| 180× | fma-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 28 |
| 1 | 278 | 28 |
| 2 | 3546 | 28 |
| 1× | node limit |
1 calls:
| 53.0ms | (expm1.f64 (log1p.f64 (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2))))) |
| 1× | egg-herbie |
| 621× | associate-/l*_binary64 |
| 476× | associate-/r*_binary64 |
| 473× | fma-def_binary64 |
| 233× | associate-*r*_binary64 |
| 202× | associate-*l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 100 | 1123 |
| 1 | 300 | 1097 |
| 2 | 1218 | 1053 |
| 1× | node limit |
5 alts after pruning (2 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 208 | 0 | 208 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 208 | 5 | 213 |
| Status | Error | Program |
| 16.8b | (*.f64 (pow.f64 (pow.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) 1/6) 2) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2)) | |
| 15.6b | (fma.f64 x (-.f64 1/2 y) (log.f64 2)) | |
| ✓ | 0.5b | (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) |
| ✓ | 2.1b | (*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2)) |
| ✓ | 15.0b | (/.f64 1 (expm1.f64 (log1p.f64 (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2)))))) |
Compiled 6662 to 3742 computations (43.8% saved)
Total 0.2b remaining (51.4%)
Threshold costs 0.2b (51.4%)
Compiled 2332 to 1554 computations (33.4% saved)
| 1× | egg-herbie |
| 4× | +-commutative_binary64 |
| 4× | *-commutative_binary64 |
| 4× | sub-neg_binary64 |
| 3× | neg-sub0_binary64 |
| 3× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 11 |
| 1 | 13 | 11 |
| 2 | 25 | 11 |
| 3 | 31 | 11 |
| 4 | 35 | 11 |
| 5 | 36 | 11 |
| 1× | saturated |
Compiled 105 to 65 computations (38.1% saved)
Loading profile data...