Time bar (total: 4.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 |
| 25% | 74.9% | 0.1% | 3 |
| 62.4% | 37.5% | 0.1% | 4 |
| 68.7% | 31.2% | 0.1% | 5 |
| 68.7% | 18.7% | 12.6% | 6 |
| 68.7% | 17.2% | 14.1% | 7 |
| 68.7% | 10.1% | 21.2% | 8 |
| 68.7% | 9% | 22.3% | 9 |
| 68.7% | 5.3% | 26% | 10 |
| 68.7% | 4.6% | 26.7% | 11 |
| 68.7% | 2.7% | 28.6% | 12 |
| 68.7% | 2.3% | 29% | 13 |
| 68.7% | 1.4% | 30% | 14 |
Compiled 11 to 7 computations (36.4% saved)
| 780.0ms | 8256× | body | 128 | valid |
| 4.0ms | 25× | body | 128 | invalid |
Compiled 32 to 20 computations (37.5% saved)
| 1× | egg-herbie |
| 1× | +-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 8 | 13 |
| 2 | 8 | 13 |
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 |
| ▶ | 0.8b | (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))) |
Compiled 30 to 18 computations (40% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (+.f64 (exp.f64 a) (exp.f64 b)) |
| ✓ | 0.8b | (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))) |
2 calls:
| 30.0ms | (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))) |
| 4.0ms | (+.f64 (exp.f64 a) (exp.f64 b)) |
| 2× | egg-rewrite |
| 45× | egg |
| 40× | egg |
2 calls:
| 107.0ms | (+.f64 (exp.f64 a) (exp.f64 b)) |
| 56.0ms | (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 147 | 13 |
| 2 | 1998 | 13 |
| 3 | 5794 | 13 |
| 0 | 6 | 8 |
| 1 | 121 | 8 |
| 2 | 1530 | 8 |
| 3 | 4841 | 8 |
| 4 | 4780 | 8 |
| 5 | 4971 | 8 |
| 1× | egg-herbie |
| 475× | times-frac_binary64 |
| 464× | associate-+l+_binary64 |
| 426× | fma-def_binary64 |
| 303× | associate-/l*_binary64 |
| 240× | associate--l+_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 103 | 1020 |
| 1 | 302 | 981 |
| 2 | 1070 | 965 |
| 3 | 5042 | 965 |
4 alts after pruning (4 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 108 | 4 | 112 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 109 | 4 | 113 |
| Status | Error | Program |
| ▶ | 0.8b | (/.f64 (exp.f64 a) (fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) (exp.f64 a))) |
| 0.8b | (expm1.f64 (log1p.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))))) | |
| 12.4b | (/.f64 1 (+.f64 1 (exp.f64 b))) | |
| 24.9b | (+.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (-.f64 (*.f64 (exp.f64 a) (+.f64 (/.f64 (*.f64 b b) (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)))) (fma.f64 1/6 (/.f64 (*.f64 (exp.f64 a) (pow.f64 b 3)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) b) (*.f64 (exp.f64 a) (+.f64 (/.f64 b (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 4)))))))) |
Compiled 2353 to 1070 computations (54.5% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (sqrt.f64 (exp.f64 b)) |
| ✓ | 0.0b | (fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) (exp.f64 a)) |
| ✓ | 0.8b | (/.f64 (exp.f64 a) (fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) (exp.f64 a))) |
3 calls:
| 36.0ms | (/.f64 (exp.f64 a) (fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) (exp.f64 a))) |
| 11.0ms | (fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) (exp.f64 a)) |
| 3.0ms | (sqrt.f64 (exp.f64 b)) |
| 3× | egg-rewrite |
| 53× | egg |
| 45× | egg |
| 40× | egg |
3 calls:
| 81.0ms | (sqrt.f64 (exp.f64 b)) |
| 48.0ms | (/.f64 (exp.f64 a) (fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) (exp.f64 a))) |
| 46.0ms | (fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) (exp.f64 a)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 13 |
| 1 | 155 | 13 |
| 2 | 1868 | 13 |
| 3 | 5057 | 13 |
| 0 | 7 | 8 |
| 1 | 129 | 8 |
| 2 | 1411 | 8 |
| 3 | 5279 | 8 |
| 0 | 4 | 5 |
| 1 | 74 | 5 |
| 2 | 798 | 5 |
| 3 | 4858 | 5 |
| 4 | 5574 | 5 |
| 1× | egg-herbie |
| 498× | fma-def_binary64 |
| 490× | associate-+l+_binary64 |
| 475× | times-frac_binary64 |
| 303× | associate-/l*_binary64 |
| 240× | associate--l+_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 114 | 1063 |
| 1 | 328 | 1022 |
| 2 | 1142 | 1003 |
| 3 | 5252 | 1003 |
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 217 | 0 | 217 |
| Fresh | 0 | 3 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 217 | 4 | 221 |
| Status | Error | Program |
| ✓ | 0.8b | (/.f64 (exp.f64 a) (fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) (exp.f64 a))) |
| ▶ | 0.8b | (expm1.f64 (log1p.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))))) |
| 12.4b | (/.f64 1 (+.f64 1 (exp.f64 b))) | |
| 24.9b | (+.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (-.f64 (*.f64 (exp.f64 a) (+.f64 (/.f64 (*.f64 b b) (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)))) (fma.f64 1/6 (/.f64 (*.f64 (exp.f64 a) (pow.f64 b 3)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) b) (*.f64 (exp.f64 a) (+.f64 (/.f64 b (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 4)))))))) |
Compiled 4036 to 1718 computations (57.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (log1p.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))) |
| 0.0b | (+.f64 (exp.f64 a) (exp.f64 b)) | |
| ✓ | 0.0b | (expm1.f64 (log1p.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))))) |
| 0.8b | (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))) |
2 calls:
| 650.0ms | (log1p.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))) |
| 30.0ms | (expm1.f64 (log1p.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))))) |
| 2× | egg-rewrite |
| 49× | egg |
| 16× | egg |
2 calls:
| 56.0ms | (expm1.f64 (log1p.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))))) |
| 51.0ms | (log1p.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 13 |
| 1 | 166 | 13 |
| 2 | 2188 | 13 |
| 3 | 5058 | 13 |
| 0 | 8 | 15 |
| 1 | 165 | 15 |
| 2 | 2175 | 15 |
| 3 | 5029 | 15 |
| 1× | egg-herbie |
| 357× | times-frac_binary64 |
| 337× | cancel-sign-sub-inv_binary64 |
| 229× | associate-/r*_binary64 |
| 223× | unswap-sqr_binary64 |
| 211× | associate-/l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 229 | 2778 |
| 1 | 754 | 2674 |
| 2 | 3642 | 2499 |
| 3 | 4991 | 2499 |
4 alts after pruning (2 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 207 | 1 | 208 |
| Fresh | 1 | 1 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 208 | 4 | 212 |
| Status | Error | Program |
| ✓ | 0.8b | (/.f64 (exp.f64 a) (fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) (exp.f64 a))) |
| ✓ | 0.8b | (expm1.f64 (log1p.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))))) |
| ▶ | 12.4b | (expm1.f64 (log1p.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) |
| 24.9b | (+.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (-.f64 (*.f64 (exp.f64 a) (+.f64 (/.f64 (*.f64 b b) (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)))) (fma.f64 1/6 (/.f64 (*.f64 (exp.f64 a) (pow.f64 b 3)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) b) (*.f64 (exp.f64 a) (+.f64 (/.f64 b (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 4)))))))) |
Compiled 6481 to 3463 computations (46.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (log1p.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))) |
| ✓ | 0.0b | (expm1.f64 (log1p.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) |
| ✓ | 0.0b | (+.f64 1 (exp.f64 b)) |
| ✓ | 0.0b | (/.f64 1 (+.f64 1 (exp.f64 b))) |
4 calls:
| 246.0ms | (log1p.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))) |
| 7.0ms | (/.f64 1 (+.f64 1 (exp.f64 b))) |
| 7.0ms | (expm1.f64 (log1p.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) |
| 3.0ms | (+.f64 1 (exp.f64 b)) |
| 4× | egg-rewrite |
| 51× | egg |
| 36× | egg |
| 32× | egg |
| 18× | egg |
4 calls:
| 84.0ms | (+.f64 1 (exp.f64 b)) |
| 80.0ms | (expm1.f64 (log1p.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) |
| 79.0ms | (/.f64 1 (+.f64 1 (exp.f64 b))) |
| 77.0ms | (log1p.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 9 |
| 1 | 124 | 9 |
| 2 | 1437 | 9 |
| 3 | 4912 | 9 |
| 4 | 5071 | 9 |
| 0 | 5 | 6 |
| 1 | 98 | 6 |
| 2 | 1121 | 6 |
| 3 | 4710 | 6 |
| 4 | 5154 | 6 |
| 0 | 8 | 9 |
| 1 | 143 | 9 |
| 2 | 1627 | 9 |
| 3 | 4878 | 9 |
| 4 | 5024 | 9 |
| 0 | 7 | 11 |
| 1 | 142 | 11 |
| 2 | 1614 | 11 |
| 3 | 4823 | 11 |
| 4 | 4969 | 11 |
| 1× | egg-herbie |
| 700× | cancel-sign-sub-inv_binary64 |
| 532× | fma-def_binary64 |
| 479× | unsub-neg_binary64 |
| 448× | unswap-sqr_binary64 |
| 374× | *-commutative_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 47 | 345 |
| 1 | 119 | 333 |
| 2 | 300 | 319 |
| 3 | 786 | 304 |
| 4 | 2102 | 304 |
| 5 | 3142 | 304 |
| 6 | 4385 | 304 |
| 7 | 5179 | 304 |
3 alts after pruning (1 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 132 | 1 | 133 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 2 | 2 |
| Total | 134 | 3 | 137 |
| Status | Error | Program |
| ✓ | 0.8b | (/.f64 (exp.f64 a) (fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) (exp.f64 a))) |
| ✓ | 0.8b | (expm1.f64 (log1p.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))))) |
| 12.7b | (/.f64 (fma.f64 (+.f64 1 (/.f64 1 (+.f64 1 (exp.f64 b)))) (+.f64 1 (/.f64 1 (+.f64 1 (exp.f64 b)))) -1) (+.f64 (+.f64 1 (/.f64 1 (+.f64 1 (exp.f64 b)))) 1)) |
Compiled 1862 to 1447 computations (22.3% saved)
Total 0.3b remaining (51.7%)
Threshold costs 0.3b (51.7%)
Compiled 13155 to 9071 computations (31% saved)
| 1× | egg-herbie |
| 3× | +-commutative_binary64 |
| 2× | *-commutative_binary64 |
| 2× | sub-neg_binary64 |
| 1× | *-rgt-identity_binary64 |
| 1× | neg-sub0_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 15 |
| 1 | 17 | 15 |
| 2 | 21 | 15 |
| 3 | 23 | 15 |
| 4 | 24 | 15 |
| 5 | 23 | 15 |
Compiled 79 to 57 computations (27.8% saved)
Loading profile data...