Time bar (total: 7.8s)
| 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 39 to 31 computations (20.5% saved)
| 2.1s | 8256× | body | 128 | valid |
| 1.0ms | 5× | body | 128 | invalid |
Compiled 78 to 62 computations (20.5% saved)
| 2× | egg-herbie |
| 104× | fma-neg_binary32 |
| 95× | fma-def_binary32 |
| 60× | sub-neg_binary32 |
| 45× | cancel-sign-sub-inv_binary32 |
| 30× | distribute-rgt-in_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 30 | 88 |
| 1 | 59 | 84 |
| 2 | 98 | 84 |
| 3 | 124 | 84 |
| 4 | 155 | 84 |
| 5 | 191 | 84 |
| 6 | 231 | 84 |
| 7 | 319 | 84 |
| 8 | 490 | 84 |
| 9 | 531 | 84 |
| 10 | 585 | 84 |
| 11 | 635 | 84 |
| 12 | 726 | 84 |
| 13 | 773 | 84 |
| 14 | 791 | 84 |
| 15 | 794 | 84 |
| 0 | 3 | 3 |
| 1× | saturated |
| 1× | saturated |
Compiled 16 to 14 computations (12.5% saved)
| 1× | egg-herbie |
| 40× | fma-neg_binary32 |
| 22× | sub-neg_binary32 |
| 17× | cancel-sign-sub-inv_binary32 |
| 13× | fma-def_binary32 |
| 10× | *-commutative_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 22 |
| 1 | 26 | 21 |
| 2 | 39 | 21 |
| 3 | 49 | 21 |
| 4 | 60 | 21 |
| 5 | 74 | 21 |
| 6 | 92 | 21 |
| 7 | 119 | 21 |
| 8 | 149 | 21 |
| 9 | 162 | 21 |
| 10 | 184 | 21 |
| 11 | 206 | 21 |
| 12 | 245 | 21 |
| 13 | 262 | 21 |
| 14 | 268 | 21 |
| 15 | 269 | 21 |
| 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.3b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))) |
| 12.7b | (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cos.f32 (*.f32 (*.f32 2 (PI.f32)) u2))) |
Compiled 90 to 77 computations (14.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) |
| ✓ | 0.1b | (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2))) |
| ✓ | 0.1b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))) |
| ✓ | 0.4b | (*.f32 (PI.f32) u2) |
15 calls:
| 64.0ms | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))) | u2 | inf |
| 60.0ms | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))) | u2 | -inf |
| 7.0ms | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))) | u1 | inf |
| 5.0ms | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))) | u1 | 0 |
| 4.0ms | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))) | u1 | -inf |
| 1× | batch-egg-rewrite |
| 679× | prod-diff_binary32 |
| 204× | expm1-udef_binary32 |
| 204× | log1p-udef_binary32 |
| 132× | add-sqr-sqrt_binary32 |
| 124× | expm1-log1p-u_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 45 |
| 1 | 266 | 37 |
| 2 | 3275 | 37 |
| 1× | node limit |
| 1× | egg-herbie |
| 538× | cancel-sign-sub-inv_binary32 |
| 348× | times-frac_binary32 |
| 276× | associate-*l/_binary32 |
| 247× | associate-/r*_binary32 |
| 218× | associate-/l*_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 179 | 1948 |
| 1 | 571 | 1783 |
| 2 | 2097 | 1637 |
| 1× | node limit |
11 alts after pruning (11 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 133 | 11 | 144 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 135 | 11 | 146 |
| Status | Error | Program |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (exp.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 1)) | |
| 2.9b | (+.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 u2 u2) -2))))) | |
| 8.6b | (*.f32 (*.f32 (cbrt.f32 (log1p.f32 u1)) (cbrt.f32 (sqrt.f32 (log1p.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))) | |
| 0.5b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) (neg.f32 (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 1))) (fma.f32 (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) 1 (*.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) 1)))) | |
| 8.7b | (pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 3) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (expm1.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))) | |
| 0.8b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (-.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1)))) | |
| 10.5b | (exp.f32 (log.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))) | |
| ▶ | 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) |
Compiled 4916 to 3096 computations (37% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) |
| ✓ | 0.3b | (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) |
| 0.4b | (*.f32 (PI.f32) u2) | |
| ✓ | 0.6b | (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) |
9 calls:
| 4.0ms | (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) | u2 | 0 |
| 3.0ms | (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) | u2 | 0 |
| 3.0ms | (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) | u2 | -inf |
| 2.0ms | (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2)) | u2 | inf |
| 2.0ms | (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) | u2 | 0 |
| 1× | batch-egg-rewrite |
| 897× | expm1-log1p-u_binary32 |
| 725× | prod-diff_binary32 |
| 204× | egg-rr |
| 102× | add-sqr-sqrt_binary32 |
| 101× | log1p-expm1-u_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 42 |
| 1 | 212 | 30 |
| 2 | 2620 | 30 |
| 1× | node limit |
| 1× | egg-herbie |
| 838× | fma-neg_binary32 |
| 536× | distribute-rgt-neg-in_binary32 |
| 511× | distribute-lft-neg-in_binary32 |
| 367× | unswap-sqr_binary32 |
| 337× | associate-*r*_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 53 | 489 |
| 1 | 166 | 477 |
| 2 | 530 | 471 |
| 3 | 2603 | 471 |
| 1× | node limit |
12 alts after pruning (12 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 255 | 6 | 261 |
| Fresh | 4 | 6 | 10 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 260 | 12 | 272 |
| Status | Error | Program |
| 8.6b | (*.f32 (*.f32 (cbrt.f32 (log1p.f32 u1)) (cbrt.f32 (sqrt.f32 (log1p.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))) | |
| 0.5b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4))) (fma.f32 (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 3)) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4)))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (expm1.f32 (log1p.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))) | |
| ▶ | 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)))))) |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) | |
| 0.8b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (-.f32 (exp.f32 (log1p.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) 1) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 6) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 6)) (/.f32 1 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4))))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))) 2))) | |
| 8.7b | (pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 3) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (-.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1)))) | |
| 2.9b | (+.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 u2 u2) -2))))) |
Compiled 11660 to 4380 computations (62.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2))))) |
| 0.4b | (*.f32 (PI.f32) u2) | |
| ✓ | 0.4b | (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)))) |
| ✓ | 0.4b | (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2))) |
9 calls:
| 5.0ms | (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2))) | u2 | 0 |
| 4.0ms | (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2))) | u2 | -inf |
| 3.0ms | (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2))))) | u2 | 0 |
| 3.0ms | (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2))) | u2 | inf |
| 3.0ms | (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) (sin.f32 (*.f32 (PI.f32) u2)))) | u2 | 0 |
| 1× | batch-egg-rewrite |
| 552× | log-prod_binary32 |
| 254× | fma-def_binary32 |
| 200× | expm1-udef_binary32 |
| 200× | log1p-udef_binary32 |
| 194× | egg-rr |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 62 |
| 1 | 255 | 30 |
| 2 | 3090 | 30 |
| 1× | node limit |
| 1× | egg-herbie |
| 662× | fma-neg_binary32 |
| 493× | distribute-rgt-neg-in_binary32 |
| 488× | distribute-lft-neg-in_binary32 |
| 373× | unswap-sqr_binary32 |
| 314× | associate-*r*_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 59 | 584 |
| 1 | 166 | 576 |
| 2 | 472 | 554 |
| 3 | 2263 | 554 |
| 1× | node limit |
14 alts after pruning (14 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 269 | 4 | 273 |
| Fresh | 1 | 10 | 11 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 271 | 14 | 285 |
| Status | Error | Program |
| 8.6b | (*.f32 (*.f32 (cbrt.f32 (log1p.f32 u1)) (cbrt.f32 (sqrt.f32 (log1p.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))) | |
| 0.5b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4))) (fma.f32 (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 3)) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4)))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) | |
| 0.8b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (-.f32 (exp.f32 (log1p.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) 1) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 6) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 6)) (/.f32 1 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4))))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))) 2))) | |
| 8.7b | (pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 3) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) 2) 3))) | |
| ▶ | 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) |
| 0.6b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))) (log.f32 (cbrt.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (-.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1)))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (/.f32 1 (/.f32 1 (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))))) | |
| 2.9b | (+.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 u2 u2) -2))))) |
Compiled 9349 to 3829 computations (59% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.2b | (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) | |
| ✓ | 0.3b | (fma.f32 (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) |
| 0.4b | (*.f32 (PI.f32) u2) | |
| ✓ | 0.5b | (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) |
6 calls:
| 4.0ms | (fma.f32 (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) | u2 | 0 |
| 3.0ms | (fma.f32 (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) | u2 | -inf |
| 3.0ms | (fma.f32 (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2)) | u2 | inf |
| 2.0ms | (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) | u2 | 0 |
| 1.0ms | (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) | u2 | -inf |
| 1× | batch-egg-rewrite |
| 826× | log1p-expm1-u_binary32 |
| 826× | expm1-log1p-u_binary32 |
| 302× | prod-diff_binary32 |
| 118× | add-sqr-sqrt_binary32 |
| 109× | add-cbrt-cube_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 37 |
| 1 | 244 | 29 |
| 2 | 2894 | 29 |
| 1× | node limit |
| 1× | egg-herbie |
| 737× | fma-neg_binary32 |
| 440× | distribute-rgt-neg-in_binary32 |
| 427× | distribute-lft-neg-in_binary32 |
| 396× | associate-*r*_binary32 |
| 375× | associate-*l*_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 65 | 458 |
| 1 | 189 | 454 |
| 2 | 559 | 450 |
| 3 | 2639 | 450 |
| 1× | node limit |
14 alts after pruning (13 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 148 | 0 | 148 |
| Fresh | 0 | 13 | 13 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 148 | 14 | 162 |
| Status | Error | Program |
| 8.6b | (*.f32 (*.f32 (cbrt.f32 (log1p.f32 u1)) (cbrt.f32 (sqrt.f32 (log1p.f32 u1)))) (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))) | |
| 0.5b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (+.f32 (fma.f32 (*.f32 (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4))) (cbrt.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4)) (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4))) (fma.f32 (neg.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 3)) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 4)))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))) 2) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) | |
| 0.8b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (log.f32 (exp.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2)))))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (-.f32 (exp.f32 (log1p.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) 1) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 6) (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 6)) (/.f32 1 (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 4))))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (sin.f32 (log.f32 (pow.f32 (exp.f32 u2) (PI.f32)))) 2))) | |
| 8.7b | (pow.f32 (cbrt.f32 (*.f32 (sqrt.f32 (log1p.f32 u1)) (cos.f32 (*.f32 (PI.f32) (*.f32 u2 2))))) 3) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (pow.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) u2))) 2) 3))) | |
| ✓ | 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 (*.f32 (neg.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) u2)))) (sin.f32 (*.f32 (PI.f32) u2)) (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2))) |
| 0.6b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (-.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) u2)) 2) (+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))) (cbrt.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))) (log.f32 (cbrt.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) u2)) 2))))))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (cos.f32 (*.f32 2 (-.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) u2))) 1)))) | |
| 0.4b | (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (/.f32 1 (/.f32 1 (cos.f32 (*.f32 2 (*.f32 (PI.f32) u2)))))) | |
| 2.9b | (+.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (*.f32 (sqrt.f32 (neg.f32 (log1p.f32 (neg.f32 u1)))) (fma.f32 2/3 (*.f32 (pow.f32 u2 4) (pow.f32 (PI.f32) 4)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 u2 u2) -2))))) |
Compiled 4868 to 1664 computations (65.8% saved)
Total 0.2b remaining (70.4%)
Threshold costs 0.2b (70.4%)
Compiled 56430 to 40794 computations (27.7% saved)
| 1× | egg-herbie |
| 5× | *-commutative_binary32 |
| 2× | +-commutative_binary32 |
| 2× | sub-neg_binary32 |
| 2× | neg-sub0_binary32 |
| 2× | neg-mul-1_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 25 |
| 1 | 24 | 25 |
| 2 | 28 | 25 |
| 3 | 30 | 25 |
| 1× | saturated |
| 1× | fuel |
Compiled 427 to 318 computations (25.5% saved)
Loading profile data...