Time bar (total: 1.2min)
| 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.1s | 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 | (+.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.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))) |
| ✓ | 0.4b | (/.f32 (PI.f32) s) |
| ✓ | 0.4b | (/.f32 (neg.f32 (PI.f32)) s) |
4 calls:
| 633.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))) |
| 100.0ms | (+.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 | (/.f32 (PI.f32) s) |
| 3.0ms | (/.f32 (neg.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:
| 74.0ms | (+.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) |
| 74.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))) |
| 74.0ms | (/.f32 (PI.f32) s) |
| 74.0ms | (/.f32 (neg.f32 (PI.f32)) s) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 97 |
| 1 | 496 | 97 |
| 2 | 4969 | 97 |
| 3 | 5231 | 97 |
| 1× | egg-herbie |
| 809× | fma-def_binary32 |
| 636× | associate-/l*_binary32 |
| 627× | associate-/r*_binary32 |
| 186× | +-commutative_binary32 |
| 159× | *-commutative_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 561 | 8298 |
| 1 | 2057 | 8190 |
| 2 | 4986 | 8095 |
| 3 | 5335 | 8095 |
8 alts after pruning (8 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 141 | 8 | 149 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 142 | 8 | 150 |
| Status | Error | Program |
| 0.9b | (*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.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))) 2)) (cbrt.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)))))) | |
| ▶ | 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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1))) |
| 17.6b | (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))) | |
| 24.2b | (log.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))) | |
| 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.5b | (*.f32 (neg.f32 s) (log.f32 (pow.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) 3) 1/3))) | |
| 0.3b | (*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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 (neg.f32 s) (log.f32 (/.f32 (+.f32 (pow.f32 (+.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))))) -3) -1) (+.f32 (pow.f32 (+.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))))) -2) (-.f32 1 (*.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 12558 to 7119 computations (43.3% saved)
Found 4 expressions with local error:
| New | 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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1))) |
| ✓ | 0.3b | (/.f32 s (PI.f32)) |
| ✓ | 0.3b | (pow.f32 (/.f32 s (PI.f32)) -1) |
| 0.4b | (/.f32 (neg.f32 (PI.f32)) s) |
3 calls:
| 799.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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1))) |
| 11.0ms | (pow.f32 (/.f32 s (PI.f32)) -1) |
| 6.0ms | (/.f32 s (PI.f32)) |
| 1× | batch-egg-rewrite |
| 264× | add-sqr-sqrt_binary32 |
| 251× | log1p-expm1-u_binary32 |
| 251× | expm1-log1p-u_binary32 |
| 247× | add-log-exp_binary32 |
| 244× | add-exp-log_binary32 |
3 calls:
| 37.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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1))) |
| 37.0ms | (/.f32 s (PI.f32)) |
| 37.0ms | (pow.f32 (/.f32 s (PI.f32)) -1) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 23 | 62 |
| 1 | 524 | 62 |
| 2 | 5171 | 62 |
| 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 | 380 | 4992 |
| 1 | 1385 | 4894 |
| 2 | 5321 | 4894 |
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 114 | 0 | 114 |
| Fresh | 0 | 7 | 7 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 114 | 8 | 122 |
| Status | Error | Program |
| 0.9b | (*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.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))) 2)) (cbrt.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)))))) | |
| ✓ | 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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1))) |
| 17.6b | (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))) | |
| 24.2b | (log.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))) | |
| 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.5b | (*.f32 (neg.f32 s) (log.f32 (pow.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) 3) 1/3))) | |
| ▶ | 0.3b | (*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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 (neg.f32 s) (log.f32 (/.f32 (+.f32 (pow.f32 (+.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))))) -3) -1) (+.f32 (pow.f32 (+.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))))) -2) (-.f32 1 (*.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 8615 to 5105 computations (40.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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.5b | (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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 calls:
| 21.8s | (*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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)))) |
| 723.0ms | (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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× | batch-egg-rewrite |
| 285× | log1p-expm1-u_binary32 |
| 285× | expm1-log1p-u_binary32 |
| 280× | add-log-exp_binary32 |
| 277× | add-exp-log_binary32 |
| 275× | add-cbrt-cube_binary32 |
2 calls:
| 44.0ms | (*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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)))) |
| 43.0ms | (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (-.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)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 26 | 167 |
| 1 | 598 | 167 |
| 2 | 5151 | 167 |
| 1× | egg-herbie |
| 1116× | fma-def_binary32 |
| 836× | times-frac_binary32 |
| 11× | unpow2_binary32 |
| 10× | cube-mult_binary32 |
| 10× | unpow3_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 3537 | 87059 |
| 1 | 5810 | 87059 |
9 alts after pruning (8 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 181 | 2 | 183 |
| Fresh | 0 | 6 | 6 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 182 | 9 | 191 |
| Status | Error | Program |
| 0.9b | (*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.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))) 2)) (cbrt.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)))))) | |
| ✓ | 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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1))) |
| 17.6b | (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))) | |
| 24.2b | (log.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))) | |
| 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.5b | (*.f32 (neg.f32 s) (log.f32 (pow.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) 3) 1/3))) | |
| 31.2b | (exp.f32 (log.f32 (*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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 (neg.f32 s) (log.f32 (/.f32 (+.f32 (pow.f32 (+.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))))) -3) -1) (+.f32 (pow.f32 (+.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))))) -2) (-.f32 1 (*.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 (neg.f32 s) (log.f32 (pow.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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))) |
Compiled 114441 to 62868 computations (45.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.4b | (/.f32 (PI.f32) s) | |
| 0.4b | (/.f32 (neg.f32 (PI.f32)) s) | |
| ✓ | 0.5b | (pow.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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.5b | (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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 calls:
| 37.1s | (pow.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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) |
| 726.0ms | (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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× | batch-egg-rewrite |
| 273× | log1p-expm1-u_binary32 |
| 273× | expm1-log1p-u_binary32 |
| 266× | add-log-exp_binary32 |
| 263× | add-exp-log_binary32 |
| 260× | add-cbrt-cube_binary32 |
2 calls:
| 74.0ms | (pow.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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) |
| 74.0ms | (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 160 |
| 1 | 568 | 160 |
| 2 | 4970 | 160 |
| 3 | 5060 | 160 |
| 1× | egg-herbie |
| 1430× | fma-def_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4332 | 131734 |
| 1 | 5762 | 131734 |
10 alts after pruning (8 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 150 | 1 | 151 |
| Fresh | 0 | 7 | 7 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 150 | 10 | 160 |
| Status | Error | Program |
| 0.9b | (*.f32 (neg.f32 s) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.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))) 2)) (cbrt.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)))))) | |
| ✓ | 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 (pow.f32 (/.f32 s (PI.f32)) -1)))))) -1))) |
| 17.6b | (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))) | |
| 24.2b | (log.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))) | |
| 0.5b | (*.f32 (neg.f32 s) (log.f32 (pow.f32 (sqrt.f32 (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.f32 1 (/.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)))))))))) 2) 2) (pow.f32 (cbrt.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.f32 1 (/.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)))))))))) 2))) 2))) | |
| 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.5b | (*.f32 (neg.f32 s) (log.f32 (pow.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) 3) 1/3))) | |
| 31.2b | (exp.f32 (log.f32 (*.f32 (neg.f32 s) (log.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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 (neg.f32 s) (log.f32 (/.f32 (+.f32 (pow.f32 (+.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))))) -3) -1) (+.f32 (pow.f32 (+.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))))) -2) (-.f32 1 (*.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 (neg.f32 s) (log.f32 (pow.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (+.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))))) -2) 1) (+.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))) |
Compiled 165877 to 90105 computations (45.7% saved)
Total 0.2b remaining (61.2%)
Threshold costs 0.2b (61.2%)
Compiled 13062 to 9395 computations (28.1% saved)
| 1× | egg-herbie |
| 12× | +-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 | 90 |
| 1 | 45 | 90 |
| 2 | 60 | 90 |
| 3 | 71 | 90 |
| 4 | 76 | 90 |
| 5 | 77 | 90 |
| 6 | 75 | 90 |
Compiled 653 to 471 computations (27.9% saved)
Loading profile data...