Time bar (total: 4.6s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 0% | 100% | 0 |
| 0% | 0% | 100% | 1 |
| 0% | 0% | 100% | 2 |
| 0% | 0% | 100% | 3 |
| 0% | 0% | 100% | 4 |
| 0% | 0% | 100% | 5 |
| 0% | 0% | 100% | 6 |
| 0% | 0% | 100% | 7 |
| 0% | 0% | 100% | 8 |
| 0% | 0% | 100% | 9 |
| 0% | 0% | 100% | 10 |
| 0% | 0% | 100% | 11 |
| 0% | 0% | 100% | 12 |
| 0% | 0% | 100% | 13 |
| 0% | 0% | 100% | 14 |
Compiled 37 to 28 computations (24.3% saved)
| 1.7s | 8256× | body | 128 | valid |
| 1.0ms | 4× | body | 128 | invalid |
Compiled 88 to 67 computations (23.9% saved)
| 1× | egg-herbie |
| 11× | sub-neg_binary32 |
| 7× | +-commutative_binary32 |
| 6× | fma-def_binary32 |
| 4× | *-commutative_binary32 |
| 4× | div-sub_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 17 |
| 1 | 17 | 17 |
| 2 | 21 | 17 |
| 3 | 27 | 17 |
| 4 | 34 | 17 |
| 5 | 44 | 17 |
| 6 | 54 | 17 |
| 7 | 69 | 17 |
| 8 | 76 | 17 |
| 9 | 79 | 17 |
| 10 | 80 | 17 |
| 11 | 60 | 17 |
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.2b | (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2))) |
Compiled 42 to 33 computations (21.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) |
| ✓ | 0.1b | (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2))) |
| ✓ | 0.2b | (/.f32 u1 (-.f32 1 u1)) |
| ✓ | 0.4b | (*.f32 314159265359/50000000000 u2) |
4 calls:
| 24.0ms | (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2))) |
| 9.0ms | (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) |
| 2.0ms | (/.f32 u1 (-.f32 1 u1)) |
| 2.0ms | (*.f32 314159265359/50000000000 u2) |
| 2× | batch-egg-rewrite |
| 532× | log-prod_binary32 |
| 271× | prod-diff_binary32 |
| 196× | expm1-udef_binary32 |
| 195× | log1p-udef_binary32 |
| 173× | log-pow_binary32 |
4 calls:
| 66.0ms | (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) |
| 66.0ms | (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2))) |
| 66.0ms | (/.f32 u1 (-.f32 1 u1)) |
| 66.0ms | (*.f32 314159265359/50000000000 u2) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 37 |
| 1 | 227 | 37 |
| 2 | 2724 | 37 |
| 3 | 5084 | 37 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 598× | fma-neg_binary32 |
| 404× | associate-/r*_binary32 |
| 373× | fma-def_binary32 |
| 270× | associate-+l+_binary32 |
| 225× | associate-+r+_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 114 | 1248 |
| 1 | 343 | 1193 |
| 2 | 1136 | 1063 |
| 3 | 4658 | 1062 |
| 4 | 5154 | 1062 |
10 alts after pruning (10 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 143 | 10 | 153 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 144 | 10 | 154 |
| Status | Error | Program |
| 0.5b | (*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (/.f32 u1 (-.f32 1 u1))) 3)) (cos.f32 (*.f32 314159265359/50000000000 u2))) | |
| 0.4b | (*.f32 (/.f32 1 (sqrt.f32 (/.f32 (-.f32 1 u1) u1))) (cos.f32 (*.f32 314159265359/50000000000 u2))) | |
| 1.3b | (pow.f32 (sqrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))) 2) | |
| 0.8b | (pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))) 3) | |
| 0.3b | (*.f32 (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 u1 1))) (cos.f32 (*.f32 314159265359/50000000000 u2))) | |
| 14.6b | (*.f32 (sqrt.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 u1 (-.f32 1 u1))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 u1 (-.f32 1 u1))))))) (cos.f32 (*.f32 314159265359/50000000000 u2))) | |
| 0.3b | (/.f32 (*.f32 (sqrt.f32 u1) (cos.f32 (*.f32 314159265359/50000000000 u2))) (sqrt.f32 (-.f32 1 u1))) | |
| 0.4b | (*.f32 (sqrt.f32 (*.f32 (/.f32 1 (sqrt.f32 (-.f32 1 u1))) (/.f32 u1 (sqrt.f32 (-.f32 1 u1))))) (cos.f32 (*.f32 314159265359/50000000000 u2))) | |
| 1.4b | (*.f32 (pow.f32 (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3/2) 1/3) (cos.f32 (*.f32 314159265359/50000000000 u2))) | |
| ▶ | 0.3b | (cbrt.f32 (*.f32 (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3/2) (pow.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) 3))) |
Compiled 3313 to 2593 computations (21.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.2b | (/.f32 u1 (-.f32 1 u1)) | |
| ✓ | 0.3b | (pow.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) 3) |
| ✓ | 0.3b | (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3/2) |
| 0.4b | (*.f32 314159265359/50000000000 u2) |
2 calls:
| 6.0ms | (pow.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) 3) |
| 4.0ms | (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3/2) |
| 2× | batch-egg-rewrite |
| 559× | log-prod_binary32 |
| 271× | prod-diff_binary32 |
| 222× | expm1-udef_binary32 |
| 221× | log1p-udef_binary32 |
| 192× | log-pow_binary32 |
2 calls:
| 56.0ms | (pow.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) 3) |
| 56.0ms | (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3/2) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 19 |
| 1 | 276 | 19 |
| 2 | 3016 | 19 |
| 3 | 5424 | 19 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 1004× | fma-neg_binary32 |
| 777× | cancel-sign-sub-inv_binary32 |
| 538× | times-frac_binary32 |
| 434× | fma-def_binary32 |
| 385× | unswap-sqr_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 58 | 302 |
| 1 | 147 | 292 |
| 2 | 334 | 240 |
| 3 | 823 | 228 |
| 4 | 2319 | 228 |
| 5 | 5436 | 228 |
8 alts after pruning (8 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 138 | 2 | 140 |
| Fresh | 3 | 6 | 9 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 142 | 8 | 150 |
| Status | Error | Program |
| 0.5b | (*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (/.f32 u1 (-.f32 1 u1))) 3)) (cos.f32 (*.f32 314159265359/50000000000 u2))) | |
| 1.3b | (pow.f32 (sqrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))) 2) | |
| 0.8b | (pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))) 3) | |
| 0.3b | (*.f32 (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 u1 1))) (cos.f32 (*.f32 314159265359/50000000000 u2))) | |
| 0.3b | (/.f32 (*.f32 (sqrt.f32 u1) (cos.f32 (*.f32 314159265359/50000000000 u2))) (sqrt.f32 (-.f32 1 u1))) | |
| 0.4b | (cbrt.f32 (*.f32 (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3/2) (log.f32 (exp.f32 (pow.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) 3))))) | |
| ▶ | 0.3b | (cbrt.f32 (*.f32 (sqrt.f32 (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3)) (pow.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) 3))) |
| 1.4b | (*.f32 (pow.f32 (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3/2) 1/3) (cos.f32 (*.f32 314159265359/50000000000 u2))) |
Compiled 3191 to 2591 computations (18.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.2b | (/.f32 u1 (-.f32 1 u1)) | |
| 0.3b | (pow.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) 3) | |
| 0.4b | (*.f32 314159265359/50000000000 u2) | |
| ✓ | 0.5b | (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3) |
1 calls:
| 3.0ms | (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3) |
| 2× | batch-egg-rewrite |
| 730× | log1p-expm1-u_binary32 |
| 730× | expm1-log1p-u_binary32 |
| 150× | prod-diff_binary32 |
| 125× | fma-udef_binary32 |
| 123× | log1p-udef_binary32 |
1 calls:
| 94.0ms | (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 10 |
| 1 | 154 | 10 |
| 2 | 1833 | 10 |
| 3 | 5000 | 10 |
| 4 | 4995 | 10 |
| 5 | 4904 | 10 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 504× | fma-def_binary32 |
| 493× | unswap-sqr_binary32 |
| 419× | fma-neg_binary32 |
| 329× | associate-*l*_binary32 |
| 303× | distribute-rgt-out_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 35 | 174 |
| 1 | 103 | 160 |
| 2 | 303 | 156 |
| 3 | 820 | 156 |
| 4 | 2159 | 156 |
| 5 | 4764 | 156 |
| 6 | 4921 | 156 |
| 7 | 4983 | 156 |
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 154 | 0 | 154 |
| Fresh | 0 | 7 | 7 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 154 | 8 | 162 |
| Status | Error | Program |
| 0.5b | (*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (/.f32 u1 (-.f32 1 u1))) 3)) (cos.f32 (*.f32 314159265359/50000000000 u2))) | |
| 1.3b | (pow.f32 (sqrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))) 2) | |
| 0.8b | (pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))) 3) | |
| ▶ | 0.3b | (*.f32 (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 u1 1))) (cos.f32 (*.f32 314159265359/50000000000 u2))) |
| 0.3b | (/.f32 (*.f32 (sqrt.f32 u1) (cos.f32 (*.f32 314159265359/50000000000 u2))) (sqrt.f32 (-.f32 1 u1))) | |
| 0.4b | (cbrt.f32 (*.f32 (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3/2) (log.f32 (exp.f32 (pow.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) 3))))) | |
| ✓ | 0.3b | (cbrt.f32 (*.f32 (sqrt.f32 (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3)) (pow.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) 3))) |
| 1.4b | (*.f32 (pow.f32 (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3/2) 1/3) (cos.f32 (*.f32 314159265359/50000000000 u2))) |
Compiled 3614 to 2941 computations (18.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 u1 1))) |
| ✓ | 0.1b | (*.f32 (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 u1 1))) (cos.f32 (*.f32 314159265359/50000000000 u2))) |
| ✓ | 0.3b | (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 u1 1)) |
| 0.4b | (*.f32 314159265359/50000000000 u2) |
3 calls:
| 49.0ms | (*.f32 (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 u1 1))) (cos.f32 (*.f32 314159265359/50000000000 u2))) |
| 9.0ms | (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 u1 1))) |
| 2.0ms | (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 u1 1)) |
| 2× | batch-egg-rewrite |
| 798× | prod-diff_binary32 |
| 151× | add-sqr-sqrt_binary32 |
| 144× | log1p-expm1-u_binary32 |
| 144× | expm1-log1p-u_binary32 |
| 142× | add-log-exp_binary32 |
3 calls:
| 68.0ms | (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 u1 1))) |
| 68.0ms | (*.f32 (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 u1 1))) (cos.f32 (*.f32 314159265359/50000000000 u2))) |
| 68.0ms | (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 u1 1)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 60 |
| 1 | 306 | 33 |
| 2 | 3791 | 33 |
| 3 | 5272 | 33 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 636× | fma-neg_binary32 |
| 406× | associate-/r*_binary32 |
| 386× | fma-def_binary32 |
| 268× | associate-+l+_binary32 |
| 225× | associate-+r+_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 113 | 1414 |
| 1 | 346 | 1291 |
| 2 | 1156 | 1154 |
| 3 | 4717 | 1152 |
| 4 | 5241 | 1152 |
8 alts after pruning (6 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 144 | 0 | 144 |
| Fresh | 0 | 6 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 144 | 8 | 152 |
| Status | Error | Program |
| 0.5b | (*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (/.f32 u1 (-.f32 1 u1))) 3)) (cos.f32 (*.f32 314159265359/50000000000 u2))) | |
| 1.3b | (pow.f32 (sqrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))) 2) | |
| 0.8b | (pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 1 u1))) (cos.f32 (*.f32 314159265359/50000000000 u2)))) 3) | |
| ✓ | 0.3b | (*.f32 (sqrt.f32 (*.f32 (/.f32 u1 (-.f32 1 (*.f32 u1 u1))) (+.f32 u1 1))) (cos.f32 (*.f32 314159265359/50000000000 u2))) |
| 0.3b | (/.f32 (*.f32 (sqrt.f32 u1) (cos.f32 (*.f32 314159265359/50000000000 u2))) (sqrt.f32 (-.f32 1 u1))) | |
| 0.4b | (cbrt.f32 (*.f32 (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3/2) (log.f32 (exp.f32 (pow.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) 3))))) | |
| ✓ | 0.3b | (cbrt.f32 (*.f32 (sqrt.f32 (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3)) (pow.f32 (cos.f32 (*.f32 314159265359/50000000000 u2)) 3))) |
| 1.4b | (*.f32 (pow.f32 (pow.f32 (/.f32 u1 (-.f32 1 u1)) 3/2) 1/3) (cos.f32 (*.f32 314159265359/50000000000 u2))) |
Compiled 3197 to 2313 computations (27.7% saved)
Total 0.2b remaining (70%)
Threshold costs 0.2b (70%)
Compiled 18247 to 14656 computations (19.7% saved)
| 1× | egg-herbie |
| 3× | *-commutative_binary32 |
| 2× | +-commutative_binary32 |
| 2× | sub-neg_binary32 |
| 1× | neg-sub0_binary32 |
| 1× | neg-mul-1_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 18 |
| 1 | 18 | 18 |
| 2 | 22 | 18 |
| 3 | 24 | 18 |
| 4 | 25 | 18 |
| 5 | 24 | 18 |
Compiled 172 to 140 computations (18.6% saved)
Loading profile data...