Time bar (total: 5.0s)
| 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 |
| 25% | 74.9% | 0.1% | 4 |
| 50% | 50% | 0.1% | 5 |
| 50% | 37.5% | 12.6% | 6 |
| 50% | 25% | 25.1% | 7 |
| 50% | 18.7% | 31.3% | 8 |
| 50% | 12.5% | 37.6% | 9 |
| 50% | 9.4% | 40.7% | 10 |
| 50% | 6.2% | 43.8% | 11 |
| 50% | 4.7% | 45.4% | 12 |
| 50% | 3.1% | 46.9% | 13 |
| 50% | 2.3% | 47.7% | 14 |
Compiled 9 to 7 computations (22.2% saved)
| 1× | intervals |
| 82.0ms | 66× | body | 1024 | valid |
| 10.0ms | 37× | body | 512 | valid |
| 7.0ms | 127× | body | 128 | valid |
| 6.0ms | 9× | body | 2048 | valid |
| 2.0ms | 17× | body | 256 | valid |
| 0.0ms | 5× | body | 128 | overflowed |
Compiled 19 to 15 computations (21.1% saved)
| 1× | egg-herbie |
| 1× | +-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 10 |
| 1 | 8 | 10 |
| 2 | 8 | 10 |
1 alts after pruning (1 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 1 | 1 |
| Status | Error | Program |
| ▶ | 31.7b | (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) |
Compiled 16 to 12 computations (25% saved)
Found 2 expressions with local error:
| 0.0b | (+.f64 (exp.f64 a) (exp.f64 b)) |
| 3.2b | (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) |
| 1× | rewrite-expression-head |
| 7× | *-un-lft-identity_binary64 |
| 4× | add-log-exp_binary64 |
| 4× | log-prod_binary64 |
| 3× | add-exp-log_binary64 |
| 3× | add-sqr-sqrt_binary64 |
2 calls:
| 3.0ms | (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) |
| 3.0ms | (+.f64 (exp.f64 a) (exp.f64 b)) |
Compiled 332 to 84 computations (74.7% saved)
2 calls:
| 30.0ms | (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) |
| 10.0ms | (+.f64 (exp.f64 a) (exp.f64 b)) |
Compiled 770 to 564 computations (26.8% saved)
| 1× | egg-herbie |
| 625× | associate-/r*_binary64 |
| 301× | associate-+l+_binary64 |
| 284× | associate-/r/_binary64 |
| 266× | associate-/l/_binary64 |
| 174× | associate-+r+_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 106 | 916 |
| 1 | 269 | 869 |
| 2 | 751 | 833 |
| 3 | 2553 | 822 |
| 4 | 5361 | 822 |
6 alts after pruning (6 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 24 | 6 | 30 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 25 | 6 | 31 |
| Status | Error | Program |
| 32.5b | (*.f64 (*.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))) (cbrt.f64 (log.f64 (+.f64 (exp.f64 b) (exp.f64 a))))) (cbrt.f64 (log.f64 (+.f64 (exp.f64 b) (exp.f64 a))))) | |
| 31.7b | (cbrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 b) (exp.f64 a))) 3)) | |
| 32.1b | (+.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a))))) | |
| 32.2b | (log.f64 (+.f64 1 (+.f64 b (+.f64 (exp.f64 a) (*.f64 b (*.f64 b (+.f64 1/2 (*.f64 b 1/6)))))))) | |
| ▶ | 0.3b | (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a))))))) |
| 31.7b | (log.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)))))) |
Compiled 714 to 359 computations (49.7% saved)
Found 4 expressions with local error:
| 0.0b | (/.f64 b (+.f64 1 (exp.f64 a))) |
| 0.0b | (/.f64 b (+.f64 1 (exp.f64 a))) |
| 0.1b | (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a)))) |
| 0.1b | (log.f64 (+.f64 1 (exp.f64 a))) |
| 1× | rewrite-expression-head |
| 43× | *-un-lft-identity_binary64 |
| 24× | times-frac_binary64 |
| 23× | add-sqr-sqrt_binary64 |
| 23× | add-cube-cbrt_binary64 |
| 10× | distribute-lft-out_binary64 |
4 calls:
| 7.0ms | (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a)))) |
| 4.0ms | (/.f64 b (+.f64 1 (exp.f64 a))) |
| 4.0ms | (/.f64 b (+.f64 1 (exp.f64 a))) |
| 3.0ms | (log.f64 (+.f64 1 (exp.f64 a))) |
Compiled 3093 to 1980 computations (36% saved)
4 calls:
| 24.0ms | (/.f64 b (+.f64 1 (exp.f64 a))) |
| 19.0ms | (/.f64 b (+.f64 1 (exp.f64 a))) |
| 13.0ms | (log.f64 (+.f64 1 (exp.f64 a))) |
| 10.0ms | (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a)))) |
Compiled 1725 to 1197 computations (30.6% saved)
| 1× | egg-herbie |
| 451× | times-frac_binary64 |
| 405× | div-sub_binary64 |
| 396× | associate-/l*_binary64 |
| 279× | distribute-rgt-in_binary64 |
| 211× | distribute-lft-in_binary64 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 127 | 1777 |
| 1 | 291 | 1639 |
| 2 | 576 | 1629 |
| 3 | 1495 | 1629 |
| 4 | 4130 | 1629 |
| 5 | 4948 | 1625 |
| 6 | 4858 | 1625 |
6 alts after pruning (5 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 51 | 1 | 52 |
| Fresh | 1 | 4 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 52 | 6 | 58 |
| Status | Error | Program |
| 32.5b | (*.f64 (*.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))) (cbrt.f64 (log.f64 (+.f64 (exp.f64 b) (exp.f64 a))))) (cbrt.f64 (log.f64 (+.f64 (exp.f64 b) (exp.f64 a))))) | |
| ▶ | 27.9b | (+.f64 (-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (log.f64 (-.f64 1 (exp.f64 a)))) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a))))))) |
| 32.1b | (+.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a))))) | |
| 32.2b | (log.f64 (+.f64 1 (+.f64 b (+.f64 (exp.f64 a) (*.f64 b (*.f64 b (+.f64 1/2 (*.f64 b 1/6)))))))) | |
| ✓ | 0.3b | (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a))))))) |
| 31.7b | (log.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)))))) |
Compiled 1606 to 1036 computations (35.5% saved)
Found 4 expressions with local error:
| 0.1b | (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) |
| 0.2b | (-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (log.f64 (-.f64 1 (exp.f64 a)))) |
| 3.0b | (-.f64 1 (exp.f64 a)) |
| 3.0b | (-.f64 1 (pow.f64 (exp.f64 a) 2)) |
| 1× | rewrite-expression-head |
| 43× | add-sqr-sqrt_binary64 |
| 39× | *-un-lft-identity_binary64 |
| 30× | log-prod_binary64 |
| 29× | difference-of-squares_binary64 |
| 15× | cancel-sign-sub-inv_binary64 |
4 calls:
| 12.0ms | (-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (log.f64 (-.f64 1 (exp.f64 a)))) |
| 5.0ms | (-.f64 1 (pow.f64 (exp.f64 a) 2)) |
| 5.0ms | (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) |
| 3.0ms | (-.f64 1 (exp.f64 a)) |
Compiled 4693 to 3161 computations (32.6% saved)
4 calls:
| 18.0ms | (-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (log.f64 (-.f64 1 (exp.f64 a)))) |
| 14.0ms | (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) |
| 10.0ms | (-.f64 1 (pow.f64 (exp.f64 a) 2)) |
| 9.0ms | (-.f64 1 (exp.f64 a)) |
Compiled 1628 to 1155 computations (29.1% saved)
| 1× | egg-herbie |
| 475× | associate-*l*_binary64 |
| 426× | associate-*r*_binary64 |
| 413× | exp-prod_binary64 |
| 221× | sub-neg_binary64 |
| 202× | distribute-rgt-neg-out_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 201 | 2371 |
| 1 | 427 | 1927 |
| 2 | 983 | 1912 |
| 3 | 3260 | 1902 |
| 4 | 4375 | 1902 |
| 5 | 4905 | 1902 |
| 6 | 4997 | 1902 |
| 7 | 4995 | 1902 |
| 8 | 4863 | 1902 |
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 74 | 1 | 75 |
| Fresh | 0 | 4 | 4 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 74 | 7 | 81 |
| Status | Error | Program |
| 32.5b | (*.f64 (*.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))) (cbrt.f64 (log.f64 (+.f64 (exp.f64 b) (exp.f64 a))))) (cbrt.f64 (log.f64 (+.f64 (exp.f64 b) (exp.f64 a))))) | |
| ✓ | 27.9b | (+.f64 (-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (log.f64 (-.f64 1 (exp.f64 a)))) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a))))))) |
| 32.1b | (+.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a))))) | |
| 32.2b | (log.f64 (+.f64 1 (+.f64 b (+.f64 (exp.f64 a) (*.f64 b (*.f64 b (+.f64 1/2 (*.f64 b 1/6)))))))) | |
| ✓ | 0.3b | (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a))))))) |
| 31.7b | (log.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)))))) | |
| ▶ | 27.9b | (+.f64 (+.f64 (-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 3)))) (log.f64 (+.f64 (*.f64 1 1) (+.f64 (*.f64 (exp.f64 a) (exp.f64 a)) (*.f64 1 (exp.f64 a)))))) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a))))))) |
Compiled 2450 to 1620 computations (33.9% saved)
Found 4 expressions with local error:
| 0.2b | (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 3))) |
| 0.3b | (-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 3)))) |
| 3.0b | (-.f64 1 (pow.f64 (exp.f64 a) 3)) |
| 3.0b | (-.f64 1 (pow.f64 (exp.f64 a) 2)) |
| 1× | rewrite-expression-head |
| 61× | add-sqr-sqrt_binary64 |
| 47× | *-un-lft-identity_binary64 |
| 41× | difference-of-squares_binary64 |
| 36× | log-prod_binary64 |
| 24× | cancel-sign-sub-inv_binary64 |
4 calls:
| 13.0ms | (-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 3)))) |
| 8.0ms | (-.f64 1 (pow.f64 (exp.f64 a) 3)) |
| 7.0ms | (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 3))) |
| 5.0ms | (-.f64 1 (pow.f64 (exp.f64 a) 2)) |
Compiled 7334 to 4850 computations (33.9% saved)
4 calls:
| 24.0ms | (-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 3)))) |
| 16.0ms | (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 3))) |
| 13.0ms | (-.f64 1 (pow.f64 (exp.f64 a) 3)) |
| 12.0ms | (-.f64 1 (pow.f64 (exp.f64 a) 2)) |
Compiled 2322 to 1605 computations (30.9% saved)
| 1× | egg-herbie |
| 563× | cancel-sign-sub-inv_binary64 |
| 539× | exp-prod_binary64 |
| 281× | unswap-sqr_binary64 |
| 251× | sub-neg_binary64 |
| 242× | *-commutative_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 231 | 2990 |
| 1 | 493 | 2741 |
| 2 | 1338 | 2650 |
| 3 | 2825 | 2634 |
| 4 | 4327 | 2625 |
| 5 | 4780 | 2625 |
| 6 | 4991 | 2625 |
| 7 | 4991 | 2625 |
| 8 | 4853 | 2625 |
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 97 | 1 | 98 |
| Fresh | 0 | 4 | 4 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 2 | 2 |
| Total | 98 | 7 | 105 |
| Status | Error | Program |
| 32.5b | (*.f64 (*.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))) (cbrt.f64 (log.f64 (+.f64 (exp.f64 b) (exp.f64 a))))) (cbrt.f64 (log.f64 (+.f64 (exp.f64 b) (exp.f64 a))))) | |
| 27.9b | (+.f64 (-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (log.f64 (-.f64 1 (exp.f64 a)))) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a))))))) | |
| 32.1b | (+.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a))))) | |
| 28.3b | (+.f64 (+.f64 (-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (+.f64 (log.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3/2))) (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 3/2))))) (log.f64 (+.f64 (*.f64 1 1) (+.f64 (*.f64 (exp.f64 a) (exp.f64 a)) (*.f64 1 (exp.f64 a)))))) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a))))))) | |
| 32.2b | (log.f64 (+.f64 1 (+.f64 b (+.f64 (exp.f64 a) (*.f64 b (*.f64 b (+.f64 1/2 (*.f64 b 1/6)))))))) | |
| 0.3b | (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a))))))) | |
| 31.7b | (log.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)))))) |
Compiled 3552 to 2327 computations (34.5% saved)
Total 0.4b remaining (36.1%)
Threshold costs 0.4b (36.1%)
Compiled 11416 to 7646 computations (33% saved)
| 1× | egg-herbie |
| 4× | +-commutative_binary64 |
| 2× | *-commutative_binary64 |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 47 |
| 1 | 24 | 47 |
| 2 | 23 | 47 |
Compiled 96 to 66 computations (31.3% saved)
| 1× | intervals |
| 997.0ms | 1981× | body | 1024 | valid |
| 262.0ms | 993× | body | 512 | valid |
| 236.0ms | 4390× | body | 128 | valid |
| 143.0ms | 195× | body | 2048 | valid |
| 63.0ms | 441× | body | 256 | valid |
| 7.0ms | 148× | body | 128 | overflowed |
Compiled 268 to 174 computations (35.1% saved)
Loading profile data...