Time bar (total: 28.2s)
| 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 |
| 0% | 87.4% | 12.6% | 5 |
| 0% | 81.2% | 18.8% | 6 |
| 0% | 74.9% | 25.1% | 7 |
| 0% | 71.8% | 28.2% | 8 |
| 3.1% | 60.9% | 36% | 9 |
| 3.1% | 58.1% | 38.7% | 10 |
| 4.7% | 52.2% | 43.1% | 11 |
| 4.7% | 51% | 44.3% | 12 |
| 5.8% | 47.6% | 46.6% | 13 |
| 5.8% | 47% | 47.1% | 14 |
Compiled 16 to 12 computations (25% saved)
| 3.0s | 724× | body | 8192 | exit |
| 2.5s | 1485× | body | 1024 | invalid |
| 2.4s | 2740× | body | 1024 | valid |
| 1.7s | 1809× | body | 2048 | valid |
| 737.0ms | 1257× | body | 512 | valid |
| 569.0ms | 745× | body | 512 | invalid |
| 414.0ms | 1851× | body | 128 | valid |
| 235.0ms | 599× | body | 256 | valid |
| 195.0ms | 1017× | body | 128 | invalid |
| 159.0ms | 368× | body | 256 | invalid |
| 14.0ms | 8× | body | 2048 | invalid |
Compiled 47 to 35 computations (25.5% saved)
| 1× | egg-herbie |
| 436× | unswap-sqr_binary64 |
| 377× | fma-def_binary64 |
| 359× | sub-neg_binary64 |
| 289× | unsub-neg_binary64 |
| 253× | distribute-rgt-neg-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 20 | 19 |
| 2 | 41 | 19 |
| 3 | 102 | 19 |
| 4 | 248 | 19 |
| 5 | 790 | 19 |
| 6 | 2110 | 19 |
| 7 | 4405 | 19 |
| 8 | 5048 | 19 |
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 |
| ▶ | 31.3b | (-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n))) |
Compiled 45 to 33 computations (26.7% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (pow.f64 (+.f64 x 1) (/.f64 1 n)) |
| ✓ | 0.0b | (pow.f64 x (/.f64 1 n)) |
| ✓ | 1.4b | (-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n))) |
3 calls:
| 67.0ms | (-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n))) |
| 36.0ms | (pow.f64 x (/.f64 1 n)) |
| 16.0ms | (pow.f64 (+.f64 x 1) (/.f64 1 n)) |
| 1× | rewrite-expression-head |
| 78× | *-un-lft-identity_binary64 |
| 76× | unpow-prod-down_binary64 |
| 65× | add-sqr-sqrt_binary64 |
| 56× | prod-diff_binary64 |
| 53× | add-cube-cbrt_binary64 |
3 calls:
| 9.0ms | (-.f64 (pow.f64 (+.f64 x 1) (/.f64 1 n)) (pow.f64 x (/.f64 1 n))) |
| 5.0ms | (pow.f64 (+.f64 x 1) (/.f64 1 n)) |
| 2.0ms | (pow.f64 x (/.f64 1 n)) |
| 1× | egg-herbie |
| 580× | cancel-sign-sub-inv_binary64 |
| 422× | fma-neg_binary64 |
| 284× | sub-neg_binary64 |
| 202× | fma-def_binary64 |
| 194× | +-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 395 | 9108 |
| 1 | 964 | 7526 |
| 2 | 3311 | 5432 |
| 3 | 4914 | 5432 |
| 4 | 4974 | 5432 |
5 alts after pruning (5 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 264 | 5 | 269 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 265 | 5 | 270 |
| Status | Error | Program |
| ▶ | 30.5b | (cbrt.f64 (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3)) |
| 40.1b | (-.f64 (fma.f64 11/24 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (*.f64 n n) (pow.f64 x 4))) (fma.f64 1/3 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 n (pow.f64 x 3))) (fma.f64 1/24 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (pow.f64 x 4) (pow.f64 n 4))) (fma.f64 1/2 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (*.f64 x x) (*.f64 n n))) (fma.f64 1/6 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (pow.f64 x 3) (pow.f64 n 3))) (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 x n))))))) (fma.f64 1/2 (+.f64 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 x (*.f64 x n))) (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 n (*.f64 n (pow.f64 x 3))))) (*.f64 1/4 (+.f64 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 n (pow.f64 x 4))) (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (pow.f64 n 3) (pow.f64 x 4))))))) | |
| 32.0b | (-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 n n)) (fma.f64 1/24 (/.f64 (pow.f64 (log1p.f64 x) 4) (pow.f64 n 4)) (fma.f64 1/6 (pow.f64 (/.f64 (log1p.f64 x) n) 3) (/.f64 (log1p.f64 x) n)))) (fma.f64 1/6 (pow.f64 (/.f64 (log.f64 x) n) 3) (fma.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (*.f64 n n)) (fma.f64 1/24 (/.f64 (pow.f64 (log.f64 x) 4) (pow.f64 n 4)) (/.f64 (log.f64 x) n))))) | |
| 30.5b | (*.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) | |
| 30.8b | (log.f64 (exp.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) |
Compiled 10022 to 6751 computations (32.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (cbrt.f64 (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3)) |
| ✓ | 0.0b | (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3) |
| ✓ | 0.2b | (/.f64 (log1p.f64 x) n) |
| ✓ | 1.7b | (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) |
4 calls:
| 281.0ms | (/.f64 (log1p.f64 x) n) |
| 156.0ms | (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3) |
| 36.0ms | (cbrt.f64 (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3)) |
| 36.0ms | (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) |
| 1× | rewrite-expression-head |
| 59× | add-sqr-sqrt_binary64 |
| 44× | *-un-lft-identity_binary64 |
| 34× | add-cube-cbrt_binary64 |
| 31× | unpow-prod-down_binary64 |
| 21× | prod-diff_binary64 |
4 calls:
| 8.0ms | (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3) |
| 7.0ms | (cbrt.f64 (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3)) |
| 7.0ms | (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) |
| 2.0ms | (/.f64 (log1p.f64 x) n) |
| 1× | egg-herbie |
| 506× | fma-def_binary64 |
| 421× | times-frac_binary64 |
| 375× | associate-/r*_binary64 |
| 299× | associate-/l*_binary64 |
| 154× | +-commutative_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 677 | 12407 |
| 1 | 1976 | 11002 |
| 2 | 5028 | 11002 |
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 243 | 3 | 246 |
| Fresh | 0 | 4 | 4 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 243 | 8 | 251 |
| Status | Error | Program |
| 40.1b | (-.f64 (fma.f64 11/24 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (*.f64 n n) (pow.f64 x 4))) (fma.f64 1/3 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 n (pow.f64 x 3))) (fma.f64 1/24 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (pow.f64 x 4) (pow.f64 n 4))) (fma.f64 1/2 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (*.f64 x x) (*.f64 n n))) (fma.f64 1/6 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (pow.f64 x 3) (pow.f64 n 3))) (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 x n))))))) (fma.f64 1/2 (+.f64 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 x (*.f64 x n))) (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 n (*.f64 n (pow.f64 x 3))))) (*.f64 1/4 (+.f64 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 n (pow.f64 x 4))) (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (pow.f64 n 3) (pow.f64 x 4))))))) | |
| 46.8b | (cbrt.f64 (-.f64 (+.f64 (*.f64 7/4 (/.f64 (*.f64 (pow.f64 (log.f64 x) 4) (log.f64 (+.f64 1 x))) (pow.f64 n 5))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 4) (pow.f64 n 4))) (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (log.f64 x) 3) (log.f64 (+.f64 1 x))) (pow.f64 n 4))) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 6) (pow.f64 n 6))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (pow.f64 (log.f64 x) 4) (pow.f64 (log.f64 (+.f64 1 x)) 2)) (pow.f64 n 6))) (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (log.f64 x) 2) (log.f64 (+.f64 1 x))) (pow.f64 n 3))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (pow.f64 (log.f64 x) 5) (log.f64 (+.f64 1 x))) (pow.f64 n 6))) (+.f64 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 3) (pow.f64 n 3)) (+.f64 (*.f64 5/4 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 5) (pow.f64 n 5))) (/.f64 (*.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 (+.f64 1 x)) 2)) (pow.f64 n 5))))))))))) (+.f64 (*.f64 5/4 (/.f64 (pow.f64 (log.f64 x) 5) (pow.f64 n 5))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 (log.f64 x) 4) (pow.f64 n 4))) (+.f64 (*.f64 7/4 (/.f64 (*.f64 (log.f64 x) (pow.f64 (log.f64 (+.f64 1 x)) 4)) (pow.f64 n 5))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (log.f64 x) (pow.f64 (log.f64 (+.f64 1 x)) 5)) (pow.f64 n 6))) (+.f64 (*.f64 3 (/.f64 (*.f64 (log.f64 x) (pow.f64 (log.f64 (+.f64 1 x)) 2)) (pow.f64 n 3))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (pow.f64 (log.f64 x) 2) (pow.f64 (log.f64 (+.f64 1 x)) 4)) (pow.f64 n 6))) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (log.f64 x) 6) (pow.f64 n 6))) (+.f64 (*.f64 3 (/.f64 (*.f64 (log.f64 x) (pow.f64 (log.f64 (+.f64 1 x)) 3)) (pow.f64 n 4))) (+.f64 (/.f64 (pow.f64 (log.f64 x) 3) (pow.f64 n 3)) (/.f64 (*.f64 (pow.f64 (log.f64 x) 2) (pow.f64 (log.f64 (+.f64 1 x)) 3)) (pow.f64 n 5))))))))))))) | |
| 48.7b | (cbrt.f64 (/.f64 (pow.f64 (exp.f64 (neg.f64 (/.f64 (neg.f64 (log.f64 x)) n))) 3) (*.f64 (pow.f64 x 3) (pow.f64 n 3)))) | |
| ▶ | 30.5b | (*.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) |
| ✓ | 30.5b | (cbrt.f64 (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3)) |
| 32.0b | (-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 n n)) (fma.f64 1/24 (/.f64 (pow.f64 (log1p.f64 x) 4) (pow.f64 n 4)) (fma.f64 1/6 (pow.f64 (/.f64 (log1p.f64 x) n) 3) (/.f64 (log1p.f64 x) n)))) (fma.f64 1/6 (pow.f64 (/.f64 (log.f64 x) n) 3) (fma.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (*.f64 n n)) (fma.f64 1/24 (/.f64 (pow.f64 (log.f64 x) 4) (pow.f64 n 4)) (/.f64 (log.f64 x) n))))) | |
| 30.8b | (log.f64 (exp.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) | |
| 35.3b | (cbrt.f64 (pow.f64 (/.f64 (-.f64 (log1p.f64 x) (log.f64 x)) n) 3)) |
Compiled 12382 to 7613 computations (38.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (*.f64 (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) |
| ✓ | 0.0b | (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) |
| 0.2b | (/.f64 (log1p.f64 x) n) | |
| 1.7b | (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) |
2 calls:
| 776.0ms | (*.f64 (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) |
| 323.0ms | (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) |
| 1× | rewrite-expression-head |
| 44× | add-sqr-sqrt_binary64 |
| 43× | cbrt-prod_binary64 |
| 27× | *-un-lft-identity_binary64 |
| 15× | difference-of-squares_binary64 |
| 14× | cbrt-div_binary64 |
2 calls:
| 19.0ms | (*.f64 (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) |
| 6.0ms | (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) |
| 1× | egg-herbie |
| 416× | *-commutative_binary64 |
| 266× | +-commutative_binary64 |
| 230× | fma-def_binary64 |
| 203× | associate-+r+_binary64 |
| 151× | associate-*r/_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 1104 | 19896 |
| 1 | 4049 | 19536 |
| 2 | 4979 | 19536 |
| 3 | 4955 | 19536 |
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 744 | 1 | 745 |
| Fresh | 0 | 6 | 6 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 745 | 8 | 753 |
| Status | Error | Program |
| 40.1b | (-.f64 (fma.f64 11/24 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (*.f64 n n) (pow.f64 x 4))) (fma.f64 1/3 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 n (pow.f64 x 3))) (fma.f64 1/24 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (pow.f64 x 4) (pow.f64 n 4))) (fma.f64 1/2 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (*.f64 x x) (*.f64 n n))) (fma.f64 1/6 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (pow.f64 x 3) (pow.f64 n 3))) (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 x n))))))) (fma.f64 1/2 (+.f64 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 x (*.f64 x n))) (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 n (*.f64 n (pow.f64 x 3))))) (*.f64 1/4 (+.f64 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 n (pow.f64 x 4))) (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (pow.f64 n 3) (pow.f64 x 4))))))) | |
| 46.8b | (cbrt.f64 (-.f64 (+.f64 (*.f64 7/4 (/.f64 (*.f64 (pow.f64 (log.f64 x) 4) (log.f64 (+.f64 1 x))) (pow.f64 n 5))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 4) (pow.f64 n 4))) (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (log.f64 x) 3) (log.f64 (+.f64 1 x))) (pow.f64 n 4))) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 6) (pow.f64 n 6))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (pow.f64 (log.f64 x) 4) (pow.f64 (log.f64 (+.f64 1 x)) 2)) (pow.f64 n 6))) (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (log.f64 x) 2) (log.f64 (+.f64 1 x))) (pow.f64 n 3))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (pow.f64 (log.f64 x) 5) (log.f64 (+.f64 1 x))) (pow.f64 n 6))) (+.f64 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 3) (pow.f64 n 3)) (+.f64 (*.f64 5/4 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 5) (pow.f64 n 5))) (/.f64 (*.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 (+.f64 1 x)) 2)) (pow.f64 n 5))))))))))) (+.f64 (*.f64 5/4 (/.f64 (pow.f64 (log.f64 x) 5) (pow.f64 n 5))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 (log.f64 x) 4) (pow.f64 n 4))) (+.f64 (*.f64 7/4 (/.f64 (*.f64 (log.f64 x) (pow.f64 (log.f64 (+.f64 1 x)) 4)) (pow.f64 n 5))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (log.f64 x) (pow.f64 (log.f64 (+.f64 1 x)) 5)) (pow.f64 n 6))) (+.f64 (*.f64 3 (/.f64 (*.f64 (log.f64 x) (pow.f64 (log.f64 (+.f64 1 x)) 2)) (pow.f64 n 3))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (pow.f64 (log.f64 x) 2) (pow.f64 (log.f64 (+.f64 1 x)) 4)) (pow.f64 n 6))) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (log.f64 x) 6) (pow.f64 n 6))) (+.f64 (*.f64 3 (/.f64 (*.f64 (log.f64 x) (pow.f64 (log.f64 (+.f64 1 x)) 3)) (pow.f64 n 4))) (+.f64 (/.f64 (pow.f64 (log.f64 x) 3) (pow.f64 n 3)) (/.f64 (*.f64 (pow.f64 (log.f64 x) 2) (pow.f64 (log.f64 (+.f64 1 x)) 3)) (pow.f64 n 5))))))))))))) | |
| 35.3b | (cbrt.f64 (pow.f64 (/.f64 (-.f64 (log1p.f64 x) (log.f64 x)) n) 3)) | |
| ▶ | 30.5b | (*.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))))) |
| ✓ | 30.5b | (cbrt.f64 (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3)) |
| 32.0b | (-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 n n)) (fma.f64 1/24 (/.f64 (pow.f64 (log1p.f64 x) 4) (pow.f64 n 4)) (fma.f64 1/6 (pow.f64 (/.f64 (log1p.f64 x) n) 3) (/.f64 (log1p.f64 x) n)))) (fma.f64 1/6 (pow.f64 (/.f64 (log.f64 x) n) 3) (fma.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (*.f64 n n)) (fma.f64 1/24 (/.f64 (pow.f64 (log.f64 x) 4) (pow.f64 n 4)) (/.f64 (log.f64 x) n))))) | |
| 48.7b | (cbrt.f64 (/.f64 (pow.f64 (exp.f64 (neg.f64 (/.f64 (neg.f64 (log.f64 x)) n))) 3) (*.f64 (pow.f64 x 3) (pow.f64 n 3)))) | |
| 30.8b | (log.f64 (exp.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) |
Compiled 74772 to 42614 computations (43% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.0b | (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) | |
| ✓ | 0.0b | (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))))) |
| 0.2b | (/.f64 (log1p.f64 x) n) | |
| 1.7b | (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) |
1 calls:
| 322.0ms | (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))))) |
| 1× | rewrite-expression-head |
| 80× | cbrt-div_binary64 |
| 28× | frac-times_binary64 |
| 27× | flip--_binary64 |
| 27× | flip3--_binary64 |
| 14× | associate-*l/_binary64 |
1 calls:
| 30.0ms | (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))))) |
| 1× | egg-herbie |
| 625× | times-frac_binary64 |
| 468× | associate-/r*_binary64 |
| 376× | associate-/l*_binary64 |
| 341× | fma-def_binary64 |
| 219× | associate-*r/_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 510 | 9169 |
| 1 | 1541 | 8565 |
| 2 | 5041 | 8565 |
8 alts after pruning (6 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1149 | 0 | 1149 |
| Fresh | 0 | 6 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 1149 | 8 | 1157 |
| Status | Error | Program |
| 40.1b | (-.f64 (fma.f64 11/24 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (*.f64 n n) (pow.f64 x 4))) (fma.f64 1/3 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 n (pow.f64 x 3))) (fma.f64 1/24 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (pow.f64 x 4) (pow.f64 n 4))) (fma.f64 1/2 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (*.f64 x x) (*.f64 n n))) (fma.f64 1/6 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (pow.f64 x 3) (pow.f64 n 3))) (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 x n))))))) (fma.f64 1/2 (+.f64 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 x (*.f64 x n))) (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 n (*.f64 n (pow.f64 x 3))))) (*.f64 1/4 (+.f64 (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 n (pow.f64 x 4))) (/.f64 (pow.f64 x (/.f64 1 n)) (*.f64 (pow.f64 n 3) (pow.f64 x 4))))))) | |
| 46.8b | (cbrt.f64 (-.f64 (+.f64 (*.f64 7/4 (/.f64 (*.f64 (pow.f64 (log.f64 x) 4) (log.f64 (+.f64 1 x))) (pow.f64 n 5))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 4) (pow.f64 n 4))) (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (log.f64 x) 3) (log.f64 (+.f64 1 x))) (pow.f64 n 4))) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 6) (pow.f64 n 6))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (pow.f64 (log.f64 x) 4) (pow.f64 (log.f64 (+.f64 1 x)) 2)) (pow.f64 n 6))) (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (log.f64 x) 2) (log.f64 (+.f64 1 x))) (pow.f64 n 3))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (pow.f64 (log.f64 x) 5) (log.f64 (+.f64 1 x))) (pow.f64 n 6))) (+.f64 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 3) (pow.f64 n 3)) (+.f64 (*.f64 5/4 (/.f64 (pow.f64 (log.f64 (+.f64 1 x)) 5) (pow.f64 n 5))) (/.f64 (*.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 (+.f64 1 x)) 2)) (pow.f64 n 5))))))))))) (+.f64 (*.f64 5/4 (/.f64 (pow.f64 (log.f64 x) 5) (pow.f64 n 5))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 (log.f64 x) 4) (pow.f64 n 4))) (+.f64 (*.f64 7/4 (/.f64 (*.f64 (log.f64 x) (pow.f64 (log.f64 (+.f64 1 x)) 4)) (pow.f64 n 5))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (log.f64 x) (pow.f64 (log.f64 (+.f64 1 x)) 5)) (pow.f64 n 6))) (+.f64 (*.f64 3 (/.f64 (*.f64 (log.f64 x) (pow.f64 (log.f64 (+.f64 1 x)) 2)) (pow.f64 n 3))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (pow.f64 (log.f64 x) 2) (pow.f64 (log.f64 (+.f64 1 x)) 4)) (pow.f64 n 6))) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (log.f64 x) 6) (pow.f64 n 6))) (+.f64 (*.f64 3 (/.f64 (*.f64 (log.f64 x) (pow.f64 (log.f64 (+.f64 1 x)) 3)) (pow.f64 n 4))) (+.f64 (/.f64 (pow.f64 (log.f64 x) 3) (pow.f64 n 3)) (/.f64 (*.f64 (pow.f64 (log.f64 x) 2) (pow.f64 (log.f64 (+.f64 1 x)) 3)) (pow.f64 n 5))))))))))))) | |
| 35.3b | (cbrt.f64 (pow.f64 (/.f64 (-.f64 (log1p.f64 x) (log.f64 x)) n) 3)) | |
| ✓ | 30.5b | (*.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n)))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) (cbrt.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))))) |
| ✓ | 30.5b | (cbrt.f64 (pow.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))) 3)) |
| 32.0b | (-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (log1p.f64 x) 2) (*.f64 n n)) (fma.f64 1/24 (/.f64 (pow.f64 (log1p.f64 x) 4) (pow.f64 n 4)) (fma.f64 1/6 (pow.f64 (/.f64 (log1p.f64 x) n) 3) (/.f64 (log1p.f64 x) n)))) (fma.f64 1/6 (pow.f64 (/.f64 (log.f64 x) n) 3) (fma.f64 1/2 (/.f64 (pow.f64 (log.f64 x) 2) (*.f64 n n)) (fma.f64 1/24 (/.f64 (pow.f64 (log.f64 x) 4) (pow.f64 n 4)) (/.f64 (log.f64 x) n))))) | |
| 48.7b | (cbrt.f64 (/.f64 (pow.f64 (exp.f64 (neg.f64 (/.f64 (neg.f64 (log.f64 x)) n))) 3) (*.f64 (pow.f64 x 3) (pow.f64 n 3)))) | |
| 30.8b | (log.f64 (exp.f64 (-.f64 (exp.f64 (/.f64 (log1p.f64 x) n)) (pow.f64 x (/.f64 1 n))))) |
Compiled 133080 to 71434 computations (46.3% saved)
Total 11.8b remaining (95%)
Threshold costs 0b (0%)
Compiled 71784 to 42776 computations (40.4% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 8 | 1.196556295007658e+64 | 6.2734430485397616e+66 | 1.2314344705355872e+64 |
| 9 | 1598.2710702697655 | 818070599511.0486 | 71783639.15478234 |
| 8 | -3094287753.9496865 | -4239217.084780569 | -24500527.02708143 |
| 9 | -5.740267908950426e+133 | -1.0242283934320518e+126 | -1.041250944500129e+126 |
Compiled 3 to 2 computations (33.3% saved)
| 1× | egg-herbie |
| 15× | *-commutative_binary64 |
| 12× | +-commutative_binary64 |
| 11× | sub-neg_binary64 |
| 7× | neg-sub0_binary64 |
| 7× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 78 | 395 |
| 1 | 101 | 395 |
| 2 | 117 | 395 |
| 3 | 131 | 395 |
| 4 | 145 | 395 |
| 5 | 150 | 395 |
| 6 | 152 | 395 |
| 7 | 150 | 395 |
Compiled 1154 to 740 computations (35.9% saved)
Loading profile data...