Time bar (total: 17.4s)
| 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% | 99.9% | 0.1% | 5 |
| 0% | 99.9% | 0.1% | 6 |
| 1.6% | 95.2% | 3.2% | 7 |
| 1.6% | 94.4% | 4% | 8 |
| 3.5% | 85.9% | 10.6% | 9 |
| 3.5% | 84.9% | 11.6% | 10 |
| 4.8% | 79.4% | 15.8% | 11 |
| 5.3% | 78.2% | 16.4% | 12 |
| 6% | 74.9% | 19.1% | 13 |
| 6.1% | 74.5% | 19.4% | 14 |
Compiled 18 to 12 computations (33.3% saved)
| 2.9s | 1816× | body | 2048 | valid |
| 2.2s | 2671× | body | 1024 | valid |
| 1.9s | 775× | body | 8192 | exit |
| 567.0ms | 1239× | body | 512 | valid |
| 292.0ms | 1913× | body | 128 | valid |
| 158.0ms | 583× | body | 256 | valid |
| 82.0ms | 34× | body | 4096 | valid |
| 78.0ms | 90× | body | 1024 | invalid |
| 66.0ms | 107× | body | 512 | invalid |
| 64.0ms | 430× | body | 128 | invalid |
| 25.0ms | 73× | body | 256 | invalid |
| 12.0ms | 10× | body | 2048 | invalid |
Compiled 35 to 23 computations (34.3% saved)
| 1× | egg-herbie |
| 701× | fma-def_binary64 |
| 563× | associate-/r/_binary64 |
| 484× | associate-/r*_binary64 |
| 474× | associate-*l/_binary64 |
| 421× | associate-/l/_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 22 |
| 1 | 29 | 22 |
| 2 | 67 | 20 |
| 3 | 164 | 20 |
| 4 | 463 | 20 |
| 5 | 1761 | 20 |
| 6 | 4847 | 20 |
| 7 | 5013 | 20 |
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 |
| ▶ | 47.0b | (*.f64 100 (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) (/.f64 i n))) |
| 47.0b | (*.f64 n (/.f64 (fma.f64 100 (pow.f64 (+.f64 1 (/.f64 i n)) n) -100) i)) |
Compiled 97 to 63 computations (35.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (*.f64 100 (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) (/.f64 i n))) |
| ✓ | 2.0b | (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) |
| ✓ | 7.7b | (pow.f64 (+.f64 1 (/.f64 i n)) n) |
| ✓ | 9.9b | (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) (/.f64 i n)) |
4 calls:
| 122.0ms | (*.f64 100 (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) (/.f64 i n))) |
| 100.0ms | (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) (/.f64 i n)) |
| 59.0ms | (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) |
| 35.0ms | (pow.f64 (+.f64 1 (/.f64 i n)) n) |
| 1× | rewrite-expression-head |
| 584× | times-frac_binary64 |
| 502× | add-sqr-sqrt_binary64 |
| 391× | *-un-lft-identity_binary64 |
| 241× | add-cube-cbrt_binary64 |
| 174× | associate-*r*_binary64 |
4 calls:
| 39.0ms | (*.f64 100 (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) (/.f64 i n))) |
| 16.0ms | (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) (/.f64 i n)) |
| 9.0ms | (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) |
| 5.0ms | (pow.f64 (+.f64 1 (/.f64 i n)) n) |
| 1× | egg-herbie |
| 961× | fma-def_binary64 |
| 386× | times-frac_binary64 |
| 336× | *-commutative_binary64 |
| 275× | +-commutative_binary64 |
| 222× | associate-*r/_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 1123 | 23638 |
| 1 | 3503 | 23269 |
| 2 | 4974 | 23269 |
12 alts after pruning (12 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 782 | 11 | 793 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 783 | 12 | 795 |
| Status | Error | Program |
| 28.3b | (-.f64 (fma.f64 (*.f64 n (*.f64 i i)) 50/3 (fma.f64 n 100 (fma.f64 (*.f64 n i) 50 (*.f64 (/.f64 (*.f64 i i) n) 100/3)))) (*.f64 50 (+.f64 i (*.f64 i i)))) | |
| 28.3b | (*.f64 100 (-.f64 (fma.f64 1/6 (*.f64 n (*.f64 i i)) (+.f64 n (fma.f64 1/2 (*.f64 n i) (*.f64 1/3 (/.f64 (*.f64 i i) n))))) (*.f64 1/2 (+.f64 i (*.f64 i i))))) | |
| 57.7b | (*.f64 100 (/.f64 (-.f64 (fma.f64 1/2 (*.f64 (*.f64 n n) (pow.f64 (log.f64 n) 2)) (fma.f64 n (log.f64 i) (fma.f64 1/2 (*.f64 (*.f64 n n) (pow.f64 (log.f64 i) 2)) (/.f64 (*.f64 n n) i)))) (fma.f64 n (log.f64 n) (*.f64 (*.f64 n n) (*.f64 (log.f64 i) (log.f64 n))))) (/.f64 i n))) | |
| 58.7b | (*.f64 100 (-.f64 (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 2)) (*.f64 i i)) (fma.f64 1/3 (/.f64 (pow.f64 n 5) (pow.f64 i 4)) (fma.f64 1/2 (/.f64 (pow.f64 n 5) (pow.f64 i 3)) (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 n 4) (pow.f64 (log.f64 i) 3)) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 3) (pow.f64 (log.f64 i) 2)) i) (+.f64 (/.f64 (*.f64 (*.f64 n n) (log.f64 i)) i) (+.f64 (/.f64 (pow.f64 n 3) (*.f64 i i)) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 i) 4)) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 4) (*.f64 (log.f64 i) (pow.f64 (log.f64 n) 2))) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 3) (pow.f64 (log.f64 n) 2)) i) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 4)) i) (+.f64 (/.f64 (*.f64 (pow.f64 n 4) (log.f64 i)) (*.f64 i i)) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 i) 2)) (*.f64 i i)) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (log.f64 n)) (pow.f64 i 3)) (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (log.f64 i) 2) (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 2))) i)))))))))))))))) (+.f64 (/.f64 (*.f64 (pow.f64 n 4) (log.f64 n)) (*.f64 i i)) (fma.f64 1/6 (/.f64 (*.f64 (log.f64 i) (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 3))) i) (fma.f64 1/2 (/.f64 (pow.f64 n 4) (pow.f64 i 3)) (+.f64 (/.f64 (*.f64 (log.f64 i) (*.f64 (pow.f64 n 3) (log.f64 n))) i) (+.f64 (/.f64 (*.f64 (log.f64 i) (*.f64 (pow.f64 n 5) (log.f64 n))) (*.f64 i i)) (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 (log.f64 i) 3) (*.f64 (pow.f64 n 5) (log.f64 n))) i) (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 n 4) (pow.f64 (log.f64 n) 3)) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 4) (*.f64 (log.f64 n) (pow.f64 (log.f64 i) 2))) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (log.f64 i)) (pow.f64 i 3)) (/.f64 (*.f64 (*.f64 n n) (log.f64 n)) i)))))))))))) | |
| 44.0b | (*.f64 100 (/.f64 (expm1.f64 (*.f64 (log.f64 (+.f64 1 (/.f64 i n))) n)) (/.f64 i n))) | |
| 47.0b | (*.f64 n (/.f64 (fma.f64 100 (pow.f64 (+.f64 1 (/.f64 i n)) n) -100) i)) | |
| 33.3b | (*.f64 100 (/.f64 (-.f64 (expm1.f64 i) (*.f64 1/2 (/.f64 (*.f64 (*.f64 i i) (exp.f64 i)) n))) (/.f64 i n))) | |
| 47.0b | (*.f64 100 (*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) i) n)) | |
| ▶ | 19.5b | (*.f64 100 (/.f64 (*.f64 n (expm1.f64 i)) i)) |
| 55.6b | (*.f64 100 (/.f64 (log.f64 (/.f64 i n)) (/.f64 i (*.f64 n n)))) | |
| 58.2b | (*.f64 100 (/.f64 (*.f64 (pow.f64 n 2) (-.f64 (log.f64 i) (log.f64 n))) i)) | |
| 50.0b | (*.f64 100 (/.f64 (expm1.f64 (*.f64 n (-.f64 (log.f64 (/.f64 -1 n)) (log.f64 (/.f64 -1 i))))) (/.f64 i n))) |
Compiled 32322 to 18390 computations (43.1% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (*.f64 n (expm1.f64 i)) |
| ✓ | 0.1b | (*.f64 100 (/.f64 (*.f64 n (expm1.f64 i)) i)) |
| ✓ | 7.2b | (/.f64 (*.f64 n (expm1.f64 i)) i) |
3 calls:
| 13.0ms | (*.f64 100 (/.f64 (*.f64 n (expm1.f64 i)) i)) |
| 12.0ms | (/.f64 (*.f64 n (expm1.f64 i)) i) |
| 7.0ms | (*.f64 n (expm1.f64 i)) |
| 1× | rewrite-expression-head |
| 19× | add-cbrt-cube_binary64 |
| 19× | add-exp-log_binary64 |
| 14× | add-sqr-sqrt_binary64 |
| 10× | associate-*r*_binary64 |
| 10× | *-un-lft-identity_binary64 |
3 calls:
| 5.0ms | (*.f64 100 (/.f64 (*.f64 n (expm1.f64 i)) i)) |
| 3.0ms | (/.f64 (*.f64 n (expm1.f64 i)) i) |
| 3.0ms | (*.f64 n (expm1.f64 i)) |
| 1× | egg-herbie |
| 976× | times-frac_binary64 |
| 431× | fma-def_binary64 |
| 238× | associate-/l/_binary64 |
| 199× | distribute-rgt-in_binary64 |
| 194× | distribute-lft-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 160 | 1784 |
| 1 | 383 | 1599 |
| 2 | 1367 | 1579 |
| 3 | 4720 | 1579 |
| 4 | 4994 | 1579 |
| 5 | 4998 | 1579 |
| 6 | 4988 | 1579 |
13 alts after pruning (13 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 123 | 2 | 125 |
| Fresh | 0 | 11 | 11 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 124 | 13 | 137 |
| Status | Error | Program |
| ▶ | 19.3b | (/.f64 -100 (/.f64 i (neg.f64 (*.f64 n (expm1.f64 i))))) |
| 33.3b | (*.f64 100 (/.f64 (-.f64 (expm1.f64 i) (*.f64 1/2 (/.f64 (*.f64 (*.f64 i i) (exp.f64 i)) n))) (/.f64 i n))) | |
| 28.3b | (-.f64 (fma.f64 (*.f64 n (*.f64 i i)) 50/3 (fma.f64 n 100 (fma.f64 (*.f64 n i) 50 (*.f64 (/.f64 (*.f64 i i) n) 100/3)))) (*.f64 50 (+.f64 i (*.f64 i i)))) | |
| 28.3b | (*.f64 100 (-.f64 (fma.f64 1/6 (*.f64 n (*.f64 i i)) (+.f64 n (fma.f64 1/2 (*.f64 n i) (*.f64 1/3 (/.f64 (*.f64 i i) n))))) (*.f64 1/2 (+.f64 i (*.f64 i i))))) | |
| 57.7b | (*.f64 100 (/.f64 (-.f64 (fma.f64 1/2 (*.f64 (*.f64 n n) (pow.f64 (log.f64 n) 2)) (fma.f64 n (log.f64 i) (fma.f64 1/2 (*.f64 (*.f64 n n) (pow.f64 (log.f64 i) 2)) (/.f64 (*.f64 n n) i)))) (fma.f64 n (log.f64 n) (*.f64 (*.f64 n n) (*.f64 (log.f64 i) (log.f64 n))))) (/.f64 i n))) | |
| 58.7b | (*.f64 100 (-.f64 (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 2)) (*.f64 i i)) (fma.f64 1/3 (/.f64 (pow.f64 n 5) (pow.f64 i 4)) (fma.f64 1/2 (/.f64 (pow.f64 n 5) (pow.f64 i 3)) (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 n 4) (pow.f64 (log.f64 i) 3)) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 3) (pow.f64 (log.f64 i) 2)) i) (+.f64 (/.f64 (*.f64 (*.f64 n n) (log.f64 i)) i) (+.f64 (/.f64 (pow.f64 n 3) (*.f64 i i)) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 i) 4)) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 4) (*.f64 (log.f64 i) (pow.f64 (log.f64 n) 2))) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 3) (pow.f64 (log.f64 n) 2)) i) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 4)) i) (+.f64 (/.f64 (*.f64 (pow.f64 n 4) (log.f64 i)) (*.f64 i i)) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 i) 2)) (*.f64 i i)) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (log.f64 n)) (pow.f64 i 3)) (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (log.f64 i) 2) (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 2))) i)))))))))))))))) (+.f64 (/.f64 (*.f64 (pow.f64 n 4) (log.f64 n)) (*.f64 i i)) (fma.f64 1/6 (/.f64 (*.f64 (log.f64 i) (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 3))) i) (fma.f64 1/2 (/.f64 (pow.f64 n 4) (pow.f64 i 3)) (+.f64 (/.f64 (*.f64 (log.f64 i) (*.f64 (pow.f64 n 3) (log.f64 n))) i) (+.f64 (/.f64 (*.f64 (log.f64 i) (*.f64 (pow.f64 n 5) (log.f64 n))) (*.f64 i i)) (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 (log.f64 i) 3) (*.f64 (pow.f64 n 5) (log.f64 n))) i) (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 n 4) (pow.f64 (log.f64 n) 3)) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 4) (*.f64 (log.f64 n) (pow.f64 (log.f64 i) 2))) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (log.f64 i)) (pow.f64 i 3)) (/.f64 (*.f64 (*.f64 n n) (log.f64 n)) i)))))))))))) | |
| 44.0b | (*.f64 100 (/.f64 (expm1.f64 (*.f64 (log.f64 (+.f64 1 (/.f64 i n))) n)) (/.f64 i n))) | |
| 47.0b | (*.f64 n (/.f64 (fma.f64 100 (pow.f64 (+.f64 1 (/.f64 i n)) n) -100) i)) | |
| 47.0b | (*.f64 100 (*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) i) n)) | |
| 35.5b | (cbrt.f64 (pow.f64 (*.f64 (/.f64 (*.f64 n (expm1.f64 i)) i) 100) 3)) | |
| 55.6b | (*.f64 100 (/.f64 (log.f64 (/.f64 i n)) (/.f64 i (*.f64 n n)))) | |
| 58.2b | (*.f64 100 (/.f64 (*.f64 (pow.f64 n 2) (-.f64 (log.f64 i) (log.f64 n))) i)) | |
| 50.0b | (*.f64 100 (/.f64 (expm1.f64 (*.f64 n (-.f64 (log.f64 (/.f64 -1 n)) (log.f64 (/.f64 -1 i))))) (/.f64 i n))) |
Compiled 2828 to 1431 computations (49.4% saved)
Found 3 expressions with local error:
| New | Error | Program |
| 0.0b | (*.f64 n (expm1.f64 i)) | |
| ✓ | 0.4b | (/.f64 -100 (/.f64 i (neg.f64 (*.f64 n (expm1.f64 i))))) |
| ✓ | 7.2b | (/.f64 i (neg.f64 (*.f64 n (expm1.f64 i)))) |
2 calls:
| 26.0ms | (/.f64 i (neg.f64 (*.f64 n (expm1.f64 i)))) |
| 13.0ms | (/.f64 -100 (/.f64 i (neg.f64 (*.f64 n (expm1.f64 i))))) |
| 1× | rewrite-expression-head |
| 156× | times-frac_binary64 |
| 76× | *-un-lft-identity_binary64 |
| 76× | add-sqr-sqrt_binary64 |
| 76× | add-cube-cbrt_binary64 |
| 28× | associate-/r*_binary64 |
2 calls:
| 6.0ms | (/.f64 -100 (/.f64 i (neg.f64 (*.f64 n (expm1.f64 i))))) |
| 3.0ms | (/.f64 i (neg.f64 (*.f64 n (expm1.f64 i)))) |
| 1× | egg-herbie |
| 441× | distribute-rgt-in_binary64 |
| 430× | distribute-lft-in_binary64 |
| 259× | associate-/r/_binary64 |
| 204× | fma-def_binary64 |
| 162× | *-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 299 | 4283 |
| 1 | 659 | 3934 |
| 2 | 2260 | 3923 |
| 3 | 4932 | 3923 |
13 alts after pruning (12 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 319 | 0 | 319 |
| Fresh | 0 | 12 | 12 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 319 | 13 | 332 |
| Status | Error | Program |
| ✓ | 19.3b | (/.f64 -100 (/.f64 i (neg.f64 (*.f64 n (expm1.f64 i))))) |
| 33.3b | (*.f64 100 (/.f64 (-.f64 (expm1.f64 i) (*.f64 1/2 (/.f64 (*.f64 (*.f64 i i) (exp.f64 i)) n))) (/.f64 i n))) | |
| ▶ | 28.3b | (-.f64 (fma.f64 (*.f64 n (*.f64 i i)) 50/3 (fma.f64 n 100 (fma.f64 (*.f64 n i) 50 (*.f64 (/.f64 (*.f64 i i) n) 100/3)))) (*.f64 50 (+.f64 i (*.f64 i i)))) |
| 28.3b | (*.f64 100 (-.f64 (fma.f64 1/6 (*.f64 n (*.f64 i i)) (+.f64 n (fma.f64 1/2 (*.f64 n i) (*.f64 1/3 (/.f64 (*.f64 i i) n))))) (*.f64 1/2 (+.f64 i (*.f64 i i))))) | |
| 57.7b | (*.f64 100 (/.f64 (-.f64 (fma.f64 1/2 (*.f64 (*.f64 n n) (pow.f64 (log.f64 n) 2)) (fma.f64 n (log.f64 i) (fma.f64 1/2 (*.f64 (*.f64 n n) (pow.f64 (log.f64 i) 2)) (/.f64 (*.f64 n n) i)))) (fma.f64 n (log.f64 n) (*.f64 (*.f64 n n) (*.f64 (log.f64 i) (log.f64 n))))) (/.f64 i n))) | |
| 58.7b | (*.f64 100 (-.f64 (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 2)) (*.f64 i i)) (fma.f64 1/3 (/.f64 (pow.f64 n 5) (pow.f64 i 4)) (fma.f64 1/2 (/.f64 (pow.f64 n 5) (pow.f64 i 3)) (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 n 4) (pow.f64 (log.f64 i) 3)) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 3) (pow.f64 (log.f64 i) 2)) i) (+.f64 (/.f64 (*.f64 (*.f64 n n) (log.f64 i)) i) (+.f64 (/.f64 (pow.f64 n 3) (*.f64 i i)) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 i) 4)) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 4) (*.f64 (log.f64 i) (pow.f64 (log.f64 n) 2))) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 3) (pow.f64 (log.f64 n) 2)) i) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 4)) i) (+.f64 (/.f64 (*.f64 (pow.f64 n 4) (log.f64 i)) (*.f64 i i)) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 i) 2)) (*.f64 i i)) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (log.f64 n)) (pow.f64 i 3)) (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (log.f64 i) 2) (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 2))) i)))))))))))))))) (+.f64 (/.f64 (*.f64 (pow.f64 n 4) (log.f64 n)) (*.f64 i i)) (fma.f64 1/6 (/.f64 (*.f64 (log.f64 i) (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 3))) i) (fma.f64 1/2 (/.f64 (pow.f64 n 4) (pow.f64 i 3)) (+.f64 (/.f64 (*.f64 (log.f64 i) (*.f64 (pow.f64 n 3) (log.f64 n))) i) (+.f64 (/.f64 (*.f64 (log.f64 i) (*.f64 (pow.f64 n 5) (log.f64 n))) (*.f64 i i)) (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 (log.f64 i) 3) (*.f64 (pow.f64 n 5) (log.f64 n))) i) (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 n 4) (pow.f64 (log.f64 n) 3)) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 4) (*.f64 (log.f64 n) (pow.f64 (log.f64 i) 2))) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (log.f64 i)) (pow.f64 i 3)) (/.f64 (*.f64 (*.f64 n n) (log.f64 n)) i)))))))))))) | |
| 44.0b | (*.f64 100 (/.f64 (expm1.f64 (*.f64 (log.f64 (+.f64 1 (/.f64 i n))) n)) (/.f64 i n))) | |
| 47.0b | (*.f64 n (/.f64 (fma.f64 100 (pow.f64 (+.f64 1 (/.f64 i n)) n) -100) i)) | |
| 47.0b | (*.f64 100 (*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) i) n)) | |
| 35.5b | (cbrt.f64 (pow.f64 (*.f64 (/.f64 (*.f64 n (expm1.f64 i)) i) 100) 3)) | |
| 55.6b | (*.f64 100 (/.f64 (log.f64 (/.f64 i n)) (/.f64 i (*.f64 n n)))) | |
| 58.2b | (*.f64 100 (/.f64 (*.f64 (pow.f64 n 2) (-.f64 (log.f64 i) (log.f64 n))) i)) | |
| 50.0b | (*.f64 100 (/.f64 (expm1.f64 (*.f64 n (-.f64 (log.f64 (/.f64 -1 n)) (log.f64 (/.f64 -1 i))))) (/.f64 i n))) |
Compiled 6854 to 2869 computations (58.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 3.3b | (-.f64 (fma.f64 (*.f64 n (*.f64 i i)) 50/3 (fma.f64 n 100 (fma.f64 (*.f64 n i) 50 (*.f64 (/.f64 (*.f64 i i) n) 100/3)))) (*.f64 50 (+.f64 i (*.f64 i i)))) |
| ✓ | 4.0b | (fma.f64 (*.f64 n (*.f64 i i)) 50/3 (fma.f64 n 100 (fma.f64 (*.f64 n i) 50 (*.f64 (/.f64 (*.f64 i i) n) 100/3)))) |
| ✓ | 8.0b | (*.f64 n (*.f64 i i)) |
| ✓ | 8.1b | (/.f64 (*.f64 i i) n) |
4 calls:
| 22.0ms | (-.f64 (fma.f64 (*.f64 n (*.f64 i i)) 50/3 (fma.f64 n 100 (fma.f64 (*.f64 n i) 50 (*.f64 (/.f64 (*.f64 i i) n) 100/3)))) (*.f64 50 (+.f64 i (*.f64 i i)))) |
| 21.0ms | (fma.f64 (*.f64 n (*.f64 i i)) 50/3 (fma.f64 n 100 (fma.f64 (*.f64 n i) 50 (*.f64 (/.f64 (*.f64 i i) n) 100/3)))) |
| 10.0ms | (/.f64 (*.f64 i i) n) |
| 8.0ms | (*.f64 n (*.f64 i i)) |
| 1× | rewrite-expression-head |
| 14× | add-cbrt-cube_binary64 |
| 14× | add-exp-log_binary64 |
| 10× | add-sqr-sqrt_binary64 |
| 9× | *-un-lft-identity_binary64 |
| 9× | add-cube-cbrt_binary64 |
4 calls:
| 4.0ms | (*.f64 n (*.f64 i i)) |
| 3.0ms | (/.f64 (*.f64 i i) n) |
| 3.0ms | (-.f64 (fma.f64 (*.f64 n (*.f64 i i)) 50/3 (fma.f64 n 100 (fma.f64 (*.f64 n i) 50 (*.f64 (/.f64 (*.f64 i i) n) 100/3)))) (*.f64 50 (+.f64 i (*.f64 i i)))) |
| 0.0ms | (fma.f64 (*.f64 n (*.f64 i i)) 50/3 (fma.f64 n 100 (fma.f64 (*.f64 n i) 50 (*.f64 (/.f64 (*.f64 i i) n) 100/3)))) |
| 1× | egg-herbie |
| 702× | distribute-rgt-in_binary64 |
| 688× | distribute-lft-in_binary64 |
| 686× | fma-def_binary64 |
| 164× | times-frac_binary64 |
| 125× | cancel-sign-sub-inv_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 154 | 3789 |
| 1 | 388 | 3343 |
| 2 | 1356 | 2962 |
| 3 | 5165 | 2962 |
13 alts after pruning (11 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 147 | 0 | 147 |
| Fresh | 0 | 11 | 11 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 147 | 13 | 160 |
| Status | Error | Program |
| ✓ | 19.3b | (/.f64 -100 (/.f64 i (neg.f64 (*.f64 n (expm1.f64 i))))) |
| 33.3b | (*.f64 100 (/.f64 (-.f64 (expm1.f64 i) (*.f64 1/2 (/.f64 (*.f64 (*.f64 i i) (exp.f64 i)) n))) (/.f64 i n))) | |
| ✓ | 28.3b | (-.f64 (fma.f64 (*.f64 n (*.f64 i i)) 50/3 (fma.f64 n 100 (fma.f64 (*.f64 n i) 50 (*.f64 (/.f64 (*.f64 i i) n) 100/3)))) (*.f64 50 (+.f64 i (*.f64 i i)))) |
| 28.3b | (*.f64 100 (-.f64 (fma.f64 1/6 (*.f64 n (*.f64 i i)) (+.f64 n (fma.f64 1/2 (*.f64 n i) (*.f64 1/3 (/.f64 (*.f64 i i) n))))) (*.f64 1/2 (+.f64 i (*.f64 i i))))) | |
| 57.7b | (*.f64 100 (/.f64 (-.f64 (fma.f64 1/2 (*.f64 (*.f64 n n) (pow.f64 (log.f64 n) 2)) (fma.f64 n (log.f64 i) (fma.f64 1/2 (*.f64 (*.f64 n n) (pow.f64 (log.f64 i) 2)) (/.f64 (*.f64 n n) i)))) (fma.f64 n (log.f64 n) (*.f64 (*.f64 n n) (*.f64 (log.f64 i) (log.f64 n))))) (/.f64 i n))) | |
| 58.7b | (*.f64 100 (-.f64 (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 2)) (*.f64 i i)) (fma.f64 1/3 (/.f64 (pow.f64 n 5) (pow.f64 i 4)) (fma.f64 1/2 (/.f64 (pow.f64 n 5) (pow.f64 i 3)) (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 n 4) (pow.f64 (log.f64 i) 3)) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 3) (pow.f64 (log.f64 i) 2)) i) (+.f64 (/.f64 (*.f64 (*.f64 n n) (log.f64 i)) i) (+.f64 (/.f64 (pow.f64 n 3) (*.f64 i i)) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 i) 4)) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 4) (*.f64 (log.f64 i) (pow.f64 (log.f64 n) 2))) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 3) (pow.f64 (log.f64 n) 2)) i) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 4)) i) (+.f64 (/.f64 (*.f64 (pow.f64 n 4) (log.f64 i)) (*.f64 i i)) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 i) 2)) (*.f64 i i)) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (log.f64 n)) (pow.f64 i 3)) (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (log.f64 i) 2) (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 2))) i)))))))))))))))) (+.f64 (/.f64 (*.f64 (pow.f64 n 4) (log.f64 n)) (*.f64 i i)) (fma.f64 1/6 (/.f64 (*.f64 (log.f64 i) (*.f64 (pow.f64 n 5) (pow.f64 (log.f64 n) 3))) i) (fma.f64 1/2 (/.f64 (pow.f64 n 4) (pow.f64 i 3)) (+.f64 (/.f64 (*.f64 (log.f64 i) (*.f64 (pow.f64 n 3) (log.f64 n))) i) (+.f64 (/.f64 (*.f64 (log.f64 i) (*.f64 (pow.f64 n 5) (log.f64 n))) (*.f64 i i)) (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 (log.f64 i) 3) (*.f64 (pow.f64 n 5) (log.f64 n))) i) (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 n 4) (pow.f64 (log.f64 n) 3)) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 4) (*.f64 (log.f64 n) (pow.f64 (log.f64 i) 2))) i) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 n 5) (log.f64 i)) (pow.f64 i 3)) (/.f64 (*.f64 (*.f64 n n) (log.f64 n)) i)))))))))))) | |
| 44.0b | (*.f64 100 (/.f64 (expm1.f64 (*.f64 (log.f64 (+.f64 1 (/.f64 i n))) n)) (/.f64 i n))) | |
| 47.0b | (*.f64 n (/.f64 (fma.f64 100 (pow.f64 (+.f64 1 (/.f64 i n)) n) -100) i)) | |
| 47.0b | (*.f64 100 (*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 1 (/.f64 i n)) n) 1) i) n)) | |
| 35.5b | (cbrt.f64 (pow.f64 (*.f64 (/.f64 (*.f64 n (expm1.f64 i)) i) 100) 3)) | |
| 55.6b | (*.f64 100 (/.f64 (log.f64 (/.f64 i n)) (/.f64 i (*.f64 n n)))) | |
| 58.2b | (*.f64 100 (/.f64 (*.f64 (pow.f64 n 2) (-.f64 (log.f64 i) (log.f64 n))) i)) | |
| 50.0b | (*.f64 100 (/.f64 (expm1.f64 (*.f64 n (-.f64 (log.f64 (/.f64 -1 n)) (log.f64 (/.f64 -1 i))))) (/.f64 i n))) |
Compiled 5914 to 2616 computations (55.8% saved)
Total 10.3b remaining (98.7%)
Threshold costs 0b (0%)
Compiled 26186 to 17194 computations (34.3% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 9 | 3.9159840747297776e+262 | 2.2218715682348202e+268 | 5.028729354167085e+265 |
| 12 | 4.459481869274049e+85 | 1.566983006261577e+130 | 6.869232008206506e+129 |
| 9 | 40.07322357397244 | 3274961.0599709423 | 339.51119695591177 |
| 8 | -6458.698515588834 | -3.8845736936505464 | -3.9261148805468635 |
Compiled 3 to 2 computations (33.3% saved)
| 1× | egg-herbie |
| 11× | *-commutative_binary64 |
| 5× | +-commutative_binary64 |
| 4× | sub-neg_binary64 |
| 1× | neg-sub0_binary64 |
| 1× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 59 | 169 |
| 1 | 77 | 169 |
| 2 | 82 | 169 |
| 3 | 84 | 169 |
| 4 | 85 | 169 |
| 5 | 83 | 169 |
Compiled 796 to 481 computations (39.6% saved)
Loading profile data...