Time bar (total: 10.0s)
| 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 57 to 41 computations (28.1% saved)
| 2.2s | 8256× | body | 128 | valid |
Compiled 114 to 82 computations (28.1% saved)
| 2× | egg-herbie |
| 682× | div-sub_binary32 |
| 604× | sub-neg_binary32 |
| 450× | fma-neg_binary32 |
| 303× | fma-def_binary32 |
| 194× | cancel-sign-sub-inv_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 63 | 286 |
| 1 | 145 | 275 |
| 2 | 235 | 275 |
| 3 | 337 | 275 |
| 4 | 408 | 275 |
| 5 | 546 | 275 |
| 6 | 678 | 275 |
| 7 | 1063 | 275 |
| 8 | 1640 | 275 |
| 9 | 2340 | 275 |
| 10 | 3445 | 275 |
| 0 | 5 | 5 |
| 1× | saturated |
| 1× | node limit |
Compiled 22 to 15 computations (31.8% saved)
| 1× | egg-herbie |
| 195× | fma-neg_binary32 |
| 110× | fma-def_binary32 |
| 65× | cancel-sign-sub-inv_binary32 |
| 40× | div-sub_binary32 |
| 39× | sub-neg_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 26 |
| 1 | 30 | 25 |
| 2 | 42 | 25 |
| 3 | 57 | 25 |
| 4 | 70 | 25 |
| 5 | 92 | 25 |
| 6 | 117 | 25 |
| 7 | 166 | 25 |
| 8 | 224 | 25 |
| 9 | 270 | 25 |
| 10 | 323 | 25 |
| 11 | 417 | 25 |
| 12 | 581 | 25 |
| 13 | 919 | 25 |
| 14 | 990 | 25 |
| 15 | 1031 | 25 |
| 16 | 1036 | 25 |
| 1× | saturated |
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 |
| ▶ | 0.5b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 13.6b | (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
Compiled 124 to 77 computations (37.9% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) |
| ✓ | 0.2b | (/.f32 sin2phi (*.f32 alphay alphay)) |
| ✓ | 0.3b | (/.f32 cos2phi (*.f32 alphax alphax)) |
| ✓ | 0.4b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
39 calls:
| 9.0ms | (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) | sin2phi | -inf |
| 9.0ms | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | alphay | inf |
| 9.0ms | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | alphax | inf |
| 8.0ms | (/.f32 cos2phi (*.f32 alphax alphax)) | cos2phi | inf |
| 8.0ms | (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) | cos2phi | inf |
| 2× | batch-egg-rewrite |
| 177× | add-sqr-sqrt_binary32 |
| 174× | pow1_binary32 |
| 173× | *-un-lft-identity_binary32 |
| 165× | expm1-log1p-u_binary32 |
| 164× | add-exp-log_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 55 |
| 1 | 336 | 47 |
| 0 | 15 | 55 |
| 1× | saturated |
| 1× | node limit |
| 1× | egg-herbie |
| 684× | associate-/r*_binary32 |
| 598× | associate-*r*_binary32 |
| 495× | associate-*l*_binary32 |
| 222× | fma-def_binary32 |
| 197× | associate-*r/_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 122 | 4738 |
| 1 | 372 | 4542 |
| 2 | 1398 | 4534 |
| 1× | node limit |
10 alts after pruning (10 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 213 | 10 | 223 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 215 | 10 | 225 |
| Status | Error | Program |
| 7.7b | (*.f32 (/.f32 (sqrt.f32 (log1p.f32 u0)) 1) (/.f32 (sqrt.f32 (log1p.f32 u0)) (fma.f32 cos2phi (pow.f32 alphax -2) (*.f32 sin2phi (pow.f32 alphay -2))))) | |
| 2.2b | (fma.f32 1/2 (/.f32 u0 (/.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) u0)) (fma.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 0.6b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 8.1b | (*.f32 (/.f32 (log1p.f32 (neg.f32 u0)) sin2phi) (neg.f32 (*.f32 alphay alphay))) | |
| 4.7b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 alphay (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (/.f32 sin2phi alphay))) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) alphay))) | |
| 0.6b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay)))) | |
| 4.1b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 alphay alphay) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) sin2phi)) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (*.f32 alphay alphay)))) | |
| ▶ | 0.5b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))) |
| 7.1b | (/.f32 u0 (+.f32 (/.f32 sin2phi (pow.f32 alphay 2)) (/.f32 cos2phi (pow.f32 alphax 2)))) | |
| 29.7b | (-.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 sin2phi (pow.f32 alphax 4))) (*.f32 (pow.f32 cos2phi 2) (pow.f32 alphay 2))) (+.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 (pow.f32 sin2phi 2) (pow.f32 alphax 6))) (*.f32 (pow.f32 cos2phi 3) (pow.f32 alphay 4))) (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (pow.f32 alphax 2)) cos2phi))) |
Compiled 6394 to 2872 computations (55.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (pow.f32 alphax -2) |
| ✓ | 0.2b | (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2))) |
| ✓ | 0.3b | (*.f32 cos2phi (pow.f32 alphax -2)) |
| ✓ | 0.4b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))) |
36 calls:
| 9.0ms | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))) | alphay | -inf |
| 7.0ms | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))) | alphay | inf |
| 7.0ms | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))) | alphax | 0 |
| 7.0ms | (*.f32 cos2phi (pow.f32 alphax -2)) | cos2phi | 0 |
| 7.0ms | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))) | alphax | -inf |
| 2× | batch-egg-rewrite |
| 298× | prod-diff_binary32 |
| 244× | log1p-udef_binary32 |
| 158× | add-sqr-sqrt_binary32 |
| 156× | pow1_binary32 |
| 153× | *-un-lft-identity_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 48 |
| 1 | 315 | 44 |
| 2 | 3992 | 44 |
| 0 | 15 | 48 |
| 1× | saturated |
| 1× | node limit |
| 1× | egg-herbie |
| 686× | associate-/r*_binary32 |
| 597× | associate-*r*_binary32 |
| 497× | associate-*l*_binary32 |
| 229× | fma-def_binary32 |
| 197× | associate-*r/_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 123 | 4654 |
| 1 | 373 | 4458 |
| 2 | 1401 | 4450 |
| 1× | node limit |
10 alts after pruning (9 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 140 | 1 | 141 |
| Fresh | 1 | 8 | 9 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 141 | 10 | 151 |
| Status | Error | Program |
| 0.6b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 8.1b | (*.f32 (/.f32 (log1p.f32 (neg.f32 u0)) sin2phi) (neg.f32 (*.f32 alphay alphay))) | |
| 4.7b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 alphay (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (/.f32 sin2phi alphay))) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) alphay))) | |
| 2.2b | (fma.f32 1/2 (/.f32 u0 (/.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) u0)) (fma.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| ▶ | 0.6b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay)))) |
| 4.1b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 alphay alphay) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) sin2phi)) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (*.f32 alphay alphay)))) | |
| ✓ | 0.5b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))) |
| 7.1b | (/.f32 u0 (+.f32 (/.f32 sin2phi (pow.f32 alphay 2)) (/.f32 cos2phi (pow.f32 alphax 2)))) | |
| 29.7b | (-.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 sin2phi (pow.f32 alphax 4))) (*.f32 (pow.f32 cos2phi 2) (pow.f32 alphay 2))) (+.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 (pow.f32 sin2phi 2) (pow.f32 alphax 6))) (*.f32 (pow.f32 cos2phi 3) (pow.f32 alphay 4))) (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (pow.f32 alphax 2)) cos2phi))) | |
| 7.7b | (*.f32 (/.f32 (sqrt.f32 (log1p.f32 u0)) 1) (/.f32 (sqrt.f32 (log1p.f32 u0)) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2))))) |
Compiled 4252 to 2345 computations (44.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f32 alphax (*.f32 alphay alphay)) |
| ✓ | 0.3b | (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay))) |
| ✓ | 0.3b | (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) |
| ✓ | 0.4b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay)))) |
42 calls:
| 8.0ms | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay)))) | alphax | 0 |
| 8.0ms | (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay))) | alphax | 0 |
| 8.0ms | (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay))) | sin2phi | -inf |
| 8.0ms | (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay))) | cos2phi | 0 |
| 7.0ms | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay)))) | alphay | 0 |
| 2× | batch-egg-rewrite |
| 197× | add-sqr-sqrt_binary32 |
| 194× | pow1_binary32 |
| 193× | *-un-lft-identity_binary32 |
| 183× | expm1-log1p-u_binary32 |
| 182× | add-exp-log_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 72 |
| 1 | 379 | 68 |
| 0 | 17 | 76 |
| 1× | saturated |
| 1× | node limit |
| 1× | egg-herbie |
| 794× | associate-/r*_binary32 |
| 395× | fma-def_binary32 |
| 267× | associate-*l/_binary32 |
| 234× | associate-/r/_binary32 |
| 167× | unswap-sqr_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 136 | 5129 |
| 1 | 445 | 4919 |
| 2 | 1815 | 4785 |
| 1× | node limit |
11 alts after pruning (9 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 166 | 2 | 168 |
| Fresh | 1 | 7 | 8 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 167 | 11 | 178 |
| Status | Error | Program |
| ▶ | 0.6b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 8.1b | (*.f32 (/.f32 (log1p.f32 (neg.f32 u0)) sin2phi) (neg.f32 (*.f32 alphay alphay))) | |
| 1.6b | (+.f32 (*.f32 1/2 (/.f32 (*.f32 (pow.f32 u0 2) (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))) (+.f32 (*.f32 1/4 (/.f32 (*.f32 (pow.f32 u0 4) (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))) (+.f32 (*.f32 1/3 (/.f32 (*.f32 (pow.f32 u0 3) (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))) (/.f32 (*.f32 u0 (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))))) | |
| 4.7b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 alphay (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (/.f32 sin2phi alphay))) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) alphay))) | |
| 2.2b | (fma.f32 1/2 (/.f32 u0 (/.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) u0)) (fma.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| ✓ | 0.6b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay)))) |
| 4.1b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 alphay alphay) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) sin2phi)) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (*.f32 alphay alphay)))) | |
| ✓ | 0.5b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))) |
| 29.7b | (-.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 sin2phi (pow.f32 alphax 4))) (*.f32 (pow.f32 cos2phi 2) (pow.f32 alphay 2))) (+.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 (pow.f32 sin2phi 2) (pow.f32 alphax 6))) (*.f32 (pow.f32 cos2phi 3) (pow.f32 alphay 4))) (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (pow.f32 alphax 2)) cos2phi))) | |
| 7.7b | (*.f32 (/.f32 (sqrt.f32 (log1p.f32 u0)) 1) (/.f32 (sqrt.f32 (log1p.f32 u0)) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2))))) | |
| 2.2b | (fma.f32 1/2 (/.f32 u0 (/.f32 (fma.f32 alphax sin2phi (*.f32 (/.f32 (*.f32 alphay alphay) alphax) cos2phi)) (*.f32 u0 (*.f32 alphay (*.f32 alphay alphax))))) (fma.f32 1/3 (*.f32 (/.f32 (*.f32 alphay (*.f32 alphay alphax)) (fma.f32 alphax sin2phi (*.f32 (/.f32 (*.f32 alphay alphay) alphax) cos2phi))) (pow.f32 u0 3)) (*.f32 (/.f32 (*.f32 alphay (*.f32 alphay alphax)) (fma.f32 alphax sin2phi (*.f32 (/.f32 (*.f32 alphay alphay) alphax) cos2phi))) u0))) |
Compiled 6062 to 1979 computations (67.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.2b | (/.f32 sin2phi (*.f32 alphay alphay)) | |
| 0.3b | (*.f32 cos2phi (pow.f32 alphax -2)) | |
| ✓ | 0.4b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| ✓ | 0.8b | (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) |
21 calls:
| 19.0ms | (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) | cos2phi | -inf |
| 8.0ms | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay)))) | cos2phi | -inf |
| 8.0ms | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay)))) | alphay | inf |
| 7.0ms | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay)))) | alphax | 0 |
| 7.0ms | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay)))) | alphay | -inf |
| 2× | batch-egg-rewrite |
| 198× | add-sqr-sqrt_binary32 |
| 192× | pow1_binary32 |
| 189× | *-un-lft-identity_binary32 |
| 187× | expm1-log1p-u_binary32 |
| 186× | add-log-exp_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 32 |
| 1 | 417 | 26 |
| 0 | 19 | 42 |
| 1× | saturated |
| 1× | node limit |
| 1× | egg-herbie |
| 682× | associate-/r*_binary32 |
| 599× | associate-*r*_binary32 |
| 492× | associate-*l*_binary32 |
| 229× | fma-def_binary32 |
| 197× | associate-*r/_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 121 | 3742 |
| 1 | 372 | 3546 |
| 2 | 1404 | 3538 |
| 1× | node limit |
11 alts after pruning (8 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 164 | 0 | 164 |
| Fresh | 0 | 8 | 8 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 164 | 11 | 175 |
| Status | Error | Program |
| ✓ | 0.6b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (pow.f32 (cbrt.f32 (*.f32 cos2phi (pow.f32 alphax -2))) 3) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 8.1b | (*.f32 (/.f32 (log1p.f32 (neg.f32 u0)) sin2phi) (neg.f32 (*.f32 alphay alphay))) | |
| 1.6b | (+.f32 (*.f32 1/2 (/.f32 (*.f32 (pow.f32 u0 2) (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))) (+.f32 (*.f32 1/4 (/.f32 (*.f32 (pow.f32 u0 4) (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))) (+.f32 (*.f32 1/3 (/.f32 (*.f32 (pow.f32 u0 3) (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))) (/.f32 (*.f32 u0 (*.f32 (pow.f32 alphay 2) alphax)) (+.f32 (*.f32 sin2phi alphax) (/.f32 (*.f32 cos2phi (pow.f32 alphay 2)) alphax)))))) | |
| 4.7b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 alphay (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (/.f32 sin2phi alphay))) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) alphay))) | |
| 2.2b | (fma.f32 1/2 (/.f32 u0 (/.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))) u0)) (fma.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| ✓ | 0.6b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 (/.f32 cos2phi alphax) (*.f32 alphay alphay)) (*.f32 alphax sin2phi)) (*.f32 alphax (*.f32 alphay alphay)))) |
| 4.1b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (/.f32 (+.f32 (*.f32 alphay alphay) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) sin2phi)) (*.f32 (/.f32 (*.f32 alphax alphax) cos2phi) (*.f32 alphay alphay)))) | |
| ✓ | 0.5b | (/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2)))) |
| 29.7b | (-.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 sin2phi (pow.f32 alphax 4))) (*.f32 (pow.f32 cos2phi 2) (pow.f32 alphay 2))) (+.f32 (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (*.f32 (pow.f32 sin2phi 2) (pow.f32 alphax 6))) (*.f32 (pow.f32 cos2phi 3) (pow.f32 alphay 4))) (/.f32 (*.f32 (log.f32 (-.f32 1 u0)) (pow.f32 alphax 2)) cos2phi))) | |
| 7.7b | (*.f32 (/.f32 (sqrt.f32 (log1p.f32 u0)) 1) (/.f32 (sqrt.f32 (log1p.f32 u0)) (fma.f32 sin2phi (pow.f32 alphay -2) (*.f32 cos2phi (pow.f32 alphax -2))))) | |
| 2.2b | (fma.f32 1/2 (/.f32 u0 (/.f32 (fma.f32 alphax sin2phi (*.f32 (/.f32 (*.f32 alphay alphay) alphax) cos2phi)) (*.f32 u0 (*.f32 alphay (*.f32 alphay alphax))))) (fma.f32 1/3 (*.f32 (/.f32 (*.f32 alphay (*.f32 alphay alphax)) (fma.f32 alphax sin2phi (*.f32 (/.f32 (*.f32 alphay alphay) alphax) cos2phi))) (pow.f32 u0 3)) (*.f32 (/.f32 (*.f32 alphay (*.f32 alphay alphax)) (fma.f32 alphax sin2phi (*.f32 (/.f32 (*.f32 alphay alphay) alphax) cos2phi))) u0))) |
Compiled 4919 to 2442 computations (50.4% saved)
Total 0.5b remaining (91.8%)
Threshold costs 0.5b (91.8%)
Compiled 98900 to 65893 computations (33.4% saved)
| 1× | egg-herbie |
| 4× | +-commutative_binary32 |
| 3× | *-commutative_binary32 |
| 3× | sub-neg_binary32 |
| 3× | neg-sub0_binary32 |
| 3× | neg-mul-1_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 25 |
| 1 | 25 | 25 |
| 2 | 31 | 25 |
| 3 | 35 | 25 |
| 4 | 36 | 25 |
| 1× | saturated |
| 1× | fuel |
Compiled 483 to 287 computations (40.6% saved)
Loading profile data...