Time bar (total: 29.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 42 to 30 computations (28.6% saved)
| 1× | intervals |
| 24.0ms | 256× | body | 128 | valid |
| 15.0ms | 256× | pre | 128 | true |
Compiled 69 to 50 computations (27.5% saved)
| 1× | egg-herbie |
| 65× | cancel-sign-sub-inv_binary32 |
| 42× | sub-neg_binary32 |
| 41× | div-sub_binary32 |
| 32× | distribute-rgt-neg-in_binary32 |
| 29× | distribute-rgt-in_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 26 |
| 1 | 30 | 26 |
| 2 | 41 | 26 |
| 3 | 53 | 26 |
| 4 | 62 | 26 |
| 5 | 73 | 26 |
| 6 | 93 | 26 |
| 7 | 121 | 26 |
| 8 | 143 | 26 |
| 9 | 160 | 26 |
| 10 | 199 | 26 |
| 11 | 215 | 26 |
| 12 | 303 | 26 |
| 13 | 290 | 26 |
| 14 | 316 | 26 |
| 15 | 311 | 26 |
| 16 | 312 | 26 |
| 17 | 271 | 26 |
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 |
| ▶ | 12.0b | (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
Compiled 44 to 30 computations (31.8% saved)
Found 4 expressions with local error:
| 0.2b | (/.f32 sin2phi (*.f32 alphay alphay)) |
| 0.3b | (/.f32 cos2phi (*.f32 alphax alphax)) |
| 0.4b | (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 13.6b | (log.f32 (-.f32 1 u0)) |
| 1× | rewrite-expression-head |
| 66× | *-un-lft-identity_binary32 |
| 54× | times-frac_binary32 |
| 40× | add-sqr-sqrt_binary32 |
| 37× | add-cube-cbrt_binary32 |
| 20× | distribute-lft-neg-in_binary32 |
4 calls:
| 11.0ms | (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 4.0ms | (/.f32 sin2phi (*.f32 alphay alphay)) |
| 4.0ms | (log.f32 (-.f32 1 u0)) |
| 3.0ms | (/.f32 cos2phi (*.f32 alphax alphax)) |
Compiled 3127 to 1166 computations (62.7% saved)
4 calls:
| 237.0ms | (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 26.0ms | (/.f32 sin2phi (*.f32 alphay alphay)) |
| 24.0ms | (/.f32 cos2phi (*.f32 alphax alphax)) |
| 14.0ms | (log.f32 (-.f32 1 u0)) |
Compiled 3804 to 2811 computations (26.1% saved)
| 1× | egg-herbie |
| 408× | associate-/l/_binary32 |
| 375× | associate-/r/_binary32 |
| 183× | times-frac_binary32 |
| 178× | associate-/l*_binary32 |
| 169× | distribute-frac-neg_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 301 | 6128 |
| 1 | 694 | 5986 |
| 2 | 2254 | 5980 |
| 3 | 4904 | 5980 |
| 4 | 4977 | 5980 |
| 5 | 4999 | 5980 |
| 6 | 4908 | 5980 |
14 alts after pruning (13 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 152 | 13 | 165 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 152 | 14 | 166 |
| Status | Error | Program |
| 12.1b | (*.f32 (/.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 2.2b | (+.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u0 3) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (+.f32 (*.f32 1/2 (*.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) u0)) (*.f32 1/4 (/.f32 (pow.f32 u0 4) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))))) | |
| 12.1b | (*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| ▶ | 2.2b | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 12.1b | (*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 2.8b | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| ✓ | 12.0b | (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 12.9b | (/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 12.9b | (/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0)))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 4.2b | (+.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (*.f32 1/2 (*.f32 (/.f32 u0 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) u0))) | |
| 4.3b | (/.f32 (neg.f32 (*.f32 u0 (-.f32 -1 (*.f32 1/2 u0)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 12.1b | (*.f32 (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 12.3b | (exp.f32 (log.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 11.9b | (*.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (*.f32 (*.f32 alphay alphay) cos2phi) (*.f32 sin2phi (*.f32 alphax alphax)))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay))) |
Compiled 3499 to 1484 computations (57.6% saved)
Found 4 expressions with local error:
| 0.3b | (/.f32 cos2phi (*.f32 alphax alphax)) |
| 0.3b | (*.f32 1/3 u0) |
| 0.4b | (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) |
| 0.4b | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 1× | rewrite-expression-head |
| 115× | *-un-lft-identity_binary32 |
| 67× | times-frac_binary32 |
| 64× | add-sqr-sqrt_binary32 |
| 41× | add-cube-cbrt_binary32 |
| 40× | distribute-rgt-neg-in_binary32 |
4 calls:
| 20.0ms | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 6.0ms | (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) |
| 3.0ms | (/.f32 cos2phi (*.f32 alphax alphax)) |
| 3.0ms | (*.f32 1/3 u0) |
Compiled 6066 to 2767 computations (54.4% saved)
4 calls:
| 712.0ms | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 28.0ms | (/.f32 cos2phi (*.f32 alphax alphax)) |
| 24.0ms | (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) |
| 13.0ms | (*.f32 1/3 u0) |
Compiled 11115 to 8260 computations (25.7% saved)
| 1× | egg-herbie |
| 392× | times-frac_binary32 |
| 373× | associate-*l*_binary32 |
| 372× | associate-*r*_binary32 |
| 371× | associate-/l*_binary32 |
| 210× | associate-/r*_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 422 | 14920 |
| 1 | 1213 | 14648 |
| 2 | 5047 | 14648 |
18 alts after pruning (17 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 187 | 9 | 196 |
| Fresh | 4 | 8 | 12 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 192 | 18 | 210 |
| Status | Error | Program |
| 12.9b | (/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 2.2b | (*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay))) | |
| 12.9b | (/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0)))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 2.2b | (/.f32 (neg.f32 (-.f32 (*.f32 (neg.f32 u0) (neg.f32 u0)) (*.f32 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))) (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4)))))) (*.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) (-.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) u0))) | |
| 5.1b | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (log.f32 (pow.f32 (exp.f32 (*.f32 u0 u0)) (+.f32 1/2 (*.f32 u0 1/3)))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 2.4b | (*.f32 (*.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (/.f32 (neg.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) | |
| 2.5b | (*.f32 (*.f32 (cbrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (cbrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))) (cbrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))) | |
| ▶ | 2.2b | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 2.5b | (*.f32 (/.f32 (*.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (sqrt.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (/.f32 (neg.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (sqrt.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))) | |
| 12.1b | (*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| ✓ | 12.0b | (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 2.7b | (/.f32 (neg.f32 (-.f32 (pow.f32 (neg.f32 u0) 3) (pow.f32 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))) 3))) (*.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) (+.f32 (*.f32 u0 u0) (*.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (-.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) u0))))) | |
| 12.1b | (*.f32 (/.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 2.3b | (*.f32 (sqrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (sqrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))) | |
| 12.1b | (*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 12.1b | (*.f32 (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 12.3b | (exp.f32 (log.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 11.9b | (*.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (*.f32 (*.f32 alphay alphay) cos2phi) (*.f32 sin2phi (*.f32 alphax alphax)))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay))) |
Compiled 7916 to 4022 computations (49.2% saved)
Found 4 expressions with local error:
| 0.3b | (/.f32 cos2phi (*.f32 alphax alphax)) |
| 0.3b | (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))) |
| 0.3b | (*.f32 u0 1/3) |
| 0.4b | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 1× | rewrite-expression-head |
| 116× | *-un-lft-identity_binary32 |
| 67× | times-frac_binary32 |
| 66× | add-sqr-sqrt_binary32 |
| 42× | add-cube-cbrt_binary32 |
| 40× | distribute-rgt-neg-in_binary32 |
4 calls:
| 16.0ms | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 4.0ms | (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))) |
| 3.0ms | (*.f32 u0 1/3) |
| 3.0ms | (/.f32 cos2phi (*.f32 alphax alphax)) |
Compiled 6007 to 2914 computations (51.5% saved)
4 calls:
| 694.0ms | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 28.0ms | (/.f32 cos2phi (*.f32 alphax alphax)) |
| 20.0ms | (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))) |
| 11.0ms | (*.f32 u0 1/3) |
Compiled 11121 to 8255 computations (25.8% saved)
| 1× | egg-herbie |
| 368× | times-frac_binary32 |
| 342× | associate-/l*_binary32 |
| 324× | associate-*r*_binary32 |
| 312× | associate-*l*_binary32 |
| 228× | div-sub_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 418 | 14817 |
| 1 | 1191 | 14565 |
| 2 | 4794 | 14529 |
| 3 | 5286 | 14529 |
18 alts after pruning (16 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 183 | 0 | 183 |
| Fresh | 0 | 16 | 16 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 183 | 18 | 201 |
| Status | Error | Program |
| 12.9b | (/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| ▶ | 2.2b | (*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay))) |
| 12.9b | (/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0)))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 2.2b | (/.f32 (neg.f32 (-.f32 (*.f32 (neg.f32 u0) (neg.f32 u0)) (*.f32 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))) (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4)))))) (*.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) (-.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) u0))) | |
| 5.1b | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (log.f32 (pow.f32 (exp.f32 (*.f32 u0 u0)) (+.f32 1/2 (*.f32 u0 1/3)))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 2.4b | (*.f32 (*.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (/.f32 (neg.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) | |
| 2.5b | (*.f32 (*.f32 (cbrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (cbrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))) (cbrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))) | |
| ✓ | 2.2b | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 2.5b | (*.f32 (/.f32 (*.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (sqrt.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (/.f32 (neg.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (sqrt.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))) | |
| 12.1b | (*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| ✓ | 12.0b | (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) |
| 2.7b | (/.f32 (neg.f32 (-.f32 (pow.f32 (neg.f32 u0) 3) (pow.f32 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))) 3))) (*.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) (+.f32 (*.f32 u0 u0) (*.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (-.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) u0))))) | |
| 12.1b | (*.f32 (/.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 2.3b | (*.f32 (sqrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (sqrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))) | |
| 12.1b | (*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 12.1b | (*.f32 (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 12.3b | (exp.f32 (log.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 11.9b | (*.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (*.f32 (*.f32 alphay alphay) cos2phi) (*.f32 sin2phi (*.f32 alphax alphax)))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay))) |
Compiled 7512 to 3722 computations (50.5% saved)
Found 4 expressions with local error:
| 0.3b | (*.f32 u0 1/3) |
| 0.3b | (*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay))) |
| 0.3b | (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)) |
| 0.4b | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) |
| 1× | rewrite-expression-head |
| 117× | *-un-lft-identity_binary32 |
| 96× | times-frac_binary32 |
| 91× | add-sqr-sqrt_binary32 |
| 61× | add-cube-cbrt_binary32 |
| 61× | add-cbrt-cube_binary32 |
4 calls:
| 24.0ms | (*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay))) |
| 13.0ms | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) |
| 6.0ms | (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)) |
| 3.0ms | (*.f32 u0 1/3) |
Compiled 11221 to 4673 computations (58.4% saved)
4 calls:
| 667.0ms | (*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay))) |
| 625.0ms | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) |
| 26.0ms | (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)) |
| 11.0ms | (*.f32 u0 1/3) |
Compiled 21909 to 16139 computations (26.3% saved)
| 1× | egg-herbie |
| 860× | times-frac_binary32 |
| 633× | associate-/l*_binary32 |
| 191× | *-commutative_binary32 |
| 125× | +-commutative_binary32 |
| 111× | associate-*r*_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 610 | 29343 |
| 1 | 1914 | 27861 |
| 2 | 5379 | 27861 |
18 alts after pruning (16 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 288 | 2 | 290 |
| Fresh | 1 | 14 | 15 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 1 | 2 |
| Total | 290 | 18 | 308 |
| Status | Error | Program |
| 12.9b | (/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u0 u0))) (log.f32 (+.f32 u0 1)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 2.2b | (*.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay))) | |
| 12.9b | (/.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log.f32 (+.f32 1 (+.f32 u0 (*.f32 u0 u0)))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 2.2b | (/.f32 (neg.f32 (-.f32 (*.f32 (neg.f32 u0) (neg.f32 u0)) (*.f32 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))) (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4)))))) (*.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) (-.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) u0))) | |
| 2.3b | (*.f32 (/.f32 -1 (sqrt.f32 (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi)))) (*.f32 (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)) (/.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))) (sqrt.f32 (+.f32 (*.f32 sin2phi (*.f32 alphax alphax)) (*.f32 cos2phi (*.f32 alphay alphay))))))) | |
| 2.3b | (*.f32 (sqrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (sqrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))) | |
| 5.1b | (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (log.f32 (pow.f32 (exp.f32 (*.f32 u0 u0)) (+.f32 1/2 (*.f32 u0 1/3)))) (*.f32 1/4 (pow.f32 u0 4))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 2.4b | (*.f32 (*.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (/.f32 (neg.f32 (cbrt.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) | |
| 2.5b | (*.f32 (*.f32 (cbrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))) (cbrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))) (cbrt.f32 (/.f32 (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))) | |
| 12.1b | (*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 12.0b | (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))) | |
| 2.2b | (/.f32 (*.f32 (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay)) (neg.f32 (-.f32 (neg.f32 u0) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3)))))))) (+.f32 (*.f32 cos2phi (*.f32 alphay alphay)) (*.f32 (*.f32 alphax alphax) sin2phi))) | |
| 11.9b | (*.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (*.f32 (*.f32 alphay alphay) cos2phi) (*.f32 sin2phi (*.f32 alphax alphax)))) (*.f32 (*.f32 alphax alphax) (*.f32 alphay alphay))) | |
| 2.7b | (/.f32 (neg.f32 (-.f32 (pow.f32 (neg.f32 u0) 3) (pow.f32 (+.f32 (*.f32 (*.f32 u0 u0) (+.f32 1/2 (*.f32 1/3 u0))) (*.f32 1/4 (pow.f32 u0 4))) 3))) (*.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))) (+.f32 (*.f32 u0 u0) (*.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) (-.f32 (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 u0 (*.f32 u0 (+.f32 1/2 (*.f32 u0 1/3))))) u0))))) | |
| 12.1b | (*.f32 (/.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u0))) (cbrt.f32 (log.f32 (-.f32 1 u0)))) (*.f32 (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) (/.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u0)))) (cbrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 12.1b | (*.f32 (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (/.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u0)))) (sqrt.f32 (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 12.1b | (*.f32 (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))) (sqrt.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) | |
| 12.3b | (exp.f32 (log.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax)))))) |
Compiled 11878 to 5338 computations (55.1% saved)
Total 0.6b remaining (85%)
Threshold costs 0.6b (85%)
Compiled 338615 to 206708 computations (39% saved)
Compiled 8 to 7 computations (12.5% saved)
| 1× | egg-herbie |
| 47× | distribute-rgt-neg-in_binary32 |
| 43× | cancel-sign-sub-inv_binary32 |
| 30× | distribute-lft-neg-in_binary32 |
| 24× | distribute-lft-neg-out_binary32 |
| 24× | neg-sub0_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 38 | 85 |
| 1 | 63 | 85 |
| 2 | 86 | 81 |
| 3 | 135 | 81 |
| 4 | 190 | 81 |
| 5 | 231 | 81 |
| 6 | 258 | 81 |
| 7 | 272 | 81 |
| 8 | 276 | 81 |
| 9 | 266 | 81 |
Compiled 59 to 37 computations (37.3% saved)
| 1× | intervals |
| 706.0ms | 8000× | body | 128 | valid |
| 310.0ms | 8000× | pre | 128 | true |
Compiled 1035 to 638 computations (38.4% saved)
Loading profile data...