Time bar (total: 15.9s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 1.6% | 98.4% | 0 |
| 0% | 1.6% | 98.4% | 1 |
| 0% | 1.6% | 98.4% | 2 |
| 0.4% | 1.2% | 98.4% | 3 |
| 0.6% | 1% | 98.4% | 4 |
| 0.9% | 0.7% | 98.4% | 5 |
| 1% | 0.5% | 98.4% | 6 |
| 1.2% | 0.4% | 98.4% | 7 |
| 1.3% | 0.3% | 98.4% | 8 |
| 1.4% | 0.2% | 98.4% | 9 |
| 1.4% | 0.1% | 98.4% | 10 |
| 1.5% | 0.1% | 98.4% | 11 |
| 1.5% | 0.1% | 98.4% | 12 |
| 1.5% | 0% | 98.4% | 13 |
| 1.5% | 0% | 98.4% | 14 |
Compiled 54 to 41 computations (24.1% saved)
| 2.2s | 8256× | body | 128 | valid |
Compiled 147 to 112 computations (23.8% saved)
| 1× | egg-herbie |
| 1145× | fma-def_binary32 |
| 518× | unswap-sqr_binary32 |
| 445× | fma-neg_binary32 |
| 420× | times-frac_binary32 |
| 354× | associate-*l*_binary32 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 59 |
| 1 | 42 | 59 |
| 2 | 72 | 59 |
| 3 | 120 | 51 |
| 4 | 179 | 48 |
| 5 | 319 | 46 |
| 6 | 505 | 46 |
| 7 | 788 | 46 |
| 8 | 1249 | 46 |
| 9 | 2584 | 46 |
| 10 | 4419 | 46 |
| 11 | 4832 | 46 |
| 12 | 4827 | 46 |
1 alts after pruning (1 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 2 | 1 | 3 |
| Status | Error | Program |
| ▶ | 0.3b | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))) |
Compiled 127 to 93 computations (26.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)) |
| ✓ | 0.2b | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))) |
| ✓ | 0.4b | (/.f32 (PI.f32) s) |
| ✓ | 0.4b | (/.f32 (neg.f32 (PI.f32)) s) |
4 calls:
| 771.0ms | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))) |
| 3.0ms | (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)) |
| 3.0ms | (/.f32 (neg.f32 (PI.f32)) s) |
| 2.0ms | (/.f32 (PI.f32) s) |
| 1× | batch-egg-rewrite |
| 250× | add-sqr-sqrt_binary32 |
| 237× | log1p-expm1-u_binary32 |
| 237× | expm1-log1p-u_binary32 |
| 234× | add-log-exp_binary32 |
| 231× | add-exp-log_binary32 |
4 calls:
| 81.0ms | (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)) |
| 81.0ms | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))) |
| 81.0ms | (/.f32 (PI.f32) s) |
| 81.0ms | (/.f32 (neg.f32 (PI.f32)) s) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 67 |
| 1 | 496 | 67 |
| 2 | 4969 | 67 |
| 3 | 5231 | 67 |
| 1× | egg-herbie |
| 668× | times-frac_binary32 |
| 443× | associate-/r*_binary32 |
| 423× | associate-/l*_binary32 |
| 277× | fma-def_binary32 |
| 219× | associate-*l*_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 387 | 5174 |
| 1 | 1408 | 5064 |
| 2 | 5004 | 5064 |
7 alts after pruning (7 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 112 | 7 | 119 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 113 | 7 | 120 |
| Status | Error | Program |
| 0.8b | (pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3) | |
| ▶ | 0.3b | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (PI.f32) s))) 1)))))) -1))) |
| 23.9b | (log1p.f32 (-.f32 (pow.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1) (neg.f32 s)) 1)) | |
| 17.4b | (cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)) 3))) | |
| 30.8b | (pow.f32 (sqrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 2) | |
| 29.3b | (pow.f32 (pow.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))) 3) 1/3) | |
| 24.7b | (-.f32 (exp.f32 (log1p.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))) 1) |
Compiled 8419 to 4868 computations (42.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (PI.f32) s))) 1)))))) -1))) |
| 0.4b | (/.f32 (PI.f32) s) | |
| 0.4b | (/.f32 (neg.f32 (PI.f32)) s) | |
| ✓ | 3.0b | (exp.f32 (log1p.f32 (/.f32 (PI.f32) s))) |
2 calls:
| 1.4s | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (PI.f32) s))) 1)))))) -1))) |
| 194.0ms | (exp.f32 (log1p.f32 (/.f32 (PI.f32) s))) |
| 1× | batch-egg-rewrite |
| 261× | expm1-log1p-u_binary32 |
| 260× | log1p-expm1-u_binary32 |
| 255× | add-log-exp_binary32 |
| 252× | add-exp-log_binary32 |
| 250× | add-cbrt-cube_binary32 |
2 calls:
| 61.0ms | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (PI.f32) s))) 1)))))) -1))) |
| 61.0ms | (exp.f32 (log1p.f32 (/.f32 (PI.f32) s))) |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 55 |
| 1 | 542 | 54 |
| 2 | 4880 | 54 |
| 3 | 4993 | 54 |
| 1× | egg-herbie |
| 652× | associate-*l*_binary32 |
| 448× | fma-def_binary32 |
| 258× | associate-*r/_binary32 |
| 256× | *-commutative_binary32 |
| 250× | associate-*l/_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 663 | 16983 |
| 1 | 2429 | 15284 |
| 2 | 5484 | 15284 |
8 alts after pruning (8 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 120 | 2 | 122 |
| Fresh | 0 | 6 | 6 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 121 | 8 | 129 |
| Status | Error | Program |
| 30.8b | (pow.f32 (sqrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 2) | |
| ▶ | 0.3b | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) 1)))))) -1))) |
| 23.9b | (log1p.f32 (-.f32 (pow.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1) (neg.f32 s)) 1)) | |
| 17.4b | (cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)) 3))) | |
| 0.8b | (pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3) | |
| 29.3b | (pow.f32 (pow.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))) 3) 1/3) | |
| 24.7b | (-.f32 (exp.f32 (log1p.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))) 1) | |
| 31.0b | (-.f32 (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4))))) (fma.f32 2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2)))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3))))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (*.f32 u (*.f32 u (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4))))) (fma.f32 (/.f32 (*.f32 s s) (PI.f32)) (/.f32 (*.f32 (/.f32 (PI.f32) s) (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) u)) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2)))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) u) (pow.f32 (/.f32 (PI.f32) s) 2))) (*.f32 (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2))) (pow.f32 (PI.f32) 2))) (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 3)))))))))) (fma.f32 (/.f32 (pow.f32 s 3) (pow.f32 (PI.f32) 2)) (/.f32 (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 3)))) (fma.f32 (/.f32 (*.f32 s s) (PI.f32)) (/.f32 (*.f32 (/.f32 (PI.f32) s) (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2)))) (fma.f32 s (log.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1)) (+.f32 (*.f32 (/.f32 (pow.f32 s 3) (pow.f32 (PI.f32) 2)) (+.f32 (/.f32 (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4)))) (/.f32 (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (*.f32 u (*.f32 u (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2)))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3)))))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) (pow.f32 (/.f32 (PI.f32) s) 2))) (*.f32 (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2))) (pow.f32 (PI.f32) 2))) (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3))))))))))) |
Compiled 25507 to 15401 computations (39.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) 1)))))) -1))) |
| 0.4b | (/.f32 (PI.f32) s) | |
| 0.4b | (/.f32 (neg.f32 (PI.f32)) s) | |
| ✓ | 0.5b | (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) |
2 calls:
| 635.0ms | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) 1)))))) -1))) |
| 33.0ms | (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) |
| 1× | batch-egg-rewrite |
| 287× | log1p-expm1-u_binary32 |
| 287× | expm1-log1p-u_binary32 |
| 274× | add-log-exp_binary32 |
| 271× | add-exp-log_binary32 |
| 269× | add-cbrt-cube_binary32 |
2 calls:
| 32.0ms | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) 1)))))) -1))) |
| 32.0ms | (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 27 | 60 |
| 1 | 600 | 54 |
| 2 | 5003 | 54 |
| 1× | egg-herbie |
| 654× | times-frac_binary32 |
| 435× | associate-/r*_binary32 |
| 417× | associate-/l*_binary32 |
| 310× | associate-*r*_binary32 |
| 273× | fma-def_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 376 | 4958 |
| 1 | 1376 | 4860 |
| 2 | 5307 | 4860 |
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 112 | 0 | 112 |
| Fresh | 0 | 7 | 7 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 112 | 8 | 120 |
| Status | Error | Program |
| 30.8b | (pow.f32 (sqrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 2) | |
| ✓ | 0.3b | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) 1)))))) -1))) |
| 23.9b | (log1p.f32 (-.f32 (pow.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1) (neg.f32 s)) 1)) | |
| 17.4b | (cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)) 3))) | |
| ▶ | 0.8b | (pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3) |
| 29.3b | (pow.f32 (pow.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))) 3) 1/3) | |
| 24.7b | (-.f32 (exp.f32 (log1p.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))) 1) | |
| 31.0b | (-.f32 (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4))))) (fma.f32 2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2)))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3))))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (*.f32 u (*.f32 u (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4))))) (fma.f32 (/.f32 (*.f32 s s) (PI.f32)) (/.f32 (*.f32 (/.f32 (PI.f32) s) (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) u)) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2)))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) u) (pow.f32 (/.f32 (PI.f32) s) 2))) (*.f32 (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2))) (pow.f32 (PI.f32) 2))) (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 3)))))))))) (fma.f32 (/.f32 (pow.f32 s 3) (pow.f32 (PI.f32) 2)) (/.f32 (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 3)))) (fma.f32 (/.f32 (*.f32 s s) (PI.f32)) (/.f32 (*.f32 (/.f32 (PI.f32) s) (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2)))) (fma.f32 s (log.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1)) (+.f32 (*.f32 (/.f32 (pow.f32 s 3) (pow.f32 (PI.f32) 2)) (+.f32 (/.f32 (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4)))) (/.f32 (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (*.f32 u (*.f32 u (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2)))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3)))))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) (pow.f32 (/.f32 (PI.f32) s) 2))) (*.f32 (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2))) (pow.f32 (PI.f32) 2))) (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3))))))))))) |
Compiled 11123 to 6778 computations (39.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.2b | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))) | |
| 0.4b | (/.f32 (PI.f32) s) | |
| 0.4b | (/.f32 (neg.f32 (PI.f32)) s) | |
| ✓ | 0.7b | (pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3) |
1 calls:
| 6.2s | (pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3) |
| 1× | batch-egg-rewrite |
| 257× | log1p-expm1-u_binary32 |
| 257× | expm1-log1p-u_binary32 |
| 252× | add-log-exp_binary32 |
| 249× | add-cbrt-cube_binary32 |
| 249× | add-exp-log_binary32 |
1 calls:
| 62.0ms | (pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 46 |
| 1 | 544 | 46 |
| 2 | 4839 | 46 |
| 3 | 4888 | 46 |
| 1× | egg-herbie |
| 886× | fma-def_binary32 |
| 372× | *-commutative_binary32 |
| 266× | +-commutative_binary32 |
| 240× | associate-+r+_binary32 |
| 179× | distribute-rgt-in_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 969 | 10964 |
| 1 | 3412 | 10605 |
| 2 | 4976 | 10271 |
| 3 | 4943 | 10177 |
| 4 | 4994 | 10177 |
| 5 | 4966 | 10177 |
9 alts after pruning (7 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 150 | 2 | 152 |
| Fresh | 1 | 5 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 151 | 9 | 160 |
| Status | Error | Program |
| 0.8b | (*.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) (pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 2)) | |
| 31.0b | (-.f32 (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4))))) (fma.f32 2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2)))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3))))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (*.f32 u (*.f32 u (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4))))) (fma.f32 (/.f32 (*.f32 s s) (PI.f32)) (/.f32 (*.f32 (/.f32 (PI.f32) s) (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) u)) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2)))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) u) (pow.f32 (/.f32 (PI.f32) s) 2))) (*.f32 (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2))) (pow.f32 (PI.f32) 2))) (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 3)))))))))) (fma.f32 (/.f32 (pow.f32 s 3) (pow.f32 (PI.f32) 2)) (/.f32 (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 3)))) (fma.f32 (/.f32 (*.f32 s s) (PI.f32)) (/.f32 (*.f32 (/.f32 (PI.f32) s) (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2)))) (fma.f32 s (log.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1)) (+.f32 (*.f32 (/.f32 (pow.f32 s 3) (pow.f32 (PI.f32) 2)) (+.f32 (/.f32 (*.f32 u (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 4) (*.f32 (pow.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4)))) (/.f32 (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (*.f32 u (*.f32 u (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2)))) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3)))))) (fma.f32 1/2 (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) (pow.f32 (/.f32 (PI.f32) s) 2))) (*.f32 (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 2) (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 2))) (pow.f32 (PI.f32) 2))) (/.f32 (*.f32 (pow.f32 s 3) (*.f32 (pow.f32 (/.f32 (PI.f32) s) 2) (pow.f32 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)) 2))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (+.f32 (/.f32 1 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))))) -1) (*.f32 (pow.f32 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))) 4) (pow.f32 (-.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1)))) (/.f32 u (+.f32 1 (exp.f32 (neg.f32 (/.f32 (PI.f32) s)))))) (/.f32 u (+.f32 1 (exp.f32 (+.f32 (/.f32 (PI.f32) s) -1))))) 3))))))))))) | |
| 23.9b | (log1p.f32 (-.f32 (pow.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1) (neg.f32 s)) 1)) | |
| 17.4b | (cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)) 3))) | |
| ✓ | 0.3b | (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (-.f32 (pow.f32 (sqrt.f32 (+.f32 1 (/.f32 (PI.f32) s))) 2) 1)))))) -1))) |
| ✓ | 0.8b | (pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3) |
| 29.3b | (pow.f32 (pow.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))) 3) 1/3) | |
| 24.7b | (-.f32 (exp.f32 (log1p.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))) 1) | |
| 1.4b | (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))) 2) 3) (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))) |
Compiled 22672 to 13377 computations (41% saved)
Total 0.1b remaining (42.7%)
Threshold costs 0.1b (42.7%)
Compiled 19242 to 13112 computations (31.9% saved)
| 1× | egg-herbie |
| 13× | +-commutative_binary32 |
| 8× | *-commutative_binary32 |
| 8× | sub-neg_binary32 |
| 6× | neg-sub0_binary32 |
| 6× | neg-mul-1_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 26 | 56 |
| 1 | 45 | 56 |
| 2 | 60 | 56 |
| 3 | 71 | 56 |
| 4 | 76 | 56 |
| 5 | 77 | 56 |
| 6 | 75 | 56 |
Compiled 1695 to 1144 computations (32.5% saved)
Loading profile data...