Time bar (total: 10.9s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 0.1% | 99.9% | 0 |
| 0% | 0.1% | 99.9% | 1 |
| 0% | 0.1% | 99.9% | 2 |
| 0.1% | 0.1% | 99.9% | 3 |
| 0.1% | 0.1% | 99.9% | 4 |
| 0.1% | 0% | 99.9% | 5 |
| 0.1% | 0% | 99.9% | 6 |
| 0.1% | 0% | 99.9% | 7 |
| 0.1% | 0% | 99.9% | 8 |
| 0.1% | 0% | 99.9% | 9 |
| 0.1% | 0% | 99.9% | 10 |
| 0.1% | 0% | 99.9% | 11 |
| 0.1% | 0% | 99.9% | 12 |
Compiled 31 to 25 computations (19.4% saved)
| 2.4s | 8256× | body | 256 | valid |
| 2× | egg-herbie |
| 1397× | fma-def_binary32 |
| 1070× | fma-neg_binary32 |
| 423× | unsub-neg_binary32 |
| 358× | cancel-sign-sub-inv_binary32 |
| 325× | sub-neg_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 40 |
| 1 | 52 | 38 |
| 2 | 105 | 34 |
| 3 | 249 | 30 |
| 4 | 434 | 30 |
| 5 | 593 | 30 |
| 6 | 786 | 26 |
| 7 | 1145 | 26 |
| 8 | 1883 | 26 |
| 9 | 2514 | 26 |
| 10 | 2668 | 26 |
| 11 | 3151 | 26 |
| 12 | 3668 | 26 |
| 13 | 3829 | 26 |
| 14 | 3923 | 26 |
| 15 | 4583 | 26 |
| 16 | 4755 | 26 |
| 17 | 5014 | 26 |
| 18 | 5470 | 26 |
| 19 | 6469 | 26 |
| 20 | 7827 | 26 |
| 0 | 2 | 2 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
| Outputs |
|---|
0 |
1 |
| Inputs |
|---|
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
(*.f32 (*.f32 3 u) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 s 1/4) 3/4))))) |
| Outputs |
|---|
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 u 3/4) 1/3))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (/.f32 (neg.f32 (+.f32 u -1/4)) 3/4)))) |
(*.f32 s (*.f32 -3 (log1p.f32 (neg.f32 (/.f32 (+.f32 u -1/4) 3/4))))) |
(*.f32 s (*.f32 (log.f32 (-.f32 4/3 (/.f32 u 3/4))) -3)) |
(*.f32 s (*.f32 (log.f32 (+.f32 (/.f32 u -3/4) 4/3)) -3)) |
(*.f32 s (*.f32 (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)) -3)) |
(*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
(*.f32 s (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) -3)) |
(*.f32 (*.f32 3 u) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 s 1/4) 3/4))))) |
(*.f32 (*.f32 3 u) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 s 3/4) 1/3))))) |
(*.f32 u (*.f32 3 (neg.f32 (log1p.f32 (/.f32 (neg.f32 (+.f32 s -1/4)) 3/4))))) |
(*.f32 u (*.f32 -3 (log1p.f32 (/.f32 (neg.f32 (+.f32 s -1/4)) 3/4)))) |
(*.f32 u (*.f32 (log.f32 (-.f32 4/3 (/.f32 s 3/4))) -3)) |
(*.f32 u (*.f32 (log1p.f32 (*.f32 -4/3 (+.f32 s -1/4))) -3)) |
(*.f32 (log.f32 (+.f32 (*.f32 -4/3 s) 4/3)) (*.f32 u -3)) |
(*.f32 (log.f32 (fma.f32 -4/3 s 4/3)) (*.f32 u -3)) |
(*.f32 (log.f32 (fma.f32 s -4/3 4/3)) (*.f32 u -3)) |
Compiled 18 to 16 computations (11.1% saved)
| 1× | egg-herbie |
| 738× | fma-def_binary32 |
| 494× | fma-neg_binary32 |
| 130× | cancel-sign-sub-inv_binary32 |
| 102× | distribute-rgt-in_binary32 |
| 88× | sub-neg_binary32 |
Useful iterations: 6 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 20 |
| 1 | 33 | 19 |
| 2 | 61 | 17 |
| 3 | 139 | 15 |
| 4 | 241 | 15 |
| 5 | 333 | 15 |
| 6 | 440 | 13 |
| 7 | 634 | 13 |
| 8 | 1017 | 13 |
| 9 | 1258 | 13 |
| 10 | 1642 | 13 |
| 11 | 1906 | 13 |
| 12 | 2344 | 13 |
| 13 | 2660 | 13 |
| 14 | 2695 | 13 |
| 15 | 2696 | 13 |
| 16 | 2696 | 13 |
| 1× | saturated |
| Inputs |
|---|
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
| Outputs |
|---|
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
(*.f32 3 (*.f32 s (neg.f32 (log.f32 (-.f32 1 (/.f32 (+.f32 u -1/4) 3/4)))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (/.f32 (neg.f32 (+.f32 u -1/4)) 3/4)))) |
(*.f32 s (*.f32 -3 (log1p.f32 (/.f32 (+.f32 1/4 (neg.f32 u)) 3/4)))) |
(*.f32 s (*.f32 (log.f32 (-.f32 4/3 (/.f32 u 3/4))) -3)) |
(*.f32 s (*.f32 (log.f32 (+.f32 (/.f32 u -3/4) 4/3)) -3)) |
(*.f32 s (*.f32 (log1p.f32 (+.f32 1/3 (*.f32 u -4/3))) -3)) |
(*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
Compiled 25 to 21 computations (16% saved)
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 |
|---|---|---|
| ▶ | 1.2b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
| ▶ | 0.7b | (*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
Compiled 27 to 23 computations (14.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
| ✓ | 0.3b | (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) |
| ✓ | 0.3b | (fma.f32 u -4/3 1/3) |
| ✓ | 0.4b | (log1p.f32 (fma.f32 u -4/3 1/3)) |
Compiled 32 to 25 computations (21.9% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 99.0ms | s | @ | 0 | (*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
| 1.0ms | s | @ | inf | (*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
| 1.0ms | u | @ | -inf | (*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
| 1.0ms | u | @ | inf | (log1p.f32 (fma.f32 u -4/3 1/3)) |
| 1.0ms | u | @ | inf | (*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
| 1× | batch-egg-rewrite |
| 888× | pow1_binary32 |
| 823× | add-log-exp_binary32 |
| 823× | expm1-log1p-u_binary32 |
| 822× | log1p-expm1-u_binary32 |
| 808× | add-exp-log_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 35 |
| 1 | 202 | 35 |
| 2 | 2216 | 35 |
| 1× | node limit |
| Inputs |
|---|
(log1p.f32 (fma.f32 u -4/3 1/3)) |
(fma.f32 u -4/3 1/3) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) |
(*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (log1p.f32 (fma.f32 u -4/3 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 (fma.f32 u -4/3 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1/3 (*.f32 u -4/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 u -4/3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 u -4/3) 1) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 u -4/3 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 u -4/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) (pow.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) 2) (cbrt.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 u -4/3 1/3)) (sqrt.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 3) 1/27) (+.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) (-.f32 1/9 (*.f32 (*.f32 u -4/3) 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 u -4/3 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u -4/3 1/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 u -4/3 1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 u -4/3 1/3))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2) 9))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3) s))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 3) (pow.f32 s 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 s 3) (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)))))))) |
| 1× | egg-herbie |
| 493× | fma-def_binary32 |
| 404× | +-commutative_binary32 |
| 402× | associate-+l-_binary32 |
| 361× | times-frac_binary32 |
| 350× | unsub-neg_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 102 | 1020 |
| 1 | 314 | 963 |
| 2 | 912 | 928 |
| 3 | 2753 | 914 |
| 4 | 6899 | 914 |
| 1× | node limit |
| Inputs |
|---|
(log.f32 4/3) |
(+.f32 (log.f32 4/3) (*.f32 -1 u)) |
(+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u))) |
(+.f32 (*.f32 -1/3 (pow.f32 u 3)) (+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u)))) |
(+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (/.f32 1 u)) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
(+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (/.f32 1 u)) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
1/3 |
(+.f32 (*.f32 -4/3 u) 1/3) |
(+.f32 (*.f32 -4/3 u) 1/3) |
(+.f32 (*.f32 -4/3 u) 1/3) |
(*.f32 -4/3 u) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(*.f32 -4/3 u) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(*.f32 -3 (log.f32 4/3)) |
(+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))))) |
(*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) |
(+.f32 (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (*.f32 3 (/.f32 1 u))) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))))) |
(*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) |
(+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 4/3))) |
(+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3)))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3))))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 -3 (*.f32 s (log.f32 4/3)))))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
| Outputs |
|---|
(log.f32 4/3) |
(+.f32 (log.f32 4/3) (*.f32 -1 u)) |
(+.f32 (log.f32 4/3) (neg.f32 u)) |
(-.f32 (log.f32 4/3) u) |
(+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u))) |
(+.f32 (log.f32 4/3) (fma.f32 -1/2 (*.f32 u u) (neg.f32 u))) |
(+.f32 (log.f32 4/3) (-.f32 (*.f32 u (*.f32 u -1/2)) u)) |
(-.f32 (fma.f32 u (*.f32 u -1/2) (log.f32 4/3)) u) |
(+.f32 (*.f32 -1/3 (pow.f32 u 3)) (+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u)))) |
(fma.f32 -1/3 (pow.f32 u 3) (+.f32 (log.f32 4/3) (fma.f32 -1/2 (*.f32 u u) (neg.f32 u)))) |
(+.f32 (-.f32 (*.f32 u (*.f32 u -1/2)) u) (fma.f32 -1/3 (pow.f32 u 3) (log.f32 4/3))) |
(-.f32 (fma.f32 -1/3 (pow.f32 u 3) (fma.f32 u (*.f32 u -1/2) (log.f32 4/3))) u) |
(+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) |
(fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) |
(+.f32 (log.f32 -4/3) (log.f32 u)) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (/.f32 1 u)) |
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (/.f32 1 u)) |
(+.f32 (log.f32 -4/3) (-.f32 (log.f32 u) (/.f32 1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (log.f32 -4/3) (-.f32 (log.f32 u) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u))))) |
(+.f32 (log.f32 -4/3) (+.f32 (-.f32 (log.f32 u) (/.f32 1 u)) (/.f32 -1/2 (*.f32 u u)))) |
(+.f32 (log.f32 -4/3) (+.f32 (/.f32 -1/2 (*.f32 u u)) (-.f32 (log.f32 u) (/.f32 1 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) |
(-.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) |
(+.f32 (log.f32 -4/3) (-.f32 (log.f32 u) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3)))))) |
(+.f32 (+.f32 (log.f32 -4/3) (-.f32 (log.f32 u) (/.f32 1 u))) (-.f32 (/.f32 -1/2 (*.f32 u u)) (/.f32 1/3 (pow.f32 u 3)))) |
(+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) |
(fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) |
(-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (/.f32 1 u)) |
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (/.f32 1 u)) |
(+.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 -1 u)) |
(-.f32 (+.f32 (log.f32 4/3) (/.f32 -1 u)) (log.f32 (/.f32 -1 u))) |
(+.f32 (log.f32 4/3) (-.f32 (/.f32 -1 u) (log.f32 (/.f32 -1 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (-.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 1/2 (*.f32 u u))) (/.f32 -1 u)) |
(-.f32 (+.f32 (log.f32 4/3) (+.f32 (/.f32 -1 u) (/.f32 -1/2 (*.f32 u u)))) (log.f32 (/.f32 -1 u))) |
(+.f32 (+.f32 (log.f32 4/3) (-.f32 (/.f32 -1 u) (log.f32 (/.f32 -1 u)))) (/.f32 -1/2 (*.f32 u u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) |
(-.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) |
(+.f32 (-.f32 (log.f32 4/3) (+.f32 (log.f32 (/.f32 -1 u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) (/.f32 -1/2 (*.f32 u u))) |
(+.f32 (+.f32 (log.f32 4/3) (-.f32 (/.f32 -1 u) (log.f32 (/.f32 -1 u)))) (-.f32 (/.f32 -1/2 (*.f32 u u)) (/.f32 1/3 (pow.f32 u 3)))) |
1/3 |
(+.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(+.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(+.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(*.f32 -4/3 u) |
(*.f32 u -4/3) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(*.f32 -4/3 u) |
(*.f32 u -4/3) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(*.f32 -3 (log.f32 4/3)) |
(*.f32 (log.f32 4/3) -3) |
(+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))) |
(fma.f32 3 u (*.f32 (log.f32 4/3) -3)) |
(fma.f32 (log.f32 4/3) -3 (*.f32 u 3)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) |
(fma.f32 3/2 (*.f32 u u) (fma.f32 3 u (*.f32 (log.f32 4/3) -3))) |
(fma.f32 (*.f32 u u) 3/2 (fma.f32 (log.f32 4/3) -3 (*.f32 u 3))) |
(fma.f32 (log.f32 4/3) -3 (*.f32 u (+.f32 3 (*.f32 u 3/2)))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))))) |
(+.f32 (pow.f32 u 3) (fma.f32 3/2 (*.f32 u u) (fma.f32 3 u (*.f32 (log.f32 4/3) -3)))) |
(+.f32 (fma.f32 (log.f32 4/3) -3 (*.f32 u 3)) (*.f32 (*.f32 u u) (+.f32 u 3/2))) |
(fma.f32 (*.f32 u u) (+.f32 u 3/2) (fma.f32 (log.f32 4/3) -3 (*.f32 u 3))) |
(*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) |
(*.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) -3) |
(*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) -3) |
(+.f32 (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (*.f32 3 (/.f32 1 u))) |
(fma.f32 -3 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (/.f32 3 u)) |
(fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) -3 (/.f32 3 u)) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 -3 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (/.f32 3 u))) |
(+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) -3 (/.f32 3 u))) |
(+.f32 (/.f32 3 u) (fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) -3 (/.f32 3/2 (*.f32 u u)))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))))) |
(+.f32 (+.f32 (/.f32 1 (pow.f32 u 3)) (/.f32 3/2 (*.f32 u u))) (fma.f32 -3 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (/.f32 3 u))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) -3 (/.f32 3 u)))) |
(+.f32 (fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) -3 (/.f32 3/2 (*.f32 u u))) (+.f32 (/.f32 3 u) (/.f32 1 (pow.f32 u 3)))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (/.f32 3 u) (fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) -3 (/.f32 3/2 (*.f32 u u))))) |
(*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) |
(*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) -3) |
(*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) -3) |
(+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (/.f32 3 u) (*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) -3)) |
(fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) -3 (/.f32 3 u)) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (+.f32 (/.f32 3/2 (*.f32 u u)) (/.f32 3 u)) (*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) -3)) |
(+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) -3 (/.f32 3 u))) |
(+.f32 (/.f32 3 u) (fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) -3 (/.f32 3/2 (*.f32 u u)))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (+.f32 (/.f32 3/2 (*.f32 u u)) (/.f32 3 u)) (*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) -3))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) -3 (/.f32 3 u)))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (/.f32 3 u) (fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) -3 (/.f32 3/2 (*.f32 u u))))) |
(+.f32 (fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) -3 (/.f32 3 u)) (+.f32 (/.f32 1 (pow.f32 u 3)) (/.f32 3/2 (*.f32 u u)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 4/3))) |
(*.f32 -3 (*.f32 (log.f32 4/3) s)) |
(*.f32 (log.f32 4/3) (*.f32 -3 s)) |
(+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3)))) |
(fma.f32 3 (*.f32 u s) (*.f32 -3 (*.f32 (log.f32 4/3) s))) |
(fma.f32 -3 (*.f32 (log.f32 4/3) s) (*.f32 3 (*.f32 u s))) |
(*.f32 s (fma.f32 (log.f32 4/3) -3 (*.f32 u 3))) |
(*.f32 (fma.f32 (log.f32 4/3) -3 (*.f32 u 3)) s) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3))))) |
(fma.f32 3/2 (*.f32 (*.f32 u u) s) (fma.f32 3 (*.f32 u s) (*.f32 -3 (*.f32 (log.f32 4/3) s)))) |
(fma.f32 3/2 (*.f32 u (*.f32 u s)) (fma.f32 -3 (*.f32 (log.f32 4/3) s) (*.f32 3 (*.f32 u s)))) |
(fma.f32 (log.f32 4/3) (*.f32 -3 s) (*.f32 s (*.f32 u (+.f32 3 (*.f32 u 3/2))))) |
(*.f32 s (fma.f32 (log.f32 4/3) -3 (*.f32 u (+.f32 3 (*.f32 u 3/2))))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 -3 (*.f32 s (log.f32 4/3)))))) |
(fma.f32 3/2 (*.f32 (*.f32 u u) s) (fma.f32 3 (*.f32 u s) (fma.f32 s (pow.f32 u 3) (*.f32 -3 (*.f32 (log.f32 4/3) s))))) |
(fma.f32 3/2 (*.f32 u (*.f32 u s)) (fma.f32 3 (*.f32 u s) (fma.f32 (pow.f32 u 3) s (*.f32 (log.f32 4/3) (*.f32 -3 s))))) |
(+.f32 (*.f32 s (fma.f32 (log.f32 4/3) -3 (pow.f32 u 3))) (*.f32 s (*.f32 u (+.f32 3 (*.f32 u 3/2))))) |
(*.f32 s (fma.f32 (*.f32 u u) (+.f32 u 3/2) (fma.f32 (log.f32 4/3) -3 (*.f32 u 3)))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) |
(*.f32 (*.f32 -3 s) (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3))) |
(*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s)) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(fma.f32 3 (/.f32 s u) (*.f32 (*.f32 -3 s) (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)))) |
(fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) s) (*.f32 3 (/.f32 s u))) |
(fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (*.f32 3 (/.f32 s u))) |
(*.f32 s (fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) -3 (/.f32 3 u))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 (/.f32 3/2 u) 3))) |
(fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(+.f32 (fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) (/.f32 s (pow.f32 u 3))) |
(+.f32 (fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) (/.f32 s (pow.f32 u 3))) |
(+.f32 (fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 (/.f32 3/2 u) 3))) (/.f32 s (pow.f32 u 3))) |
(+.f32 (fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) (/.f32 s (pow.f32 u 3))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(*.f32 (*.f32 -3 s) (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3))) |
(*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s)) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(fma.f32 3 (/.f32 s u) (*.f32 (*.f32 -3 s) (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)))) |
(fma.f32 3 (/.f32 s u) (*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s))) |
(fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s) (*.f32 3 (/.f32 s u))) |
(*.f32 s (fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) -3 (/.f32 3 u))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 3/2 (/.f32 s (*.f32 u u)) (*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s)))) |
(fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 (/.f32 3/2 u) 3))) |
(fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) s) (*.f32 3/2 (/.f32 s (*.f32 u u)))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 3 (/.f32 s u) (fma.f32 3/2 (/.f32 s (*.f32 u u)) (*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 (/.f32 3/2 u) 3)))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))) |
| ✓ | 0.3b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
| ✓ | 0.5b | (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)) |
| ✓ | 0.9b | (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))) |
Compiled 59 to 49 computations (16.9% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 35.0ms | s | @ | 0 | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
| 6.0ms | u | @ | -inf | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
| 3.0ms | u | @ | -inf | (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)) |
| 1.0ms | u | @ | inf | (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))) |
| 1.0ms | u | @ | 0 | (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))) |
| 1× | batch-egg-rewrite |
| 657× | log-prod_binary32 |
| 380× | pow2_binary32 |
| 288× | prod-diff_binary32 |
| 264× | expm1-udef_binary32 |
| 263× | pow1/3_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 57 |
| 1 | 316 | 51 |
| 2 | 3884 | 47 |
| 1× | node limit |
| Inputs |
|---|
(log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))) |
(-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)) |
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
(/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 -1/2 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) (*.f32 -1/2 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 -1) (log.f32 (/.f32 1 (neg.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (cbrt.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) -2))) (*.f32 1/3 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/3 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) (log.f32 (cbrt.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (/.f32 1 (cbrt.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) 2)))) (*.f32 1/3 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (/.f32 1 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 3)))) (log1p.f32 (+.f32 (fma.f32 u 4/3 -1/3) (pow.f32 (fma.f32 u 4/3 -1/3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (/.f32 1 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 2)))) (log1p.f32 (fma.f32 u 4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (log.f32 (neg.f32 (neg.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 -1/2 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) (*.f32 1/2 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 -1) (log.f32 (neg.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (/.f32 1 (cbrt.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) 2)))) (*.f32 1/3 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 3 (*.f32 1/3 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) 2)) (cbrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) (sqrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/3 (*.f32 3 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 -1/2 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 0 (pow.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) 3)) (+.f32 0 (+.f32 (pow.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) 2) (*.f32 0 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 0 (pow.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) 2)) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (log.f32 (neg.f32 (neg.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 (+.f32 u -1/4) -4/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 (*.f32 (+.f32 u -1/4) -4/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (-.f32 1 (fma.f32 u 4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (+.f32 u -1/4) -4/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (*.f32 u 4/3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)))) 2)) (log.f32 (cbrt.f32 (exp.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))))) (log.f32 (sqrt.f32 (exp.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))) (cbrt.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) 2)) (cbrt.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))) (sqrt.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 3)) (/.f32 1 (fma.f32 (fma.f32 u 4/3 -1/3) (+.f32 1 (fma.f32 u 4/3 -1/3)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 2)) (/.f32 1 (+.f32 1 (fma.f32 u 4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 (fma.f32 u 4/3 -1/3) (+.f32 1 (fma.f32 u 4/3 -1/3)) 1) (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 1 (fma.f32 u 4/3 -1/3)) (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (cbrt.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) 2)) (/.f32 1 (cbrt.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))) (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 3)) (fma.f32 (fma.f32 u 4/3 -1/3) (+.f32 1 (fma.f32 u 4/3 -1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 2)) (+.f32 1 (fma.f32 u 4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 3))) (neg.f32 (fma.f32 (fma.f32 u 4/3 -1/3) (+.f32 1 (fma.f32 u 4/3 -1/3)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 2))) (neg.f32 (+.f32 1 (fma.f32 u 4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (*.f32 (+.f32 u -1/4) -4/3) 3)) (+.f32 1 (-.f32 (pow.f32 (*.f32 (+.f32 u -1/4) -4/3) 2) (*.f32 (+.f32 u -1/4) -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (*.f32 (+.f32 u -1/4) -4/3) 2)) (-.f32 1 (*.f32 (+.f32 u -1/4) -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (fma.f32 (fma.f32 u 4/3 -1/3) (+.f32 1 (fma.f32 u 4/3 -1/3)) 1) (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (+.f32 1 (fma.f32 u 4/3 -1/3)) (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (-.f32 1 (fma.f32 u 4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 (+.f32 u -1/4) -4/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 u -1/4) -4/3 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 u 4/3 -1/3)) 2) (neg.f32 (cbrt.f32 (fma.f32 u 4/3 -1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 u 4/3 -1/3)) (neg.f32 (sqrt.f32 (fma.f32 u 4/3 -1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -1 (fma.f32 u 4/3 -1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (neg.f32 u) 1/4) 4/3 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 (+.f32 u -1/4) -4/3)) 2) (cbrt.f32 (*.f32 (+.f32 u -1/4) -4/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 (+.f32 u -1/4) -4/3)) (sqrt.f32 (*.f32 (+.f32 u -1/4) -4/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 (pow.f32 (cbrt.f32 (fma.f32 u 4/3 -1/3)) 2)) (cbrt.f32 (fma.f32 u 4/3 -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 (sqrt.f32 (fma.f32 u 4/3 -1/3))) (sqrt.f32 (fma.f32 u 4/3 -1/3)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))) (*.f32 3 s))) 2)) (log.f32 (cbrt.f32 (pow.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))) (*.f32 3 s)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))) (*.f32 3 s)))) (log.f32 (sqrt.f32 (pow.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))) (*.f32 3 s)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) 3) (pow.f32 (*.f32 3 s) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (*.f32 3 s) 3) (pow.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (*.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) (*.f32 3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))) (*.f32 3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) 3) (pow.f32 (*.f32 3 s) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 3 s) 3) (pow.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (cbrt.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)))) (cbrt.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) -2)) (/.f32 1 (cbrt.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) -1/2) (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (/.f32 1 (neg.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (cbrt.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) 2))) (/.f32 1 (cbrt.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 3))) (fma.f32 (fma.f32 u 4/3 -1/3) (+.f32 1 (fma.f32 u 4/3 -1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 2))) (+.f32 1 (fma.f32 u 4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (E.f32) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (cbrt.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) 2))) (cbrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))) (sqrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (neg.f32 (neg.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (-.f32 1 (fma.f32 u 4/3 -1/3)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 1 (-.f32 1 (fma.f32 u 4/3 -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) -1)))))) |
| 1× | egg-herbie |
| 578× | fma-def_binary32 |
| 379× | associate-*l*_binary32 |
| 319× | associate-+l+_binary32 |
| 298× | associate-*r*_binary32 |
| 293× | distribute-lft-out_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 110 | 1016 |
| 1 | 334 | 924 |
| 2 | 1038 | 859 |
| 3 | 3407 | 853 |
| 1× | node limit |
| Inputs |
|---|
(log.f32 3/4) |
(+.f32 (log.f32 3/4) u) |
(+.f32 (*.f32 1/2 (pow.f32 u 2)) (+.f32 (log.f32 3/4) u)) |
(+.f32 (*.f32 1/2 (pow.f32 u 2)) (+.f32 (log.f32 3/4) (+.f32 u (*.f32 1/3 (pow.f32 u 3))))) |
(+.f32 (log.f32 -3/4) (log.f32 (/.f32 1 u))) |
(+.f32 (log.f32 -3/4) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 -3/4) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u)))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 -3/4) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u))))) |
(+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)) |
(+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4))))) |
4/3 |
(+.f32 (*.f32 -4/3 u) 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(*.f32 -4/3 u) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(*.f32 -4/3 u) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u)))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (+.f32 (*.f32 3 (*.f32 s u)) (*.f32 s (pow.f32 u 3))))) |
(*.f32 3 (*.f32 s (+.f32 (log.f32 -3/4) (log.f32 (/.f32 1 u))))) |
(+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 -3/4) (log.f32 (/.f32 1 u))))) (*.f32 3 (/.f32 s u))) |
(+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 -3/4) (log.f32 (/.f32 1 u))))) (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 -3/4) (log.f32 (/.f32 1 u))))) (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(*.f32 3 (*.f32 s (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)))) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3 (*.f32 s (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
3/4 |
(+.f32 (*.f32 3/4 u) 3/4) |
(+.f32 (*.f32 3/4 u) (+.f32 3/4 (*.f32 3/4 (pow.f32 u 2)))) |
(+.f32 (*.f32 3/4 u) (+.f32 3/4 (+.f32 (*.f32 3/4 (pow.f32 u 2)) (*.f32 3/4 (pow.f32 u 3))))) |
(/.f32 -3/4 u) |
(neg.f32 (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 2))) (*.f32 3/4 (/.f32 1 u)))) |
(neg.f32 (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 3))) (+.f32 (*.f32 3/4 (/.f32 1 u)) (*.f32 3/4 (/.f32 1 (pow.f32 u 2)))))) |
(neg.f32 (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 3))) (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 4))) (+.f32 (*.f32 3/4 (/.f32 1 u)) (*.f32 3/4 (/.f32 1 (pow.f32 u 2))))))) |
(/.f32 -3/4 u) |
(neg.f32 (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 2))) (*.f32 3/4 (/.f32 1 u)))) |
(neg.f32 (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 3))) (+.f32 (*.f32 3/4 (/.f32 1 u)) (*.f32 3/4 (/.f32 1 (pow.f32 u 2)))))) |
(neg.f32 (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 3))) (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 4))) (+.f32 (*.f32 3/4 (/.f32 1 u)) (*.f32 3/4 (/.f32 1 (pow.f32 u 2))))))) |
| Outputs |
|---|
(log.f32 3/4) |
(+.f32 (log.f32 3/4) u) |
(+.f32 (*.f32 1/2 (pow.f32 u 2)) (+.f32 (log.f32 3/4) u)) |
(fma.f32 1/2 (*.f32 u u) (+.f32 (log.f32 3/4) u)) |
(+.f32 u (fma.f32 1/2 (*.f32 u u) (log.f32 3/4))) |
(+.f32 (log.f32 3/4) (fma.f32 u (*.f32 u 1/2) u)) |
(+.f32 (*.f32 1/2 (pow.f32 u 2)) (+.f32 (log.f32 3/4) (+.f32 u (*.f32 1/3 (pow.f32 u 3))))) |
(fma.f32 1/2 (*.f32 u u) (+.f32 (+.f32 (log.f32 3/4) u) (*.f32 1/3 (pow.f32 u 3)))) |
(+.f32 (fma.f32 1/3 (pow.f32 u 3) u) (fma.f32 1/2 (*.f32 u u) (log.f32 3/4))) |
(+.f32 (fma.f32 1/3 (pow.f32 u 3) (log.f32 3/4)) (fma.f32 u (*.f32 u 1/2) u)) |
(+.f32 (fma.f32 1/3 (pow.f32 u 3) u) (fma.f32 u (*.f32 u 1/2) (log.f32 3/4))) |
(+.f32 (log.f32 -3/4) (log.f32 (/.f32 1 u))) |
(+.f32 (log.f32 -3/4) (neg.f32 (log.f32 u))) |
(-.f32 (log.f32 -3/4) (log.f32 u)) |
(+.f32 (log.f32 -3/4) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u))) |
(+.f32 (+.f32 (log.f32 -3/4) (neg.f32 (log.f32 u))) (/.f32 1 u)) |
(+.f32 (log.f32 -3/4) (-.f32 (/.f32 1 u) (log.f32 u))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 -3/4) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u)))) |
(+.f32 (+.f32 (+.f32 (log.f32 -3/4) (neg.f32 (log.f32 u))) (/.f32 1 u)) (/.f32 1/2 (*.f32 u u))) |
(+.f32 (-.f32 (log.f32 -3/4) (log.f32 u)) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (log.f32 -3/4) (-.f32 (/.f32 1 u) (-.f32 (log.f32 u) (/.f32 1/2 (*.f32 u u))))) |
(+.f32 (/.f32 1 u) (-.f32 (/.f32 1/2 (*.f32 u u)) (-.f32 (log.f32 u) (log.f32 -3/4)))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 -3/4) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u))))) |
(+.f32 (+.f32 (/.f32 1/2 (*.f32 u u)) (log.f32 -3/4)) (+.f32 (+.f32 (/.f32 1 u) (neg.f32 (log.f32 u))) (/.f32 1/3 (pow.f32 u 3)))) |
(+.f32 (log.f32 -3/4) (+.f32 (+.f32 (-.f32 (/.f32 1 u) (log.f32 u)) (/.f32 1/3 (pow.f32 u 3))) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (log.f32 -3/4) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (-.f32 (/.f32 1/3 (pow.f32 u 3)) (log.f32 u))))) |
(+.f32 (log.f32 -3/4) (+.f32 (/.f32 1 u) (+.f32 (-.f32 (/.f32 1/3 (pow.f32 u 3)) (log.f32 u)) (/.f32 1/2 (*.f32 u u))))) |
(+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)) |
(+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) |
(+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4))) |
(+.f32 (/.f32 1 u) (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u)))) |
(+.f32 (log.f32 3/4) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u)))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)))) |
(+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))))) |
(+.f32 (/.f32 1 u) (+.f32 (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (/.f32 1 u) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))))) |
(+.f32 (log.f32 3/4) (+.f32 (/.f32 1 u) (+.f32 (/.f32 1/2 (*.f32 u u)) (log.f32 (/.f32 -1 u))))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4))))) |
(+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1/3 (pow.f32 u 3)) (+.f32 (/.f32 1 u) (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u)))))) |
(+.f32 (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))) (+.f32 (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (/.f32 1 u) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1/3 (pow.f32 u 3)) (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u)))))) |
(+.f32 (log.f32 3/4) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1/3 (pow.f32 u 3)) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u)))))) |
4/3 |
(+.f32 (*.f32 -4/3 u) 4/3) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(*.f32 -4/3 u) |
(*.f32 u -4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(*.f32 -4/3 u) |
(*.f32 u -4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (+.f32 1 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 3 (*.f32 s (neg.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (+.f32 1 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 3 (*.f32 s (neg.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (+.f32 1 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 3 (*.f32 s (neg.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (+.f32 1 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 3 (*.f32 s (neg.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (+.f32 1 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 3 (*.f32 s (neg.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (+.f32 1 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 3 (*.f32 s (neg.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (+.f32 1 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 3 (*.f32 s (neg.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (+.f32 1 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 3 (*.f32 s (neg.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (+.f32 1 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 3 (*.f32 s (neg.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (+.f32 1 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 3 (*.f32 s (neg.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (+.f32 1 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 3 (*.f32 s (neg.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (+.f32 1 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 3 (*.f32 s (neg.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 (*.f32 3 s) (log.f32 3/4)) |
(*.f32 (log.f32 3/4) (*.f32 3 s)) |
(+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u))) |
(*.f32 3 (+.f32 (*.f32 (log.f32 3/4) s) (*.f32 u s))) |
(*.f32 (*.f32 3 s) (+.f32 (log.f32 3/4) u)) |
(*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 s)) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u)))) |
(fma.f32 3/2 (*.f32 (*.f32 u u) s) (*.f32 3 (+.f32 (*.f32 (log.f32 3/4) s) (*.f32 u s)))) |
(fma.f32 (*.f32 s 3/2) (*.f32 u u) (*.f32 (*.f32 3 s) (+.f32 (log.f32 3/4) u))) |
(fma.f32 (*.f32 u u) (*.f32 s 3/2) (*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 s))) |
(*.f32 s (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (+.f32 (*.f32 3 (*.f32 s u)) (*.f32 s (pow.f32 u 3))))) |
(fma.f32 3/2 (*.f32 (*.f32 u u) s) (fma.f32 3 (*.f32 (log.f32 3/4) s) (fma.f32 3 (*.f32 u s) (*.f32 (pow.f32 u 3) s)))) |
(fma.f32 3/2 (*.f32 u (*.f32 u s)) (fma.f32 3 (*.f32 s (+.f32 (log.f32 3/4) u)) (*.f32 (pow.f32 u 3) s))) |
(fma.f32 3 (*.f32 (+.f32 (log.f32 3/4) u) s) (*.f32 (*.f32 u (*.f32 u s)) (+.f32 u 3/2))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(*.f32 3 (*.f32 s (+.f32 (log.f32 -3/4) (log.f32 (/.f32 1 u))))) |
(*.f32 (*.f32 3 s) (+.f32 (log.f32 -3/4) (neg.f32 (log.f32 u)))) |
(*.f32 3 (*.f32 (-.f32 (log.f32 -3/4) (log.f32 u)) s)) |
(*.f32 (-.f32 (log.f32 -3/4) (log.f32 u)) (*.f32 3 s)) |
(+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 -3/4) (log.f32 (/.f32 1 u))))) (*.f32 3 (/.f32 s u))) |
(*.f32 3 (+.f32 (*.f32 (+.f32 (log.f32 -3/4) (neg.f32 (log.f32 u))) s) (/.f32 s u))) |
(*.f32 3 (fma.f32 (-.f32 (log.f32 -3/4) (log.f32 u)) s (/.f32 s u))) |
(+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 -3/4) (log.f32 (/.f32 1 u))))) (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 3 (*.f32 (+.f32 (log.f32 -3/4) (neg.f32 (log.f32 u))) s) (fma.f32 3 (/.f32 s u) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 3 (fma.f32 (-.f32 (log.f32 -3/4) (log.f32 u)) s (/.f32 s u)) (*.f32 3/2 (/.f32 s (*.f32 u u)))) |
(fma.f32 3 (*.f32 (-.f32 (log.f32 -3/4) (log.f32 u)) s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 -3/4) (log.f32 (/.f32 1 u))))) (+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(+.f32 (fma.f32 3 (*.f32 (+.f32 (log.f32 -3/4) (neg.f32 (log.f32 u))) s) (fma.f32 3 (/.f32 s u) (*.f32 3/2 (/.f32 s (*.f32 u u))))) (/.f32 s (pow.f32 u 3))) |
(+.f32 (fma.f32 3 (fma.f32 (-.f32 (log.f32 -3/4) (log.f32 u)) s (/.f32 s u)) (*.f32 3/2 (/.f32 s (*.f32 u u)))) (/.f32 s (pow.f32 u 3))) |
(fma.f32 3 (fma.f32 (-.f32 (log.f32 -3/4) (log.f32 u)) s (/.f32 s u)) (fma.f32 3/2 (/.f32 s (*.f32 u u)) (/.f32 s (pow.f32 u 3)))) |
(*.f32 3 (*.f32 s (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)))) |
(*.f32 3 (*.f32 (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) s)) |
(*.f32 (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) (*.f32 3 s)) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 3 (*.f32 s (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4))))) |
(*.f32 3 (+.f32 (/.f32 s u) (*.f32 (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) s))) |
(*.f32 3 (fma.f32 (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) s (/.f32 s u))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 3 (*.f32 (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 3 (+.f32 (/.f32 s u) (*.f32 (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) s)) (*.f32 3/2 (/.f32 s (*.f32 u u)))) |
(fma.f32 3 (*.f32 (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 3 (/.f32 s u) (fma.f32 3 (*.f32 (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) s) (*.f32 3/2 (/.f32 s (*.f32 u u)))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 3 (+.f32 (/.f32 s u) (*.f32 (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) s)) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 3 (fma.f32 (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) s (/.f32 s u)) (fma.f32 3/2 (/.f32 s (*.f32 u u)) (/.f32 s (pow.f32 u 3)))) |
3/4 |
(+.f32 (*.f32 3/4 u) 3/4) |
(fma.f32 3/4 u 3/4) |
(+.f32 (*.f32 3/4 u) (+.f32 3/4 (*.f32 3/4 (pow.f32 u 2)))) |
(+.f32 (fma.f32 3/4 u 3/4) (*.f32 3/4 (*.f32 u u))) |
(fma.f32 3/4 u (fma.f32 3/4 (*.f32 u u) 3/4)) |
(+.f32 3/4 (*.f32 u (fma.f32 3/4 u 3/4))) |
(+.f32 (*.f32 3/4 u) (+.f32 3/4 (+.f32 (*.f32 3/4 (pow.f32 u 2)) (*.f32 3/4 (pow.f32 u 3))))) |
(+.f32 (fma.f32 3/4 u 3/4) (*.f32 3/4 (+.f32 (*.f32 u u) (pow.f32 u 3)))) |
(fma.f32 3/4 u (fma.f32 3/4 (fma.f32 u u (pow.f32 u 3)) 3/4)) |
(*.f32 (fma.f32 u u 1) (fma.f32 3/4 u 3/4)) |
(/.f32 -3/4 u) |
(neg.f32 (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 2))) (*.f32 3/4 (/.f32 1 u)))) |
(neg.f32 (+.f32 (/.f32 3/4 (*.f32 u u)) (/.f32 3/4 u))) |
(+.f32 (/.f32 -3/4 (*.f32 u u)) (/.f32 -3/4 u)) |
(-.f32 (/.f32 -3/4 u) (/.f32 3/4 (*.f32 u u))) |
(+.f32 (/.f32 (/.f32 -3/4 u) u) (/.f32 -3/4 u)) |
(neg.f32 (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 3))) (+.f32 (*.f32 3/4 (/.f32 1 u)) (*.f32 3/4 (/.f32 1 (pow.f32 u 2)))))) |
(neg.f32 (+.f32 (/.f32 3/4 (pow.f32 u 3)) (+.f32 (/.f32 3/4 (*.f32 u u)) (/.f32 3/4 u)))) |
(+.f32 (/.f32 -3/4 (pow.f32 u 3)) (+.f32 (/.f32 -3/4 (*.f32 u u)) (/.f32 -3/4 u))) |
(+.f32 (/.f32 -3/4 (pow.f32 u 3)) (-.f32 (/.f32 -3/4 u) (/.f32 3/4 (*.f32 u u)))) |
(+.f32 (/.f32 -3/4 (pow.f32 u 3)) (+.f32 (/.f32 (/.f32 -3/4 u) u) (/.f32 -3/4 u))) |
(neg.f32 (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 3))) (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 4))) (+.f32 (*.f32 3/4 (/.f32 1 u)) (*.f32 3/4 (/.f32 1 (pow.f32 u 2))))))) |
(neg.f32 (+.f32 (/.f32 3/4 (pow.f32 u 3)) (+.f32 (+.f32 (/.f32 3/4 (*.f32 u u)) (/.f32 3/4 u)) (/.f32 3/4 (pow.f32 u 4))))) |
(-.f32 (/.f32 -3/4 (pow.f32 u 3)) (+.f32 (+.f32 (/.f32 3/4 (*.f32 u u)) (/.f32 3/4 u)) (/.f32 3/4 (pow.f32 u 4)))) |
(+.f32 (+.f32 (/.f32 -3/4 (pow.f32 u 3)) (-.f32 (/.f32 -3/4 u) (/.f32 3/4 (*.f32 u u)))) (/.f32 -3/4 (pow.f32 u 4))) |
(+.f32 (+.f32 (/.f32 -3/4 (pow.f32 u 3)) (+.f32 (/.f32 (/.f32 -3/4 u) u) (/.f32 -3/4 u))) (/.f32 -3/4 (pow.f32 u 4))) |
(/.f32 -3/4 u) |
(neg.f32 (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 2))) (*.f32 3/4 (/.f32 1 u)))) |
(neg.f32 (+.f32 (/.f32 3/4 (*.f32 u u)) (/.f32 3/4 u))) |
(+.f32 (/.f32 -3/4 (*.f32 u u)) (/.f32 -3/4 u)) |
(-.f32 (/.f32 -3/4 u) (/.f32 3/4 (*.f32 u u))) |
(+.f32 (/.f32 (/.f32 -3/4 u) u) (/.f32 -3/4 u)) |
(neg.f32 (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 3))) (+.f32 (*.f32 3/4 (/.f32 1 u)) (*.f32 3/4 (/.f32 1 (pow.f32 u 2)))))) |
(neg.f32 (+.f32 (/.f32 3/4 (pow.f32 u 3)) (+.f32 (/.f32 3/4 (*.f32 u u)) (/.f32 3/4 u)))) |
(+.f32 (/.f32 -3/4 (pow.f32 u 3)) (+.f32 (/.f32 -3/4 (*.f32 u u)) (/.f32 -3/4 u))) |
(+.f32 (/.f32 -3/4 (pow.f32 u 3)) (-.f32 (/.f32 -3/4 u) (/.f32 3/4 (*.f32 u u)))) |
(+.f32 (/.f32 -3/4 (pow.f32 u 3)) (+.f32 (/.f32 (/.f32 -3/4 u) u) (/.f32 -3/4 u))) |
(neg.f32 (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 3))) (+.f32 (*.f32 3/4 (/.f32 1 (pow.f32 u 4))) (+.f32 (*.f32 3/4 (/.f32 1 u)) (*.f32 3/4 (/.f32 1 (pow.f32 u 2))))))) |
(neg.f32 (+.f32 (/.f32 3/4 (pow.f32 u 3)) (+.f32 (+.f32 (/.f32 3/4 (*.f32 u u)) (/.f32 3/4 u)) (/.f32 3/4 (pow.f32 u 4))))) |
(-.f32 (/.f32 -3/4 (pow.f32 u 3)) (+.f32 (+.f32 (/.f32 3/4 (*.f32 u u)) (/.f32 3/4 u)) (/.f32 3/4 (pow.f32 u 4)))) |
(+.f32 (+.f32 (/.f32 -3/4 (pow.f32 u 3)) (-.f32 (/.f32 -3/4 u) (/.f32 3/4 (*.f32 u u)))) (/.f32 -3/4 (pow.f32 u 4))) |
(+.f32 (+.f32 (/.f32 -3/4 (pow.f32 u 3)) (+.f32 (/.f32 (/.f32 -3/4 u) u) (/.f32 -3/4 u))) (/.f32 -3/4 (pow.f32 u 4))) |
Compiled 5783 to 4718 computations (18.4% saved)
33 alts after pruning (31 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 318 | 31 | 349 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 318 | 33 | 351 |
| Status | Error | Program |
|---|---|---|
| ✓ | 1.2b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
| 1.3b | (*.f32 (*.f32 3 s) (+.f32 (log.f32 (/.f32 1 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 3)))) (log1p.f32 (+.f32 (fma.f32 u 4/3 -1/3) (pow.f32 (fma.f32 u 4/3 -1/3) 2))))) | |
| ▶ | 0.8b | (*.f32 (*.f32 3 s) (exp.f32 (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) |
| 0.9b | (*.f32 s (-.f32 (+.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1)) | |
| 0.8b | (pow.f32 (sqrt.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))) 2) | |
| 1.2b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (fma.f32 (+.f32 u -1/4) -4/3 1)))) | |
| ▶ | 20.4b | (*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
| 0.9b | (pow.f32 (cbrt.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))) 3) | |
| 0.9b | (*.f32 s (*.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)) -3)) | |
| 3.1b | (exp.f32 (log.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) | |
| 23.7b | (*.f32 s (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) | |
| 21.8b | (*.f32 s (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) | |
| ▶ | 0.7b | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
| ✓ | 0.7b | (*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
| 0.9b | (*.f32 (*.f32 3 s) (pow.f32 (sqrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 2)) | |
| 23.7b | (*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 s)) | |
| 11.7b | (*.f32 s (*.f32 (expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) -3)) | |
| 0.9b | (*.f32 (*.f32 3 s) (pow.f32 (cbrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 3)) | |
| 23.7b | (+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u))) | |
| 29.6b | (*.f32 (*.f32 3 s) (log.f32 3/4)) | |
| 0.7b | (*.f32 s (expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))) | |
| 1.5b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (-.f32 1 (*.f32 u 4/3)) 1/3)))) | |
| ▶ | 29.6b | (*.f32 3 (*.f32 s (log.f32 3/4))) |
| 1.1b | (*.f32 s (log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3))) | |
| 1.2b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (*.f32 (+.f32 u -1/4) -4/3) 1)))) | |
| 0.9b | (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) | |
| ▶ | 1.3b | (*.f32 s (*.f32 (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) |
| 0.9b | (*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) | |
| 1.1b | (*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) | |
| 1.3b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (*.f32 -4/3 u) 4/3)))) | |
| 23.7b | (*.f32 s (*.f32 (-.f32 (log.f32 4/3) u) -3)) | |
| 0.7b | (*.f32 (*.f32 3 s) (pow.f32 (pow.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) 3) 1/3)) | |
| 1.2b | (*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
Compiled 925 to 783 computations (15.4% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
| ✓ | 0.3b | (*.f32 (+.f32 u -1/4) -4/3) |
| ✓ | 0.4b | (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) |
Compiled 42 to 33 computations (21.4% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 106.0ms | s | @ | 0 | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
| 1.0ms | s | @ | inf | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
| 1.0ms | u | @ | inf | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
| 1.0ms | s | @ | -inf | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
| 1.0ms | u | @ | 0 | (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) |
| 1× | batch-egg-rewrite |
| 525× | log-prod_binary32 |
| 404× | exp-prod_binary32 |
| 291× | pow-prod-down_binary32 |
| 288× | pow2_binary32 |
| 215× | prod-diff_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 33 |
| 1 | 256 | 31 |
| 2 | 3127 | 25 |
| 1× | node limit |
| Inputs |
|---|
(log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) |
(*.f32 (+.f32 u -1/4) -4/3) |
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (fma.f32 (+.f32 u -1/4) -4/3 1)) 2)) (log.f32 (cbrt.f32 (fma.f32 (+.f32 u -1/4) -4/3 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (fma.f32 (+.f32 u -1/4) -4/3 1))) (log.f32 (sqrt.f32 (fma.f32 (+.f32 u -1/4) -4/3 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log1p.f32 (pow.f32 (fma.f32 u -4/3 1/3) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (-.f32 1 (pow.f32 (fma.f32 u -4/3 1/3) 2))) (log.f32 (-.f32 1 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) (neg.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (neg.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 -1 (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 -1 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 0 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3)) (+.f32 0 (+.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2) (*.f32 0 (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 0 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 1) (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 2)) (cbrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) (sqrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (fma.f32 (+.f32 u -1/4) -4/3 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 1) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (fma.f32 u -4/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1/3 (*.f32 u -4/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1/3 (*.f32 -4/3 u))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 u -4/3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 -4/3 u) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (fma.f32 u -4/3 1/3))) 2)) (log.f32 (cbrt.f32 (exp.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (fma.f32 u -4/3 1/3)))) (log.f32 (sqrt.f32 (exp.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (fma.f32 (+.f32 u -1/4) -4/3 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 -1/64 (pow.f32 u 3)) -4/3) (-.f32 (fma.f32 u u 1/16) (*.f32 u -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 u u -1/16) -4/3) (+.f32 u 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -4/3 (+.f32 -1/64 (pow.f32 u 3))) (-.f32 (fma.f32 u u 1/16) (*.f32 u -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -4/3 (fma.f32 u u -1/16)) (+.f32 u 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 u -4/3 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u -4/3 1/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 u -4/3 1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 1) (log.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (fma.f32 u -4/3 1/3))) 2)) (cbrt.f32 (log.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (fma.f32 u -4/3 1/3)))) (sqrt.f32 (log.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 u -4/3 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 u -4/3 1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (fma.f32 u -4/3 1/3))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (fma.f32 u -4/3 1/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (fma.f32 u -4/3 1/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (fma.f32 u -4/3 1/3)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u -4/3 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -4/3 u 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (fma.f32 (+.f32 u -1/4) -4/3 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 (+.f32 u -1/4) -4/3 1)) 2) (cbrt.f32 (fma.f32 (+.f32 u -1/4) -4/3 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 (+.f32 u -1/4) -4/3 1)) (sqrt.f32 (fma.f32 (+.f32 u -1/4) -4/3 1)) -1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (fma.f32 (+.f32 u -1/4) -4/3 1) (*.f32 3 s))) 2)) (log.f32 (cbrt.f32 (pow.f32 (fma.f32 (+.f32 u -1/4) -4/3 1) (*.f32 3 s)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (fma.f32 (+.f32 u -1/4) -4/3 1) (*.f32 3 s)))) (log.f32 (sqrt.f32 (pow.f32 (fma.f32 (+.f32 u -1/4) -4/3 1) (*.f32 3 s)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 1) (log.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))) 2)) (cbrt.f32 (log.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))))) (sqrt.f32 (log.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (fma.f32 (+.f32 u -1/4) -4/3 1) (*.f32 3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (/.f32 1 (+.f32 1 (expm1.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))) 1) 1)))))) |
| 1× | egg-herbie |
| 386× | associate-+r+_binary32 |
| 363× | fma-def_binary32 |
| 360× | associate-+l-_binary32 |
| 337× | times-frac_binary32 |
| 304× | unsub-neg_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 88 | 788 |
| 1 | 252 | 730 |
| 2 | 714 | 707 |
| 3 | 2323 | 696 |
| 4 | 6604 | 696 |
| 1× | node limit |
| Inputs |
|---|
(log.f32 4/3) |
(+.f32 (log.f32 4/3) (*.f32 -1 u)) |
(+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u))) |
(+.f32 (*.f32 -1/3 (pow.f32 u 3)) (+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u)))) |
(+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (/.f32 1 u)) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
(+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (/.f32 1 u)) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
1/3 |
(+.f32 (*.f32 -4/3 u) 1/3) |
(+.f32 (*.f32 -4/3 u) 1/3) |
(+.f32 (*.f32 -4/3 u) 1/3) |
(*.f32 -4/3 u) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(*.f32 -4/3 u) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 4/3))) |
(+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3)))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3))))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 -3 (*.f32 s (log.f32 4/3)))))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
| Outputs |
|---|
(log.f32 4/3) |
(+.f32 (log.f32 4/3) (*.f32 -1 u)) |
(+.f32 (log.f32 4/3) (neg.f32 u)) |
(-.f32 (log.f32 4/3) u) |
(+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u))) |
(+.f32 (log.f32 4/3) (fma.f32 -1/2 (*.f32 u u) (neg.f32 u))) |
(+.f32 (log.f32 4/3) (-.f32 (*.f32 u (*.f32 u -1/2)) u)) |
(-.f32 (fma.f32 u (*.f32 u -1/2) (log.f32 4/3)) u) |
(+.f32 (*.f32 -1/3 (pow.f32 u 3)) (+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u)))) |
(fma.f32 -1/3 (pow.f32 u 3) (+.f32 (log.f32 4/3) (fma.f32 -1/2 (*.f32 u u) (neg.f32 u)))) |
(+.f32 (-.f32 (*.f32 u (*.f32 u -1/2)) u) (fma.f32 -1/3 (pow.f32 u 3) (log.f32 4/3))) |
(-.f32 (fma.f32 -1/3 (pow.f32 u 3) (fma.f32 u (*.f32 u -1/2) (log.f32 4/3))) u) |
(+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) |
(fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) |
(+.f32 (log.f32 -4/3) (log.f32 u)) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (/.f32 1 u)) |
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (/.f32 1 u)) |
(+.f32 (log.f32 -4/3) (+.f32 (log.f32 u) (/.f32 -1 u))) |
(+.f32 (log.f32 -4/3) (-.f32 (log.f32 u) (/.f32 1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (-.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 1/2 (*.f32 u u))) (/.f32 -1 u)) |
(+.f32 (log.f32 -4/3) (+.f32 (log.f32 u) (+.f32 (/.f32 -1 u) (/.f32 -1/2 (*.f32 u u))))) |
(+.f32 (log.f32 -4/3) (+.f32 (/.f32 (/.f32 -1/2 u) u) (-.f32 (log.f32 u) (/.f32 1 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) |
(-.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) |
(+.f32 (+.f32 (log.f32 -4/3) (+.f32 (/.f32 -1 u) (/.f32 -1/2 (*.f32 u u)))) (-.f32 (log.f32 u) (/.f32 1/3 (pow.f32 u 3)))) |
(+.f32 (log.f32 -4/3) (+.f32 (log.f32 u) (+.f32 (/.f32 -1 u) (-.f32 (/.f32 (/.f32 -1/2 u) u) (/.f32 1/3 (pow.f32 u 3)))))) |
(+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) |
(fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) |
(-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (/.f32 1 u)) |
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (/.f32 1 u)) |
(+.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 -1 u)) |
(-.f32 (log.f32 4/3) (+.f32 (log.f32 (/.f32 -1 u)) (/.f32 1 u))) |
(-.f32 (-.f32 (log.f32 4/3) (/.f32 1 u)) (log.f32 (/.f32 -1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (-.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 1/2 (*.f32 u u))) (/.f32 -1 u)) |
(+.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (+.f32 (/.f32 -1 u) (/.f32 -1/2 (*.f32 u u)))) |
(+.f32 (-.f32 (-.f32 (log.f32 4/3) (/.f32 1 u)) (log.f32 (/.f32 -1 u))) (/.f32 (/.f32 -1/2 u) u)) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) |
(-.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) |
(+.f32 (-.f32 (log.f32 4/3) (-.f32 (log.f32 (/.f32 -1 u)) (/.f32 -1/2 (*.f32 u u)))) (-.f32 (/.f32 -1 u) (/.f32 1/3 (pow.f32 u 3)))) |
(+.f32 (log.f32 4/3) (-.f32 (+.f32 (/.f32 -1 u) (-.f32 (/.f32 (/.f32 -1/2 u) u) (/.f32 1/3 (pow.f32 u 3)))) (log.f32 (/.f32 -1 u)))) |
(+.f32 (log.f32 4/3) (+.f32 (-.f32 (/.f32 -1 u) (/.f32 1/3 (pow.f32 u 3))) (-.f32 (/.f32 (/.f32 -1/2 u) u) (log.f32 (/.f32 -1 u))))) |
1/3 |
(+.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(+.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(+.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(*.f32 -4/3 u) |
(*.f32 u -4/3) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(*.f32 -4/3 u) |
(*.f32 u -4/3) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(+.f32 1/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1/3) |
(fma.f32 u -4/3 1/3) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 4/3))) |
(*.f32 (*.f32 -3 s) (log.f32 4/3)) |
(*.f32 (log.f32 4/3) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 (log.f32 4/3) s)) |
(+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3)))) |
(fma.f32 3 (*.f32 u s) (*.f32 (*.f32 -3 s) (log.f32 4/3))) |
(fma.f32 -3 (*.f32 (log.f32 4/3) s) (*.f32 u (*.f32 3 s))) |
(*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u 3))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 (log.f32 4/3) -3))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3))))) |
(fma.f32 3/2 (*.f32 (*.f32 u u) s) (fma.f32 3 (*.f32 u s) (*.f32 (*.f32 -3 s) (log.f32 4/3)))) |
(fma.f32 3/2 (*.f32 (*.f32 u u) s) (fma.f32 -3 (*.f32 (log.f32 4/3) s) (*.f32 u (*.f32 3 s)))) |
(fma.f32 (log.f32 4/3) (*.f32 -3 s) (*.f32 u (+.f32 (*.f32 3 s) (*.f32 u (*.f32 s 3/2))))) |
(*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 -3 (*.f32 s (log.f32 4/3)))))) |
(fma.f32 3/2 (*.f32 (*.f32 u u) s) (fma.f32 3 (*.f32 u s) (fma.f32 s (pow.f32 u 3) (*.f32 (*.f32 -3 s) (log.f32 4/3))))) |
(fma.f32 3/2 (*.f32 (*.f32 u u) s) (fma.f32 3 (*.f32 u s) (fma.f32 (pow.f32 u 3) s (*.f32 (log.f32 4/3) (*.f32 -3 s))))) |
(fma.f32 (*.f32 u u) (*.f32 s 3/2) (fma.f32 (log.f32 4/3) (*.f32 -3 s) (*.f32 (*.f32 u s) (+.f32 3 (*.f32 u u))))) |
(*.f32 s (+.f32 (+.f32 (pow.f32 u 3) (*.f32 (log.f32 4/3) -3)) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) |
(*.f32 (*.f32 -3 s) (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3))) |
(*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s)) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(fma.f32 3 (/.f32 s u) (*.f32 (*.f32 -3 s) (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)))) |
(fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) s) (*.f32 3 (/.f32 s u))) |
(fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (*.f32 (/.f32 3 u) s)) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) -3) (/.f32 3 u))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) s) (/.f32 (*.f32 3/2 s) (*.f32 u u)))) |
(fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(+.f32 (fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) s) (/.f32 (*.f32 3/2 s) (*.f32 u u)))) (/.f32 s (pow.f32 u 3))) |
(+.f32 (fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) (/.f32 s (pow.f32 u 3))) |
(+.f32 (fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) (/.f32 s (pow.f32 u 3))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(*.f32 -3 (*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) s)) |
(*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s)) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(fma.f32 3 (/.f32 s u) (*.f32 -3 (*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) s))) |
(fma.f32 (*.f32 -3 s) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 3 (/.f32 s u))) |
(fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s) (*.f32 (/.f32 3 u) s)) |
(*.f32 s (+.f32 (/.f32 3 u) (*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) -3))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) s) (/.f32 (*.f32 3/2 s) (*.f32 u u)))) |
(fma.f32 3 (/.f32 s u) (fma.f32 (*.f32 -3 s) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) s) (/.f32 (*.f32 3/2 s) (*.f32 u u))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 3 (/.f32 s u) (fma.f32 (*.f32 -3 s) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 3/2 (/.f32 s (*.f32 u u)))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))))) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f32 3 (*.f32 s (log.f32 3/4))) |
| ✓ | 0.6b | (*.f32 s (log.f32 3/4)) |
Compiled 17 to 14 computations (17.6% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 28.0ms | s | @ | 0 | (*.f32 s (log.f32 3/4)) |
| 1.0ms | s | @ | inf | (*.f32 s (log.f32 3/4)) |
| 1.0ms | s | @ | 0 | (*.f32 3 (*.f32 s (log.f32 3/4))) |
| 1.0ms | s | @ | -inf | (*.f32 s (log.f32 3/4)) |
| 1.0ms | s | @ | -inf | (*.f32 3 (*.f32 s (log.f32 3/4))) |
| 1× | batch-egg-rewrite |
| 605× | pow1_binary32 |
| 563× | add-log-exp_binary32 |
| 563× | log1p-expm1-u_binary32 |
| 563× | expm1-log1p-u_binary32 |
| 553× | add-exp-log_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 15 |
| 1 | 140 | 15 |
| 2 | 1537 | 15 |
| 1× | node limit |
| Inputs |
|---|
(*.f32 s (log.f32 3/4)) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 s (log.f32 3/4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 s (log.f32 3/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 s (log.f32 3/4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 s (log.f32 3/4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 s (log.f32 3/4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 s (log.f32 3/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 3/4 s))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 s (log.f32 3/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 s (log.f32 3/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (-.f32 (pow.f32 3/4 s) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 s (log.f32 3/4)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 s (*.f32 (log.f32 3/4) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 s (*.f32 (log.f32 3/4) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 s (*.f32 (log.f32 3/4) 3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 s (*.f32 (log.f32 3/4) 3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 s (*.f32 (log.f32 3/4) 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 9 (pow.f32 (*.f32 s (log.f32 3/4)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 3/4 s) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 s (*.f32 (log.f32 3/4) 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 s (*.f32 (log.f32 3/4) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (-.f32 (pow.f32 (pow.f32 3/4 s) 3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 s (*.f32 (log.f32 3/4) 3)))))))) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 0 | 0 |
| 1× | saturated |
| Inputs |
|---|
| Outputs |
|---|
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 (*.f32 u u) (+.f32 u 3/2))) |
| ✓ | 0.4b | (*.f32 (+.f32 (log.f32 3/4) u) 3) |
| ✓ | 0.4b | (*.f32 (*.f32 u u) (+.f32 u 3/2)) |
| ✓ | 1.1b | (+.f32 (log.f32 3/4) u) |
Compiled 62 to 40 computations (35.5% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | u | @ | 0 | (+.f32 (log.f32 3/4) u) |
| 1.0ms | u | @ | inf | (*.f32 (*.f32 u u) (+.f32 u 3/2)) |
| 1.0ms | u | @ | -inf | (*.f32 (*.f32 u u) (+.f32 u 3/2)) |
| 1.0ms | u | @ | 0 | (*.f32 (*.f32 u u) (+.f32 u 3/2)) |
| 0.0ms | u | @ | inf | (*.f32 (+.f32 (log.f32 3/4) u) 3) |
| 1× | batch-egg-rewrite |
| 724× | fma-def_binary32 |
| 610× | log-prod_binary32 |
| 364× | fma-neg_binary32 |
| 348× | pow2_binary32 |
| 239× | expm1-udef_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 44 |
| 1 | 276 | 44 |
| 2 | 3939 | 44 |
| 1× | node limit |
| Inputs |
|---|
(+.f32 (log.f32 3/4) u) |
(*.f32 (*.f32 u u) (+.f32 u 3/2)) |
(*.f32 (+.f32 (log.f32 3/4) u) 3) |
(+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 (*.f32 u u) (+.f32 u 3/2))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (+.f32 (log.f32 3/4) u))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (pow.f32 (log.f32 3/4) 2) (-.f32 (log.f32 3/4) u)) (/.f32 (*.f32 u u) (-.f32 (log.f32 3/4) u)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (log.f32 3/4) u) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (log.f32 3/4) u))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (+.f32 (log.f32 3/4) u)) (pow.f32 (cbrt.f32 (+.f32 (log.f32 3/4) u)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (+.f32 (log.f32 3/4) u)) 2) (cbrt.f32 (+.f32 (log.f32 3/4) u)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (+.f32 (log.f32 3/4) u)) (sqrt.f32 (+.f32 (log.f32 3/4) u)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (log.f32 3/4) 3) (pow.f32 u 3)) (/.f32 1 (fma.f32 u (-.f32 u (log.f32 3/4)) (pow.f32 (log.f32 3/4) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (pow.f32 (log.f32 3/4) 2) (*.f32 u u)) (/.f32 1 (-.f32 (log.f32 3/4) u)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 u (-.f32 u (log.f32 3/4)) (pow.f32 (log.f32 3/4) 2)) (+.f32 (pow.f32 (log.f32 3/4) 3) (pow.f32 u 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (-.f32 (log.f32 3/4) u) (-.f32 (pow.f32 (log.f32 3/4) 2) (*.f32 u u))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (log.f32 3/4) 3) (pow.f32 u 3)) (fma.f32 u (-.f32 u (log.f32 3/4)) (pow.f32 (log.f32 3/4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (log.f32 3/4) 3) (pow.f32 u 3)) (fma.f32 u u (-.f32 (pow.f32 (log.f32 3/4) 2) (*.f32 (log.f32 3/4) u))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (log.f32 3/4) 2) (*.f32 u u)) (-.f32 (log.f32 3/4) u))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 (pow.f32 (log.f32 3/4) 3) (pow.f32 u 3))) (neg.f32 (fma.f32 u (-.f32 u (log.f32 3/4)) (pow.f32 (log.f32 3/4) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 (pow.f32 (log.f32 3/4) 2) (*.f32 u u))) (neg.f32 (-.f32 (log.f32 3/4) u)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 u u) (pow.f32 (log.f32 3/4) 2)) (-.f32 u (log.f32 3/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (log.f32 3/4) u) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (+.f32 (log.f32 3/4) u)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (+.f32 (log.f32 3/4) u)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (fma.f32 u (-.f32 u (log.f32 3/4)) (pow.f32 (log.f32 3/4) 2)) (+.f32 (pow.f32 (log.f32 3/4) 3) (pow.f32 u 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (-.f32 (log.f32 3/4) u) (-.f32 (pow.f32 (log.f32 3/4) 2) (*.f32 u u))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 3/4 (exp.f32 u)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (fma.f32 3/4 (exp.f32 u) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 3/4 (+.f32 1 (expm1.f32 u))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 u)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (+.f32 (log.f32 3/4) u)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (fma.f32 3/4 (exp.f32 u) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (+.f32 (log.f32 3/4) u)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (+.f32 (log.f32 3/4) u)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (log.f32 3/4) 1 u)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u 1 (log.f32 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (log.f32 3/4) u)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 u (log.f32 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (log.f32 3/4)) (pow.f32 (cbrt.f32 (log.f32 3/4)) 2) u)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (log.f32 3/4)) 2) (cbrt.f32 (log.f32 3/4)) u)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 u) (pow.f32 (cbrt.f32 u) 2) (log.f32 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 u) 2) (cbrt.f32 u) (log.f32 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (log.f32 3/4)) (sqrt.f32 (log.f32 3/4)) u)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 u) (sqrt.f32 u) (log.f32 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (cbrt.f32 (pow.f32 u 4))) (sqrt.f32 (pow.f32 (cbrt.f32 u) 2)) (log.f32 3/4)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 u 3) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 u (*.f32 u 3/2)) (pow.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (pow.f32 u 3) 1) (*.f32 (*.f32 u (*.f32 u 3/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 (+.f32 u 3/2)) (*.f32 u u))) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (+.f32 u 3/2)) (*.f32 u u)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (+.f32 u 3/2)) (*.f32 u u)))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (+.f32 u 3/2)) (*.f32 u u)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (pow.f32 u 3) 3) (pow.f32 (*.f32 u (*.f32 u 3/2)) 3)) (+.f32 (pow.f32 (pow.f32 u 3) 2) (-.f32 (pow.f32 (*.f32 u (*.f32 u 3/2)) 2) (*.f32 (pow.f32 u 3) (*.f32 u (*.f32 u 3/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (pow.f32 u 3) 2) (pow.f32 (*.f32 u (*.f32 u 3/2)) 2)) (-.f32 (pow.f32 u 3) (*.f32 u (*.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 27/8 (pow.f32 u 3)) (*.f32 u u)) (-.f32 (fma.f32 u u 9/4) (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (fma.f32 u u -9/4) (*.f32 u u)) (+.f32 u -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (*.f32 u u) (+.f32 27/8 (pow.f32 u 3))) (-.f32 (fma.f32 u u 9/4) (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (*.f32 u u) (fma.f32 u u -9/4)) (+.f32 u -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u (sqrt.f32 (+.f32 u 3/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (pow.f32 (+.f32 u 3/2) 2) (pow.f32 u 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (+.f32 u 3/2)) (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (*.f32 u (*.f32 u 3/2))) (exp.f32 (pow.f32 u 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u (*.f32 u u) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u (*.f32 u 3/2) (pow.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u u) u (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u u) 3/2 (pow.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 3/2 (*.f32 u u) (pow.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (pow.f32 u 3) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 u (*.f32 u 3/2)) (pow.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 u 4)) (*.f32 (pow.f32 (cbrt.f32 u) 2) 3/2) (pow.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 u 4)) (*.f32 (pow.f32 (cbrt.f32 u) 2) u) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 u) 2) (*.f32 (cbrt.f32 u) (*.f32 u u)) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 u) (*.f32 (sqrt.f32 u) (*.f32 u u)) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 u 3) 1 (*.f32 (*.f32 u (*.f32 u 3/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u 3/2) u (pow.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (sqrt.f32 u)) (*.f32 u (sqrt.f32 u)) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 u (*.f32 u 3/2))) 2) (cbrt.f32 (*.f32 u (*.f32 u 3/2))) (pow.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 u 3)) (sqrt.f32 (pow.f32 u 3)) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 u (*.f32 u 3/2))) (sqrt.f32 (*.f32 u (*.f32 u 3/2))) (pow.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 u 3/2) (pow.f32 u 3/2) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 u) u) (*.f32 (sqrt.f32 u) u) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (cbrt.f32 (pow.f32 u 4))) (pow.f32 (cbrt.f32 u) 2) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (pow.f32 (cbrt.f32 u) 2)) (cbrt.f32 u) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (sqrt.f32 u)) (sqrt.f32 u) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 3/2 (cbrt.f32 (pow.f32 u 4))) (pow.f32 (cbrt.f32 u) 2) (pow.f32 u 3)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 u 3) (*.f32 (log.f32 3/4) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 3 u) (*.f32 3 (log.f32 3/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (*.f32 3/4 (exp.f32 u)) 2)) (+.f32 (log.f32 3/4) u))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (*.f32 3/4 (exp.f32 u)) 3))) (log.f32 (sqrt.f32 (pow.f32 (*.f32 3/4 (exp.f32 u)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 (log.f32 3/4) 3) (pow.f32 u 3)) 3) (fma.f32 u (-.f32 u (log.f32 3/4)) (pow.f32 (log.f32 3/4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (log.f32 3/4) 2) (*.f32 u u)) 3) (-.f32 (log.f32 3/4) u))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 3 (+.f32 (pow.f32 (log.f32 3/4) 3) (pow.f32 u 3))) (fma.f32 u (-.f32 u (log.f32 3/4)) (pow.f32 (log.f32 3/4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 3 (-.f32 (pow.f32 (log.f32 3/4) 2) (*.f32 u u))) (-.f32 (log.f32 3/4) u))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 3) 27) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (*.f32 3/4 (exp.f32 u)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 3) 27))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (log.f32 3/4) 3 (*.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u 3 (*.f32 (log.f32 3/4) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 3 (log.f32 3/4) (*.f32 3 u))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 3 u (*.f32 3 (log.f32 3/4))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9) (fma.f32 (+.f32 (log.f32 3/4) u) 3 (*.f32 (neg.f32 (+.f32 u 3/2)) (*.f32 u u)))) (/.f32 (*.f32 (pow.f32 (+.f32 u 3/2) 2) (pow.f32 u 4)) (fma.f32 (+.f32 (log.f32 3/4) u) 3 (*.f32 (neg.f32 (+.f32 u 3/2)) (*.f32 u u)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))) (pow.f32 (cbrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))) 2) (cbrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))) (sqrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 3) 27 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3)) (/.f32 1 (fma.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (-.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 (log.f32 3/4) u) 3)) (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9) (*.f32 (pow.f32 (+.f32 u 3/2) 2) (pow.f32 u 4))) (/.f32 1 (fma.f32 (+.f32 (log.f32 3/4) u) 3 (*.f32 (neg.f32 (+.f32 u 3/2)) (*.f32 u u)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (-.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 (log.f32 3/4) u) 3)) (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9)) (fma.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 3) 27 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 (+.f32 (log.f32 3/4) u) 3 (*.f32 (neg.f32 (+.f32 u 3/2)) (*.f32 u u))) (-.f32 (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9) (*.f32 (pow.f32 (+.f32 u 3/2) 2) (pow.f32 u 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 3) 27 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3)) (fma.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (-.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 (log.f32 3/4) u) 3)) (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 3) 27 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3)) (fma.f32 (pow.f32 (+.f32 u 3/2) 2) (pow.f32 u 4) (-.f32 (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9) (*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 (*.f32 u (*.f32 u (+.f32 u 3/2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9) (*.f32 (pow.f32 (+.f32 u 3/2) 2) (pow.f32 u 4))) (fma.f32 (+.f32 (log.f32 3/4) u) 3 (*.f32 (neg.f32 (+.f32 u 3/2)) (*.f32 u u))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (fma.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 3) 27 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3))) (neg.f32 (fma.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (-.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 (log.f32 3/4) u) 3)) (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9) (*.f32 (pow.f32 (+.f32 u 3/2) 2) (pow.f32 u 4)))) (neg.f32 (fma.f32 (+.f32 (log.f32 3/4) u) 3 (*.f32 (neg.f32 (+.f32 u 3/2)) (*.f32 u u)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (pow.f32 (+.f32 u 3/2) 2) (pow.f32 u 4)) (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9)) (-.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (fma.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (-.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 (log.f32 3/4) u) 3)) (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9)) (fma.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 3) 27 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (fma.f32 (+.f32 (log.f32 3/4) u) 3 (*.f32 (neg.f32 (+.f32 u 3/2)) (*.f32 u u))) (-.f32 (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9) (*.f32 (pow.f32 (+.f32 u 3/2) 2) (pow.f32 u 4)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))))) (pow.f32 (*.f32 3/4 (exp.f32 u)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (pow.f32 (exp.f32 (+.f32 u 3/2)) (*.f32 u u)) (+.f32 1 (expm1.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))))) (+.f32 1 (expm1.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3))) (pow.f32 (exp.f32 (+.f32 u 3/2)) (*.f32 u u))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (pow.f32 (*.f32 3/4 (exp.f32 u)) 3) (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3))) (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u (*.f32 u u) (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (log.f32 3/4) u) 3 (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u u) u (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u u) (+.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 u 3/2) (*.f32 u u) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 1 (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 3 (+.f32 (log.f32 3/4) u) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) 1 (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (pow.f32 u 3) (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3)) (cbrt.f32 (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9)) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 (pow.f32 (+.f32 (log.f32 3/4) u) 2) 9)) (cbrt.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3)) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (+.f32 u 3/2)) 2) (*.f32 (cbrt.f32 (+.f32 u 3/2)) (*.f32 u u)) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (+.f32 (log.f32 3/4) u)) 2) (*.f32 (cbrt.f32 (+.f32 (log.f32 3/4) u)) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))) (pow.f32 (cbrt.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))) 2) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))) 2) (cbrt.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 u 4)) (*.f32 (pow.f32 (cbrt.f32 u) 2) (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 u 4)) (*.f32 (pow.f32 (cbrt.f32 u) 2) u) (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 u) 2) (*.f32 (cbrt.f32 u) (*.f32 u u)) (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 u) 2) (*.f32 (cbrt.f32 u) (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3)) (sqrt.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3)) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (+.f32 u 3/2)) (*.f32 (sqrt.f32 (+.f32 u 3/2)) (*.f32 u u)) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (+.f32 (log.f32 3/4) u)) (*.f32 (sqrt.f32 (+.f32 (log.f32 3/4) u)) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (sqrt.f32 (+.f32 u 3/2))) (*.f32 u (sqrt.f32 (+.f32 u 3/2))) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 u) (*.f32 (sqrt.f32 u) (*.f32 u u)) (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 u) (*.f32 (sqrt.f32 u) (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (+.f32 u 3/2)) u (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (sqrt.f32 u)) (*.f32 u (sqrt.f32 u)) (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 u 3)) (sqrt.f32 (pow.f32 u 3)) (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 u 3/2) (pow.f32 u 3/2) (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (sqrt.f32 u) u) (*.f32 (sqrt.f32 u) u) (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 3 (pow.f32 (cbrt.f32 (+.f32 (log.f32 3/4) u)) 2)) (cbrt.f32 (+.f32 (log.f32 3/4) u)) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 3 (sqrt.f32 (+.f32 (log.f32 3/4) u))) (sqrt.f32 (+.f32 (log.f32 3/4) u)) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (cbrt.f32 (pow.f32 u 4))) (pow.f32 (cbrt.f32 u) 2) (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (pow.f32 (cbrt.f32 (+.f32 u 3/2)) 2)) (cbrt.f32 (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (sqrt.f32 (+.f32 u 3/2))) (sqrt.f32 (+.f32 u 3/2)) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (+.f32 u 3/2) (cbrt.f32 (pow.f32 u 4))) (pow.f32 (cbrt.f32 u) 2) (*.f32 (+.f32 (log.f32 3/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (pow.f32 (cbrt.f32 u) 2)) (cbrt.f32 u) (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (sqrt.f32 u)) (sqrt.f32 u) (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log.f32 3/4) u) 3))))))) |
| 1× | egg-herbie |
| 652× | distribute-rgt-in_binary32 |
| 623× | associate-+l+_binary32 |
| 598× | distribute-lft-in_binary32 |
| 536× | unswap-sqr_binary32 |
| 498× | sqr-pow_binary32 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 397 |
| 1 | 47 | 359 |
| 2 | 114 | 349 |
| 3 | 270 | 340 |
| 4 | 655 | 335 |
| 5 | 1778 | 335 |
| 6 | 3242 | 335 |
| 7 | 3474 | 335 |
| 8 | 3773 | 335 |
| 9 | 4312 | 335 |
| 10 | 5309 | 335 |
| 11 | 7324 | 335 |
| 1× | node limit |
| Inputs |
|---|
(log.f32 3/4) |
u |
u |
(*.f32 3/2 (pow.f32 u 2)) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(*.f32 3 (log.f32 3/4)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 u) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 u) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 (log.f32 3/4)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)))) |
| Outputs |
|---|
(log.f32 3/4) |
u |
u |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 (*.f32 u u) (+.f32 u 3/2)) |
(*.f32 u (*.f32 u (+.f32 u 3/2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 (*.f32 u u) (+.f32 u 3/2)) |
(*.f32 u (*.f32 u (+.f32 u 3/2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 (*.f32 u u) (+.f32 u 3/2)) |
(*.f32 u (*.f32 u (+.f32 u 3/2))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 (*.f32 u u) (+.f32 u 3/2)) |
(*.f32 u (*.f32 u (+.f32 u 3/2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 (*.f32 u u) (+.f32 u 3/2)) |
(*.f32 u (*.f32 u (+.f32 u 3/2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 (*.f32 u u) (+.f32 u 3/2)) |
(*.f32 u (*.f32 u (+.f32 u 3/2))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 (*.f32 u u) (+.f32 u 3/2)) |
(*.f32 u (*.f32 u (+.f32 u 3/2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 (*.f32 u u) (+.f32 u 3/2)) |
(*.f32 u (*.f32 u (+.f32 u 3/2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 (*.f32 u u) (+.f32 u 3/2)) |
(*.f32 u (*.f32 u (+.f32 u 3/2))) |
(*.f32 3 (log.f32 3/4)) |
(*.f32 (log.f32 3/4) 3) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 (+.f32 (log.f32 3/4) u)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 (+.f32 (log.f32 3/4) u)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 (+.f32 (log.f32 3/4) u)) |
(*.f32 3 u) |
(*.f32 u 3) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 (+.f32 (log.f32 3/4) u)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 (+.f32 (log.f32 3/4) u)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 (+.f32 (log.f32 3/4) u)) |
(*.f32 3 u) |
(*.f32 u 3) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 (+.f32 (log.f32 3/4) u)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 (+.f32 (log.f32 3/4) u)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 (+.f32 (log.f32 3/4) u)) |
(*.f32 3 (log.f32 3/4)) |
(*.f32 (log.f32 3/4) 3) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 (+.f32 (log.f32 3/4) u)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 (log.f32 3/4) 3 (*.f32 u (fma.f32 u 3/2 3))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)))) |
(+.f32 (pow.f32 u 3) (fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u)))) |
(+.f32 (*.f32 (*.f32 u u) (+.f32 3/2 u)) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 (*.f32 u u) (+.f32 u 3/2) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 u (fma.f32 u 3/2 3) (fma.f32 (log.f32 3/4) 3 (pow.f32 u 3))) |
(fma.f32 u (fma.f32 u (+.f32 u 3/2) 3) (*.f32 (log.f32 3/4) 3)) |
(fma.f32 (log.f32 3/4) 3 (*.f32 u (fma.f32 u (+.f32 u 3/2) 3))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 (*.f32 u u) (+.f32 u 3/2)) |
(*.f32 u (*.f32 u (+.f32 u 3/2))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u))) |
(+.f32 (pow.f32 u 3) (fma.f32 3/2 (*.f32 u u) (*.f32 u 3))) |
(+.f32 (*.f32 (*.f32 u u) (+.f32 3/2 u)) (*.f32 u 3)) |
(fma.f32 u 3 (*.f32 (*.f32 u u) (+.f32 u 3/2))) |
(fma.f32 u (fma.f32 u 3/2 3) (pow.f32 u 3)) |
(*.f32 u (fma.f32 u (+.f32 u 3/2) 3)) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)))) |
(+.f32 (pow.f32 u 3) (fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u)))) |
(+.f32 (*.f32 (*.f32 u u) (+.f32 3/2 u)) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 (*.f32 u u) (+.f32 u 3/2) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 u (fma.f32 u 3/2 3) (fma.f32 (log.f32 3/4) 3 (pow.f32 u 3))) |
(fma.f32 u (fma.f32 u (+.f32 u 3/2) 3) (*.f32 (log.f32 3/4) 3)) |
(fma.f32 (log.f32 3/4) 3 (*.f32 u (fma.f32 u (+.f32 u 3/2) 3))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 (*.f32 u u) (+.f32 u 3/2)) |
(*.f32 u (*.f32 u (+.f32 u 3/2))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u))) |
(+.f32 (pow.f32 u 3) (fma.f32 3/2 (*.f32 u u) (*.f32 u 3))) |
(+.f32 (*.f32 (*.f32 u u) (+.f32 3/2 u)) (*.f32 u 3)) |
(fma.f32 u 3 (*.f32 (*.f32 u u) (+.f32 u 3/2))) |
(fma.f32 u (fma.f32 u 3/2 3) (pow.f32 u 3)) |
(*.f32 u (fma.f32 u (+.f32 u 3/2) 3)) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)))) |
(+.f32 (pow.f32 u 3) (fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u)))) |
(+.f32 (*.f32 (*.f32 u u) (+.f32 3/2 u)) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 (*.f32 u u) (+.f32 u 3/2) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 u (fma.f32 u 3/2 3) (fma.f32 (log.f32 3/4) 3 (pow.f32 u 3))) |
(fma.f32 u (fma.f32 u (+.f32 u 3/2) 3) (*.f32 (log.f32 3/4) 3)) |
(fma.f32 (log.f32 3/4) 3 (*.f32 u (fma.f32 u (+.f32 u 3/2) 3))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.4b | (-.f32 (*.f32 u -4/3) 1/3) |
| ✓ | 0.4b | (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) |
| ✓ | 0.5b | (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) |
| ✓ | 0.5b | (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) |
Compiled 101 to 80 computations (20.8% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | u | @ | 0 | (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) |
| 0.0ms | u | @ | inf | (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) |
| 0.0ms | u | @ | 0 | (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) |
| 0.0ms | u | @ | inf | (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) |
| 0.0ms | u | @ | inf | (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) |
| 1× | batch-egg-rewrite |
| 589× | log-prod_binary32 |
| 492× | prod-diff_binary32 |
| 339× | fma-def_binary32 |
| 313× | pow2_binary32 |
| 247× | fma-neg_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 41 |
| 1 | 258 | 27 |
| 2 | 3468 | 27 |
| 1× | node limit |
| Inputs |
|---|
(*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) |
(-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) |
(log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) |
(-.f32 (*.f32 u -4/3) 1/3) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 u (*.f32 16/9 u)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 u) (*.f32 16/9 u))) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 u) (*.f32 16/9 u)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 u) (*.f32 16/9 u)))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 u) (*.f32 16/9 u)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 u (*.f32 16/9 u)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u -4/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u (*.f32 16/9 u)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 u -4/3) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (cbrt.f32 (*.f32 u -4/3)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 u -4/3) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 u -4/3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 u) (*.f32 16/9 u)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 u (*.f32 16/9 u)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 u -4/3) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 u (*.f32 16/9 u))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 u (*.f32 16/9 u))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 2 (log.f32 (*.f32 u -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 u -4/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 2 (log.f32 (*.f32 u -4/3))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 u (*.f32 16/9 u)) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1/9 (*.f32 u (*.f32 16/9 u)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (fma.f32 u (*.f32 16/9 u) -1/9))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (fma.f32 u (*.f32 16/9 u) -1/9))) 2)) (log.f32 (cbrt.f32 (exp.f32 (fma.f32 u (*.f32 16/9 u) -1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (fma.f32 u (*.f32 16/9 u) -1/9)))) (log.f32 (sqrt.f32 (exp.f32 (fma.f32 u (*.f32 16/9 u) -1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 u (*.f32 16/9 u) -1/9) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 u (*.f32 16/9 u) -1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 u (*.f32 16/9 u) -1/9)) (pow.f32 (cbrt.f32 (fma.f32 u (*.f32 16/9 u) -1/9)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 u (*.f32 16/9 u) -1/9)) 2) (cbrt.f32 (fma.f32 u (*.f32 16/9 u) -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 u (*.f32 16/9 u) -1/9)) (sqrt.f32 (fma.f32 u (*.f32 16/9 u) -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 6) -1/729) (/.f32 1 (+.f32 (pow.f32 (*.f32 u -4/3) 4) (fma.f32 (*.f32 u u) 16/81 1/81))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 4) -1/81) (/.f32 1 (fma.f32 u (*.f32 16/9 u) 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 4) (fma.f32 (*.f32 u u) 16/81 1/81)) (+.f32 (pow.f32 (*.f32 u -4/3) 6) -1/729)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 u (*.f32 16/9 u) 1/9) (+.f32 (pow.f32 (*.f32 u -4/3) 4) -1/81)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 6) -1/729) (+.f32 (pow.f32 (*.f32 u -4/3) 4) (fma.f32 (*.f32 u u) 16/81 1/81)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 6) -1/729) (+.f32 (pow.f32 (*.f32 u -4/3) 4) (-.f32 1/81 (*.f32 (*.f32 u (*.f32 16/9 u)) -1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 4) -1/81) (fma.f32 u (*.f32 16/9 u) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 6) -1/729)) (neg.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 4) (fma.f32 (*.f32 u u) 16/81 1/81))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 4) -1/81)) (neg.f32 (fma.f32 u (*.f32 16/9 u) 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 u (*.f32 16/9 u) -1/9) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u (*.f32 16/9 u) -1/9) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u (*.f32 16/9 u) -1/9) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 u (*.f32 16/9 u) -1/9)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 u (*.f32 16/9 u) -1/9)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 4) (fma.f32 (*.f32 u u) 16/81 1/81)) (+.f32 (pow.f32 (*.f32 u -4/3) 6) -1/729)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (fma.f32 u (*.f32 16/9 u) 1/9) (+.f32 (pow.f32 (*.f32 u -4/3) 4) -1/81)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 u (*.f32 16/9 u) -1/9) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 u (*.f32 16/9 u) -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 u (*.f32 16/9 u) -1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 u (*.f32 16/9 u) -1/9) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 u (*.f32 16/9 u) -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 u (*.f32 16/9 u) -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 u (*.f32 16/9 u) -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 u (*.f32 16/9 u) -1/9)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u (*.f32 16/9 u) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u (*.f32 u 16/9) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -4/3 (*.f32 u (*.f32 u -4/3)) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u -4/3) (*.f32 u -4/3) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (*.f32 16/9 u)) 1 -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 u (*.f32 16/9 u)) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u u) 16/9 -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 16/9 (*.f32 u u) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (*.f32 u -4/3) 4)) (pow.f32 (cbrt.f32 (*.f32 u -4/3)) 2) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 u) 2) (*.f32 (cbrt.f32 u) (*.f32 16/9 u)) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 u -4/3)) 2) (cbrt.f32 (pow.f32 (*.f32 u -4/3) 4)) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 u -4/3)) 2) (*.f32 (cbrt.f32 (*.f32 u -4/3)) (*.f32 u -4/3)) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 u) (*.f32 (sqrt.f32 u) (*.f32 16/9 u)) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 u -4/3)) (*.f32 (sqrt.f32 (*.f32 u -4/3)) (*.f32 u -4/3)) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 16/9 u) u -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (*.f32 u -4/3)) -4/3 -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (sqrt.f32 (*.f32 u -4/3)) 3) (sqrt.f32 (*.f32 u -4/3)) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u -4/3) (pow.f32 (cbrt.f32 (*.f32 u -4/3)) 2)) (cbrt.f32 (*.f32 u -4/3)) -1/9))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)) 2)) (log.f32 (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 u -4/3 1/3)))) (log.f32 (hypot.f32 1 (sqrt.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log1p.f32 (pow.f32 (fma.f32 u -4/3 1/3) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (-.f32 1 (pow.f32 (fma.f32 u -4/3 1/3) 2))) (log.f32 (-.f32 1 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 (fma.f32 u -4/3 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 u -4/3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1/3 (*.f32 u -4/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (fma.f32 u -4/3 -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (fma.f32 u -4/3 -1/3))) 2)) (log.f32 (cbrt.f32 (exp.f32 (fma.f32 u -4/3 -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (fma.f32 u -4/3 -1/3)))) (log.f32 (sqrt.f32 (exp.f32 (fma.f32 u -4/3 -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 u (*.f32 16/9 u) -1/9) (/.f32 1 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 u -4/3 -1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 u -4/3 -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 u -4/3 -1/3)) (pow.f32 (cbrt.f32 (fma.f32 u -4/3 -1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 u -4/3 -1/3)) 2) (cbrt.f32 (fma.f32 u -4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 u -4/3 -1/3)) (sqrt.f32 (fma.f32 u -4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 (pow.f32 u 3) -64/27 -1/27) (/.f32 1 (fma.f32 u (*.f32 16/9 u) (fma.f32 u -4/9 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 u (*.f32 16/9 u) -1/9) (fma.f32 u -4/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 u (*.f32 16/9 u) (fma.f32 u -4/9 1/9)) (fma.f32 (pow.f32 u 3) -64/27 -1/27)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 u -4/3 1/3) (fma.f32 u (*.f32 16/9 u) -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (cbrt.f32 (fma.f32 u (*.f32 16/9 u) -1/9)) 2) (/.f32 (fma.f32 u -4/3 1/3) (cbrt.f32 (fma.f32 u (*.f32 16/9 u) -1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (fma.f32 u (*.f32 16/9 u) -1/9)) (/.f32 (fma.f32 u -4/3 1/3) (sqrt.f32 (fma.f32 u (*.f32 16/9 u) -1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (fma.f32 u (*.f32 16/9 u) -1/9)) (neg.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (pow.f32 u 3) -64/27 -1/27) (fma.f32 u (*.f32 16/9 u) (fma.f32 u -4/9 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (pow.f32 u 3) -64/27 -1/27) (fma.f32 u (*.f32 16/9 u) (-.f32 1/9 (*.f32 (*.f32 u -4/3) -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 6) -1/729) (*.f32 (fma.f32 u -4/3 1/3) (+.f32 (pow.f32 (*.f32 u -4/3) 4) (fma.f32 (*.f32 u u) 16/81 1/81))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 u -4/3) 4) -1/81) (*.f32 (fma.f32 u -4/3 1/3) (fma.f32 u (*.f32 16/9 u) 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (fma.f32 (pow.f32 u 3) -64/27 -1/27)) (neg.f32 (fma.f32 u (*.f32 16/9 u) (fma.f32 u -4/9 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 u -4/3 -1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u -4/3 -1/3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u -4/3 -1/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 u -4/3 -1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 u -4/3 -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (fma.f32 u (*.f32 16/9 u) (fma.f32 u -4/9 1/9)) (fma.f32 (pow.f32 u 3) -64/27 -1/27)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (fma.f32 u -4/3 1/3) (fma.f32 u (*.f32 16/9 u) -1/9)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 u -4/3 -1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 u -4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 u -4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 u -4/3 -1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 u -4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 u -4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 u -4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 u -4/3 -1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u -4/3 -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u 4/3 -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -4/3 u -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u -4/3) 1 -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 u -4/3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 u) 2) (*.f32 (cbrt.f32 u) -4/3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 u -4/3)) (pow.f32 (cbrt.f32 (*.f32 u -4/3)) 2) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 u -4/3)) 2) (cbrt.f32 (*.f32 u -4/3)) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 u) (sqrt.f32 (*.f32 16/9 u)) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 u) (*.f32 (sqrt.f32 u) -4/3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 u -4/3)) (sqrt.f32 (*.f32 u -4/3)) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (cbrt.f32 (pow.f32 (*.f32 u -4/3) 4))) (sqrt.f32 (pow.f32 (cbrt.f32 (*.f32 u -4/3)) 2)) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 u (*.f32 u -4/3))) (sqrt.f32 -4/3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 -4/3 (pow.f32 (cbrt.f32 u) 2)) (cbrt.f32 u) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 -4/3 (sqrt.f32 u)) (sqrt.f32 u) -1/3))))) |
| 1× | egg-herbie |
| 840× | fma-neg_binary32 |
| 798× | sub-neg_binary32 |
| 401× | fma-def_binary32 |
| 358× | associate-+l-_binary32 |
| 243× | associate--l+_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 53 | 455 |
| 1 | 141 | 437 |
| 2 | 372 | 433 |
| 3 | 1196 | 429 |
| 4 | 4636 | 429 |
| 1× | node limit |
| Inputs |
|---|
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (pow.f32 u 2)) |
-1/9 |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(*.f32 16/9 (pow.f32 u 2)) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(*.f32 16/9 (pow.f32 u 2)) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(log.f32 4/3) |
(+.f32 (log.f32 4/3) (*.f32 -1 u)) |
(+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u))) |
(+.f32 (*.f32 -1/3 (pow.f32 u 3)) (+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u)))) |
(+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (/.f32 1 u)) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
(+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (/.f32 1 u)) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
-1/3 |
(-.f32 (*.f32 -4/3 u) 1/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(*.f32 -4/3 u) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(*.f32 -4/3 u) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
| Outputs |
|---|
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
-1/9 |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(fma.f32 16/9 (*.f32 u u) -1/9) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(fma.f32 16/9 (*.f32 u u) -1/9) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(fma.f32 16/9 (*.f32 u u) -1/9) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(fma.f32 16/9 (*.f32 u u) -1/9) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(fma.f32 16/9 (*.f32 u u) -1/9) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(fma.f32 16/9 (*.f32 u u) -1/9) |
(*.f32 16/9 (pow.f32 u 2)) |
(*.f32 16/9 (*.f32 u u)) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(fma.f32 16/9 (*.f32 u u) -1/9) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(fma.f32 16/9 (*.f32 u u) -1/9) |
(-.f32 (*.f32 16/9 (pow.f32 u 2)) 1/9) |
(fma.f32 16/9 (*.f32 u u) -1/9) |
(log.f32 4/3) |
(+.f32 (log.f32 4/3) (*.f32 -1 u)) |
(+.f32 (log.f32 4/3) (neg.f32 u)) |
(-.f32 (log.f32 4/3) u) |
(+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u))) |
(+.f32 (log.f32 4/3) (fma.f32 -1/2 (*.f32 u u) (neg.f32 u))) |
(+.f32 (log.f32 4/3) (-.f32 (*.f32 (*.f32 u u) -1/2) u)) |
(-.f32 (fma.f32 (*.f32 u u) -1/2 (log.f32 4/3)) u) |
(fma.f32 u (fma.f32 u -1/2 -1) (log.f32 4/3)) |
(+.f32 (*.f32 -1/3 (pow.f32 u 3)) (+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u)))) |
(fma.f32 -1/3 (pow.f32 u 3) (+.f32 (log.f32 4/3) (fma.f32 -1/2 (*.f32 u u) (neg.f32 u)))) |
(+.f32 (-.f32 (*.f32 (*.f32 u u) -1/2) u) (fma.f32 -1/3 (pow.f32 u 3) (log.f32 4/3))) |
(-.f32 (fma.f32 -1/3 (pow.f32 u 3) (fma.f32 (*.f32 u u) -1/2 (log.f32 4/3))) u) |
(fma.f32 u (fma.f32 u -1/2 -1) (fma.f32 -1/3 (pow.f32 u 3) (log.f32 4/3))) |
(+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) |
(fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) |
(+.f32 (log.f32 -4/3) (log.f32 u)) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (/.f32 1 u)) |
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (/.f32 1 u)) |
(+.f32 (log.f32 u) (+.f32 (log.f32 -4/3) (/.f32 -1 u))) |
(+.f32 (log.f32 -4/3) (+.f32 (log.f32 u) (/.f32 -1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (log.f32 -4/3) (-.f32 (log.f32 u) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u))))) |
(+.f32 (log.f32 u) (+.f32 (+.f32 (log.f32 -4/3) (/.f32 -1 u)) (/.f32 -1/2 (*.f32 u u)))) |
(+.f32 (log.f32 -4/3) (+.f32 (log.f32 u) (+.f32 (/.f32 -1 u) (/.f32 -1/2 (*.f32 u u))))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) |
(+.f32 (log.f32 u) (-.f32 (-.f32 (log.f32 -4/3) (+.f32 (/.f32 1/2 (*.f32 u u)) (/.f32 1/3 (pow.f32 u 3)))) (/.f32 1 u))) |
(+.f32 (+.f32 (+.f32 (log.f32 -4/3) (/.f32 -1 u)) (/.f32 -1/2 (*.f32 u u))) (-.f32 (log.f32 u) (/.f32 1/3 (pow.f32 u 3)))) |
(+.f32 (log.f32 -4/3) (+.f32 (log.f32 u) (+.f32 (+.f32 (/.f32 -1 u) (/.f32 -1/2 (*.f32 u u))) (/.f32 -1/3 (pow.f32 u 3))))) |
(+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) |
(fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) |
(-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (/.f32 1 u)) |
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (/.f32 1 u)) |
(+.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 -1 u)) |
(-.f32 (log.f32 4/3) (+.f32 (log.f32 (/.f32 -1 u)) (/.f32 1 u))) |
(-.f32 (+.f32 (log.f32 4/3) (/.f32 -1 u)) (log.f32 (/.f32 -1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u)))) |
(-.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (-.f32 (log.f32 4/3) (+.f32 (log.f32 (/.f32 -1 u)) (/.f32 1 u))) (/.f32 -1/2 (*.f32 u u))) |
(+.f32 (log.f32 4/3) (-.f32 (+.f32 (/.f32 -1 u) (/.f32 -1/2 (*.f32 u u))) (log.f32 (/.f32 -1 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) |
(-.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (+.f32 (/.f32 1 u) (+.f32 (/.f32 1/2 (*.f32 u u)) (/.f32 1/3 (pow.f32 u 3))))) |
(+.f32 (-.f32 (log.f32 4/3) (+.f32 (log.f32 (/.f32 -1 u)) (/.f32 1/2 (*.f32 u u)))) (-.f32 (/.f32 -1 u) (/.f32 1/3 (pow.f32 u 3)))) |
(+.f32 (log.f32 4/3) (+.f32 (-.f32 (+.f32 (/.f32 -1 u) (/.f32 -1/2 (*.f32 u u))) (log.f32 (/.f32 -1 u))) (/.f32 -1/3 (pow.f32 u 3)))) |
(+.f32 (log.f32 4/3) (+.f32 (/.f32 -1 u) (-.f32 (+.f32 (/.f32 -1/2 (*.f32 u u)) (/.f32 -1/3 (pow.f32 u 3))) (log.f32 (/.f32 -1 u))))) |
-1/3 |
(-.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u -1/3) |
(fma.f32 u -4/3 -1/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u -1/3) |
(fma.f32 u -4/3 -1/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u -1/3) |
(fma.f32 u -4/3 -1/3) |
(*.f32 -4/3 u) |
(*.f32 u -4/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u -1/3) |
(fma.f32 u -4/3 -1/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u -1/3) |
(fma.f32 u -4/3 -1/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u -1/3) |
(fma.f32 u -4/3 -1/3) |
(*.f32 -4/3 u) |
(*.f32 u -4/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u -1/3) |
(fma.f32 u -4/3 -1/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u -1/3) |
(fma.f32 u -4/3 -1/3) |
(-.f32 (*.f32 -4/3 u) 1/3) |
(fma.f32 -4/3 u -1/3) |
(fma.f32 u -4/3 -1/3) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f32 (*.f32 3 s) (exp.f32 (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) |
| 0.3b | (*.f32 (+.f32 u -1/4) -4/3) | |
| 0.4b | (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)) | |
| ✓ | 0.7b | (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
Compiled 61 to 50 computations (18% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | u | @ | inf | (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
| 1.0ms | u | @ | -inf | (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
| 1.0ms | u | @ | 0 | (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
| 0.0ms | u | @ | inf | (*.f32 (*.f32 3 s) (exp.f32 (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) |
| 0.0ms | u | @ | -inf | (*.f32 (*.f32 3 s) (exp.f32 (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) |
| 1× | batch-egg-rewrite |
| 562× | log-prod_binary32 |
| 310× | pow-prod-down_binary32 |
| 308× | pow2_binary32 |
| 219× | expm1-udef_binary32 |
| 219× | log1p-udef_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 30 |
| 1 | 278 | 26 |
| 2 | 3258 | 22 |
| 1× | node limit |
| Inputs |
|---|
(log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
(*.f32 (*.f32 3 s) (exp.f32 (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (log.f32 -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 -1) (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 2 (log.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) (log.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 2 (log.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) (log.f32 (neg.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (log.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (log.f32 (neg.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (*.f32 2 (log.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (neg.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) (log.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (neg.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2))) (log.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 -1 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2))) (log.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (*.f32 -1 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) (log.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (-.f32 0 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3))) (log.f32 (+.f32 0 (+.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2) (*.f32 0 (log1p.f32 (fma.f32 u -4/3 1/3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (-.f32 0 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))) (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 3 (log.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (pow.f32 (cbrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 2) (cbrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (sqrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/3 (*.f32 3 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (log.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (-.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (log.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) 2)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 3 s))) 2)) (log.f32 (cbrt.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 3 s)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 3 s)))) (log.f32 (sqrt.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 3 s)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 9 (pow.f32 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 9 (pow.f32 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) (*.f32 3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (/.f32 1 (+.f32 1 (expm1.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))) 2)))))) |
| 1× | egg-herbie |
| 726× | distribute-rgt-in_binary32 |
| 708× | distribute-lft-in_binary32 |
| 549× | fma-def_binary32 |
| 357× | times-frac_binary32 |
| 206× | associate-*l*_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 136 | 1228 |
| 1 | 383 | 1105 |
| 2 | 1130 | 1048 |
| 3 | 4049 | 1037 |
| 1× | node limit |
| Inputs |
|---|
(log.f32 (neg.f32 (log.f32 4/3))) |
(+.f32 (*.f32 -1 (/.f32 u (log.f32 4/3))) (log.f32 (neg.f32 (log.f32 4/3)))) |
(+.f32 (*.f32 -1 (/.f32 u (log.f32 4/3))) (+.f32 (log.f32 (neg.f32 (log.f32 4/3))) (*.f32 -1/2 (*.f32 (+.f32 (/.f32 1 (log.f32 4/3)) (/.f32 1 (pow.f32 (log.f32 4/3) 2))) (pow.f32 u 2))))) |
(+.f32 (*.f32 -1 (/.f32 u (log.f32 4/3))) (+.f32 (log.f32 (neg.f32 (log.f32 4/3))) (+.f32 (*.f32 -1/6 (*.f32 (+.f32 (*.f32 2 (/.f32 1 (log.f32 4/3))) (+.f32 (*.f32 3 (/.f32 1 (pow.f32 (log.f32 4/3) 2))) (*.f32 2 (/.f32 1 (pow.f32 (log.f32 4/3) 3))))) (pow.f32 u 3))) (*.f32 -1/2 (*.f32 (+.f32 (/.f32 1 (log.f32 4/3)) (/.f32 1 (pow.f32 (log.f32 4/3) 2))) (pow.f32 u 2)))))) |
(log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) |
(-.f32 (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (/.f32 1 (*.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) u))) |
(-.f32 (+.f32 (*.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (/.f32 1 (pow.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) 2))) (pow.f32 u 2))) (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) (/.f32 1 (*.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) u))) |
(-.f32 (+.f32 (*.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (/.f32 1 (pow.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) 2))) (pow.f32 u 2))) (+.f32 (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (/.f32 1 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (+.f32 (*.f32 3 (/.f32 1 (pow.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) 2))) (*.f32 2 (/.f32 1 (pow.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) 3))))) (pow.f32 u 3))) (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))))) (/.f32 1 (*.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) u))) |
(log.f32 (neg.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(-.f32 (log.f32 (neg.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (/.f32 1 (*.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) u))) |
(-.f32 (+.f32 (*.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) (/.f32 1 (pow.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) 2))) (pow.f32 u 2))) (log.f32 (neg.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) (/.f32 1 (*.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) u))) |
(-.f32 (+.f32 (*.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) (/.f32 1 (pow.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) 2))) (pow.f32 u 2))) (+.f32 (log.f32 (neg.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (/.f32 1 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (+.f32 (*.f32 3 (/.f32 1 (pow.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) 2))) (*.f32 2 (/.f32 1 (pow.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) 3))))) (pow.f32 u 3))))) (/.f32 1 (*.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) u))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 -3 (*.f32 s (log.f32 4/3))) |
(+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3)))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3))))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 -3 (*.f32 s (log.f32 4/3)))))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
| Outputs |
|---|
(log.f32 (neg.f32 (log.f32 4/3))) |
(+.f32 (*.f32 -1 (/.f32 u (log.f32 4/3))) (log.f32 (neg.f32 (log.f32 4/3)))) |
(fma.f32 -1 (/.f32 u (log.f32 4/3)) (log.f32 (neg.f32 (log.f32 4/3)))) |
(-.f32 (log.f32 (neg.f32 (log.f32 4/3))) (/.f32 u (log.f32 4/3))) |
(+.f32 (*.f32 -1 (/.f32 u (log.f32 4/3))) (+.f32 (log.f32 (neg.f32 (log.f32 4/3))) (*.f32 -1/2 (*.f32 (+.f32 (/.f32 1 (log.f32 4/3)) (/.f32 1 (pow.f32 (log.f32 4/3) 2))) (pow.f32 u 2))))) |
(+.f32 (fma.f32 -1 (/.f32 u (log.f32 4/3)) (log.f32 (neg.f32 (log.f32 4/3)))) (*.f32 -1/2 (*.f32 (+.f32 (/.f32 1 (log.f32 4/3)) (/.f32 1 (pow.f32 (log.f32 4/3) 2))) (*.f32 u u)))) |
(-.f32 (fma.f32 (*.f32 -1/2 (+.f32 (/.f32 1 (log.f32 4/3)) (/.f32 1 (pow.f32 (log.f32 4/3) 2)))) (*.f32 u u) (log.f32 (neg.f32 (log.f32 4/3)))) (/.f32 u (log.f32 4/3))) |
(-.f32 (fma.f32 (*.f32 u u) (+.f32 (/.f32 -1/2 (log.f32 4/3)) (/.f32 -1/2 (pow.f32 (log.f32 4/3) 2))) (log.f32 (neg.f32 (log.f32 4/3)))) (/.f32 u (log.f32 4/3))) |
(fma.f32 (*.f32 u u) (+.f32 (/.f32 -1/2 (log.f32 4/3)) (/.f32 -1/2 (pow.f32 (log.f32 4/3) 2))) (-.f32 (log.f32 (neg.f32 (log.f32 4/3))) (/.f32 u (log.f32 4/3)))) |
(+.f32 (*.f32 -1 (/.f32 u (log.f32 4/3))) (+.f32 (log.f32 (neg.f32 (log.f32 4/3))) (+.f32 (*.f32 -1/6 (*.f32 (+.f32 (*.f32 2 (/.f32 1 (log.f32 4/3))) (+.f32 (*.f32 3 (/.f32 1 (pow.f32 (log.f32 4/3) 2))) (*.f32 2 (/.f32 1 (pow.f32 (log.f32 4/3) 3))))) (pow.f32 u 3))) (*.f32 -1/2 (*.f32 (+.f32 (/.f32 1 (log.f32 4/3)) (/.f32 1 (pow.f32 (log.f32 4/3) 2))) (pow.f32 u 2)))))) |
(+.f32 (fma.f32 -1 (/.f32 u (log.f32 4/3)) (log.f32 (neg.f32 (log.f32 4/3)))) (fma.f32 -1/6 (*.f32 (+.f32 (/.f32 2 (log.f32 4/3)) (+.f32 (/.f32 3 (pow.f32 (log.f32 4/3) 2)) (/.f32 2 (pow.f32 (log.f32 4/3) 3)))) (pow.f32 u 3)) (*.f32 -1/2 (*.f32 (+.f32 (/.f32 1 (log.f32 4/3)) (/.f32 1 (pow.f32 (log.f32 4/3) 2))) (*.f32 u u))))) |
(+.f32 (-.f32 (log.f32 (neg.f32 (log.f32 4/3))) (/.f32 u (log.f32 4/3))) (fma.f32 -1/2 (*.f32 u (*.f32 u (+.f32 (/.f32 1 (log.f32 4/3)) (/.f32 1 (pow.f32 (log.f32 4/3) 2))))) (*.f32 -1/6 (*.f32 (+.f32 (/.f32 2 (log.f32 4/3)) (+.f32 (/.f32 3 (pow.f32 (log.f32 4/3) 2)) (/.f32 2 (pow.f32 (log.f32 4/3) 3)))) (pow.f32 u 3))))) |
(-.f32 (fma.f32 (*.f32 u u) (+.f32 (/.f32 -1/2 (log.f32 4/3)) (/.f32 -1/2 (pow.f32 (log.f32 4/3) 2))) (fma.f32 (pow.f32 u 3) (fma.f32 -1/6 (+.f32 (/.f32 3 (pow.f32 (log.f32 4/3) 2)) (/.f32 2 (pow.f32 (log.f32 4/3) 3))) (/.f32 -1/3 (log.f32 4/3))) (log.f32 (neg.f32 (log.f32 4/3))))) (/.f32 u (log.f32 4/3))) |
(log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) |
(log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))))) |
(log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (log.f32 u)))) |
(log.f32 (-.f32 (neg.f32 (log.f32 u)) (log.f32 -4/3))) |
(-.f32 (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (/.f32 1 (*.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) u))) |
(-.f32 (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))))) (/.f32 1 (*.f32 u (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))))) |
(+.f32 (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (log.f32 u)))) (/.f32 -1 (*.f32 u (+.f32 (log.f32 -4/3) (log.f32 u))))) |
(+.f32 (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (log.f32 u)))) (/.f32 (/.f32 -1 u) (+.f32 (log.f32 -4/3) (log.f32 u)))) |
(+.f32 (log.f32 (-.f32 (neg.f32 (log.f32 u)) (log.f32 -4/3))) (/.f32 (/.f32 -1 u) (+.f32 (log.f32 -4/3) (log.f32 u)))) |
(-.f32 (+.f32 (*.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (/.f32 1 (pow.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) 2))) (pow.f32 u 2))) (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) (/.f32 1 (*.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) u))) |
(-.f32 (fma.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))) (/.f32 1 (pow.f32 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) 2))) (*.f32 u u)) (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))))) (/.f32 1 (*.f32 u (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))))) |
(+.f32 (fma.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 -4/3) (log.f32 u))) (/.f32 1 (pow.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) 2))) (*.f32 u u)) (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (log.f32 u))))) (/.f32 -1 (*.f32 u (+.f32 (log.f32 -4/3) (log.f32 u))))) |
(+.f32 (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (log.f32 u)))) (+.f32 (/.f32 (+.f32 (/.f32 -1/2 (+.f32 (log.f32 -4/3) (log.f32 u))) (/.f32 -1/2 (pow.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) 2))) (*.f32 u u)) (/.f32 (/.f32 -1 u) (+.f32 (log.f32 -4/3) (log.f32 u))))) |
(+.f32 (log.f32 (-.f32 (neg.f32 (log.f32 u)) (log.f32 -4/3))) (+.f32 (/.f32 (+.f32 (/.f32 -1/2 (+.f32 (log.f32 -4/3) (log.f32 u))) (/.f32 -1/2 (pow.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) 2))) (*.f32 u u)) (/.f32 (/.f32 -1 u) (+.f32 (log.f32 -4/3) (log.f32 u))))) |
(-.f32 (+.f32 (*.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (/.f32 1 (pow.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) 2))) (pow.f32 u 2))) (+.f32 (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (/.f32 1 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (+.f32 (*.f32 3 (/.f32 1 (pow.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) 2))) (*.f32 2 (/.f32 1 (pow.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) 3))))) (pow.f32 u 3))) (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))))) (/.f32 1 (*.f32 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) u))) |
(-.f32 (fma.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))) (/.f32 1 (pow.f32 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) 2))) (*.f32 u u)) (fma.f32 -1/6 (/.f32 (+.f32 (/.f32 2 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))) (+.f32 (/.f32 3 (pow.f32 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) 2)) (/.f32 2 (pow.f32 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) 3)))) (pow.f32 u 3)) (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))))))) (/.f32 1 (*.f32 u (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))))) |
(+.f32 (fma.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 -4/3) (log.f32 u))) (/.f32 1 (pow.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) 2))) (*.f32 u u)) (fma.f32 -1/6 (/.f32 (+.f32 (/.f32 2 (+.f32 (log.f32 -4/3) (log.f32 u))) (+.f32 (/.f32 3 (pow.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) 2)) (/.f32 2 (pow.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) 3)))) (pow.f32 u 3)) (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (log.f32 u)))))) (/.f32 -1 (*.f32 u (+.f32 (log.f32 -4/3) (log.f32 u))))) |
(+.f32 (+.f32 (log.f32 (neg.f32 (+.f32 (log.f32 -4/3) (log.f32 u)))) (/.f32 (/.f32 -1 u) (+.f32 (log.f32 -4/3) (log.f32 u)))) (fma.f32 -1/6 (/.f32 (+.f32 (/.f32 2 (+.f32 (log.f32 -4/3) (log.f32 u))) (+.f32 (/.f32 3 (pow.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) 2)) (/.f32 2 (pow.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) 3)))) (pow.f32 u 3)) (/.f32 (+.f32 (/.f32 -1/2 (+.f32 (log.f32 -4/3) (log.f32 u))) (/.f32 -1/2 (pow.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) 2))) (*.f32 u u)))) |
(+.f32 (log.f32 (-.f32 (neg.f32 (log.f32 u)) (log.f32 -4/3))) (+.f32 (/.f32 (fma.f32 -1/6 (+.f32 (/.f32 3 (pow.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) 2)) (/.f32 2 (pow.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) 3))) (/.f32 -1/3 (+.f32 (log.f32 -4/3) (log.f32 u)))) (pow.f32 u 3)) (+.f32 (/.f32 (+.f32 (/.f32 -1/2 (+.f32 (log.f32 -4/3) (log.f32 u))) (/.f32 -1/2 (pow.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) 2))) (*.f32 u u)) (/.f32 (/.f32 -1 u) (+.f32 (log.f32 -4/3) (log.f32 u)))))) |
(log.f32 (neg.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(log.f32 (neg.f32 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))))) |
(log.f32 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3))) |
(-.f32 (log.f32 (neg.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (/.f32 1 (*.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) u))) |
(-.f32 (log.f32 (neg.f32 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))))) (/.f32 1 (*.f32 u (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (log.f32 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3))) (/.f32 -1 (*.f32 u (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) |
(+.f32 (log.f32 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3))) (/.f32 (/.f32 -1 u) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))))) |
(-.f32 (+.f32 (*.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) (/.f32 1 (pow.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) 2))) (pow.f32 u 2))) (log.f32 (neg.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) (/.f32 1 (*.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) u))) |
(-.f32 (fma.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))) (/.f32 1 (pow.f32 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))) 2))) (*.f32 u u)) (log.f32 (neg.f32 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))))) (/.f32 1 (*.f32 u (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (fma.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (/.f32 1 (pow.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) 2))) (*.f32 u u)) (log.f32 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3)))) (/.f32 -1 (*.f32 u (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) |
(+.f32 (+.f32 (log.f32 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3))) (/.f32 (/.f32 -1 u) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))))) (/.f32 (+.f32 (/.f32 -1/2 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (/.f32 -1/2 (pow.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) 2))) (*.f32 u u))) |
(-.f32 (+.f32 (*.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) (/.f32 1 (pow.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) 2))) (pow.f32 u 2))) (+.f32 (log.f32 (neg.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 -1/6 (/.f32 (+.f32 (*.f32 2 (/.f32 1 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (+.f32 (*.f32 3 (/.f32 1 (pow.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) 2))) (*.f32 2 (/.f32 1 (pow.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) 3))))) (pow.f32 u 3))))) (/.f32 1 (*.f32 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) u))) |
(-.f32 (+.f32 (fma.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))) (/.f32 1 (pow.f32 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))) 2))) (*.f32 u u)) (log.f32 (neg.f32 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))))) (*.f32 -1/6 (/.f32 (+.f32 (/.f32 2 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))) (+.f32 (/.f32 3 (pow.f32 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))) 2)) (/.f32 2 (pow.f32 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))) 3)))) (pow.f32 u 3)))) (/.f32 1 (*.f32 u (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (fma.f32 -1/2 (/.f32 (+.f32 (/.f32 1 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (/.f32 1 (pow.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) 2))) (*.f32 u u)) (fma.f32 -1/6 (/.f32 (+.f32 (/.f32 2 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (+.f32 (/.f32 3 (pow.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) 2)) (/.f32 2 (pow.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) 3)))) (pow.f32 u 3)) (log.f32 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3))))) (/.f32 -1 (*.f32 u (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) |
(+.f32 (log.f32 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3))) (+.f32 (/.f32 (+.f32 (/.f32 -1/2 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (/.f32 -1/2 (pow.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) 2))) (*.f32 u u)) (+.f32 (/.f32 (fma.f32 -1/6 (+.f32 (/.f32 2 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (/.f32 3 (pow.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) 2))) (/.f32 -1/3 (pow.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) 3))) (pow.f32 u 3)) (/.f32 (/.f32 -1 u) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))))))) |
(+.f32 (+.f32 (log.f32 (-.f32 (log.f32 (/.f32 -1 u)) (log.f32 4/3))) (/.f32 (/.f32 -1 u) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))))) (fma.f32 -1/6 (/.f32 (+.f32 (/.f32 3 (pow.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) 2)) (+.f32 (/.f32 2 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (/.f32 2 (pow.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) 3)))) (pow.f32 u 3)) (/.f32 (+.f32 (/.f32 -1/2 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (/.f32 -1/2 (pow.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) 2))) (*.f32 u u)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 -3 s) (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 -3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (*.f32 -3 s)) |
(*.f32 -3 (*.f32 s (log.f32 4/3))) |
(*.f32 (*.f32 -3 s) (log.f32 4/3)) |
(*.f32 (log.f32 4/3) (*.f32 -3 s)) |
(+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3)))) |
(fma.f32 3 (*.f32 u s) (*.f32 (*.f32 -3 s) (log.f32 4/3))) |
(fma.f32 3 (*.f32 u s) (*.f32 (log.f32 4/3) (*.f32 -3 s))) |
(*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u 3))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3))))) |
(fma.f32 3/2 (*.f32 (*.f32 u u) s) (fma.f32 3 (*.f32 u s) (*.f32 (*.f32 -3 s) (log.f32 4/3)))) |
(fma.f32 3/2 (*.f32 u (*.f32 u s)) (fma.f32 3 (*.f32 u s) (*.f32 (log.f32 4/3) (*.f32 -3 s)))) |
(fma.f32 (*.f32 u u) (*.f32 s 3/2) (*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u 3)))) |
(*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u (+.f32 3 (*.f32 3/2 u))))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 -3 (*.f32 s (log.f32 4/3)))))) |
(fma.f32 3/2 (*.f32 (*.f32 u u) s) (fma.f32 3 (*.f32 u s) (fma.f32 s (pow.f32 u 3) (*.f32 (*.f32 -3 s) (log.f32 4/3))))) |
(fma.f32 3/2 (*.f32 u (*.f32 u s)) (fma.f32 3 (*.f32 u s) (fma.f32 (pow.f32 u 3) s (*.f32 (log.f32 4/3) (*.f32 -3 s))))) |
(fma.f32 (*.f32 u u) (*.f32 s 3/2) (fma.f32 (log.f32 4/3) (*.f32 -3 s) (*.f32 s (+.f32 (*.f32 u 3) (pow.f32 u 3))))) |
(*.f32 s (+.f32 (+.f32 (*.f32 (log.f32 4/3) -3) (pow.f32 u 3)) (*.f32 u (+.f32 3 (*.f32 3/2 u))))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) |
(*.f32 (*.f32 -3 s) (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))) |
(*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s)) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(fma.f32 3 (/.f32 s u) (*.f32 (*.f32 -3 s) (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))))) |
(fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) s) (*.f32 3 (/.f32 s u))) |
(fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (*.f32 3 (/.f32 s u))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) -3) (/.f32 3 u))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(+.f32 (fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) (/.f32 s (pow.f32 u 3))) |
(+.f32 (fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) (/.f32 s (pow.f32 u 3))) |
(+.f32 (fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) (/.f32 s (pow.f32 u 3))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(*.f32 -3 (*.f32 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))) s)) |
(*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s)) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(fma.f32 3 (/.f32 s u) (*.f32 -3 (*.f32 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))) s))) |
(fma.f32 3 (/.f32 s u) (*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s))) |
(*.f32 s (+.f32 (/.f32 3 u) (*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) -3))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 (*.f32 -3 s) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))) s) (*.f32 3/2 (/.f32 s (*.f32 u u)))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 3 (/.f32 s u) (fma.f32 (*.f32 -3 s) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 3/2 (/.f32 s (*.f32 u u)))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))))) |
Compiled 15680 to 12258 computations (21.8% saved)
44 alts after pruning (37 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 769 | 16 | 785 |
| Fresh | 5 | 21 | 26 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 6 | 6 |
| Total | 774 | 44 | 818 |
| Status | Error | Program |
|---|---|---|
| 0.9b | (*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) | |
| 1.0b | (*.f32 (*.f32 3 s) (neg.f32 (log.f32 (fma.f32 (+.f32 u -1/4) -4/3 1)))) | |
| 1.1b | (*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) | |
| 1.2b | (*.f32 s (*.f32 (log1p.f32 (/.f32 (-.f32 (*.f32 16/9 (*.f32 u u)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) | |
| ✓ | 0.8b | (*.f32 (*.f32 3 s) (exp.f32 (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) |
| 0.9b | (*.f32 s (-.f32 (+.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1)) | |
| ▶ | 20.4b | (*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
| 28.8b | (-.f32 (+.f32 1 (*.f32 s (*.f32 (log.f32 3/4) 3))) 1) | |
| 1.1b | (*.f32 s (*.f32 (log1p.f32 (/.f32 (fma.f32 (*.f32 u (*.f32 u -4/3)) -4/3 -1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) | |
| 1.1b | (*.f32 s (*.f32 (log1p.f32 (/.f32 (fma.f32 (*.f32 u u) 16/9 -1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) | |
| 1.3b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (*.f32 -4/3 u) 4/3)))) | |
| 0.8b | (pow.f32 (sqrt.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))) 2) | |
| ✓ | 20.4b | (*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
| 0.9b | (pow.f32 (cbrt.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))) 3) | |
| 11.7b | (*.f32 s (*.f32 (expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) -3)) | |
| 21.8b | (*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u 3/2)))) | |
| 0.9b | (*.f32 s (*.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)) -3)) | |
| 3.1b | (exp.f32 (log.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) | |
| 21.8b | (*.f32 s (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) | |
| 1.0b | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) | |
| ▶ | 0.7b | (neg.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))) |
| ✓ | 0.7b | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
| ✓ | 0.7b | (*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
| 0.9b | (*.f32 (*.f32 3 s) (pow.f32 (sqrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 2)) | |
| 23.7b | (*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 s)) | |
| 20.4b | (*.f32 s (+.f32 (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u 3)) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) | |
| 23.7b | (+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u))) | |
| ▶ | 29.6b | (*.f32 (*.f32 3 s) (log.f32 3/4)) |
| 0.7b | (*.f32 s (expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))) | |
| 1.7b | (*.f32 s (*.f32 (+.f32 (log.f32 (pow.f32 (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)) 2)) (log.f32 (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)))) -3)) | |
| 1.0b | (*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) | |
| 0.7b | (*.f32 (*.f32 3 s) (pow.f32 (pow.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) 3) 1/3)) | |
| 23.7b | (*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u 3))) | |
| 22.0b | (*.f32 s (+.f32 (*.f32 u 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) | |
| ▶ | 1.5b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (-.f32 1 (*.f32 u 4/3)) 1/3)))) |
| ✓ | 29.6b | (*.f32 3 (*.f32 s (log.f32 3/4))) |
| ▶ | 1.1b | (*.f32 s (log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3))) |
| 1.2b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (*.f32 (+.f32 u -1/4) -4/3) 1)))) | |
| 0.9b | (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) | |
| 0.9b | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (/.f32 (*.f32 (fma.f32 u u -1/16) -4/3) (+.f32 u 1/4))))) | |
| ✓ | 1.3b | (*.f32 s (*.f32 (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) |
| ✓ | 1.2b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
| 23.7b | (*.f32 s (*.f32 (-.f32 (log.f32 4/3) u) -3)) | |
| 1.2b | (*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
Compiled 1201 to 995 computations (17.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))) |
| ✓ | 0.3b | (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
| 0.3b | (fma.f32 u -4/3 1/3) | |
| 0.4b | (log1p.f32 (fma.f32 u -4/3 1/3)) |
Compiled 42 to 32 computations (23.8% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | s | @ | 0 | (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
| 1.0ms | u | @ | inf | (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
| 1.0ms | s | @ | -inf | (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))) |
| 0.0ms | u | @ | inf | (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))) |
| 0.0ms | u | @ | -inf | (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
| 1× | batch-egg-rewrite |
| 886× | pow1_binary32 |
| 820× | add-log-exp_binary32 |
| 820× | expm1-log1p-u_binary32 |
| 819× | log1p-expm1-u_binary32 |
| 806× | add-exp-log_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 23 |
| 1 | 202 | 23 |
| 2 | 2209 | 23 |
| 1× | node limit |
| Inputs |
|---|
(*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 9 (pow.f32 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) s) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) s))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 s 3) (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3) (pow.f32 s 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))))))) |
| 1× | egg-herbie |
| 664× | fma-def_binary32 |
| 488× | associate-+r+_binary32 |
| 453× | associate-*l*_binary32 |
| 361× | fma-neg_binary32 |
| 329× | associate-*r*_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 87 | 909 |
| 1 | 257 | 854 |
| 2 | 786 | 810 |
| 3 | 2954 | 793 |
| 1× | node limit |
| Inputs |
|---|
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 4/3))) |
(+.f32 (*.f32 3 (*.f32 s (log.f32 4/3))) (*.f32 -3 (*.f32 s u))) |
(+.f32 (*.f32 -3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s (log.f32 4/3))) (*.f32 -3 (*.f32 s u)))) |
(+.f32 (*.f32 -3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s (log.f32 4/3))) (+.f32 (*.f32 -1 (*.f32 s (pow.f32 u 3))) (*.f32 -3 (*.f32 s u))))) |
(*.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) |
(+.f32 (*.f32 -3 (/.f32 s u)) (*.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(+.f32 (*.f32 -3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 -3/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (*.f32 -3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (+.f32 (*.f32 -3/2 (/.f32 s (pow.f32 u 2))) (*.f32 -1 (/.f32 s (pow.f32 u 3)))))) |
(*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (*.f32 -3 (/.f32 s u)) (*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (*.f32 -3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 -3/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (*.f32 -3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (+.f32 (*.f32 -3/2 (/.f32 s (pow.f32 u 2))) (*.f32 -1 (/.f32 s (pow.f32 u 3)))))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3))) |
(*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3))) |
(*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3))) |
(*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3))) |
(*.f32 s (log.f32 4/3)) |
(+.f32 (*.f32 s (log.f32 4/3)) (*.f32 -1 (*.f32 s u))) |
(+.f32 (*.f32 s (log.f32 4/3)) (+.f32 (*.f32 -1 (*.f32 s u)) (*.f32 -1/2 (*.f32 s (pow.f32 u 2))))) |
(+.f32 (*.f32 s (log.f32 4/3)) (+.f32 (*.f32 -1 (*.f32 s u)) (+.f32 (*.f32 -1/2 (*.f32 s (pow.f32 u 2))) (*.f32 -1/3 (*.f32 s (pow.f32 u 3)))))) |
(*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) |
(+.f32 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (*.f32 -1 (/.f32 s u))) |
(+.f32 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (+.f32 (*.f32 -1 (/.f32 s u)) (*.f32 -1/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (*.f32 -1/3 (/.f32 s (pow.f32 u 3))) (+.f32 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (+.f32 (*.f32 -1 (/.f32 s u)) (*.f32 -1/2 (/.f32 s (pow.f32 u 2)))))) |
(*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) |
(+.f32 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) (*.f32 -1 (/.f32 s u))) |
(+.f32 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) (+.f32 (*.f32 -1 (/.f32 s u)) (*.f32 -1/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) (+.f32 (*.f32 -1/3 (/.f32 s (pow.f32 u 3))) (+.f32 (*.f32 -1 (/.f32 s u)) (*.f32 -1/2 (/.f32 s (pow.f32 u 2)))))) |
| Outputs |
|---|
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 3 (*.f32 s (log.f32 4/3))) |
(*.f32 (*.f32 3 s) (log.f32 4/3)) |
(*.f32 (log.f32 4/3) (*.f32 3 s)) |
(+.f32 (*.f32 3 (*.f32 s (log.f32 4/3))) (*.f32 -3 (*.f32 s u))) |
(fma.f32 3 (*.f32 s (log.f32 4/3)) (*.f32 -3 (*.f32 s u))) |
(fma.f32 3 (*.f32 s (log.f32 4/3)) (*.f32 (*.f32 -3 u) s)) |
(*.f32 s (+.f32 (*.f32 3 (log.f32 4/3)) (*.f32 u -3))) |
(+.f32 (*.f32 -3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s (log.f32 4/3))) (*.f32 -3 (*.f32 s u)))) |
(fma.f32 -3/2 (*.f32 s (*.f32 u u)) (fma.f32 3 (*.f32 s (log.f32 4/3)) (*.f32 -3 (*.f32 s u)))) |
(fma.f32 -3/2 (*.f32 s (*.f32 u u)) (fma.f32 3 (*.f32 s (log.f32 4/3)) (*.f32 (*.f32 -3 u) s))) |
(fma.f32 3 (*.f32 s (log.f32 4/3)) (*.f32 s (+.f32 (*.f32 u (*.f32 u -3/2)) (*.f32 u -3)))) |
(*.f32 s (+.f32 (*.f32 u (+.f32 (*.f32 -3/2 u) -3)) (*.f32 3 (log.f32 4/3)))) |
(+.f32 (*.f32 -3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s (log.f32 4/3))) (+.f32 (*.f32 -1 (*.f32 s (pow.f32 u 3))) (*.f32 -3 (*.f32 s u))))) |
(fma.f32 -3/2 (*.f32 s (*.f32 u u)) (fma.f32 3 (*.f32 s (log.f32 4/3)) (fma.f32 -1 (*.f32 s (pow.f32 u 3)) (*.f32 -3 (*.f32 s u))))) |
(fma.f32 -3/2 (*.f32 s (*.f32 u u)) (fma.f32 3 (*.f32 s (log.f32 4/3)) (-.f32 (*.f32 (*.f32 -3 u) s) (*.f32 s (pow.f32 u 3))))) |
(fma.f32 3 (*.f32 s (log.f32 4/3)) (fma.f32 s (*.f32 u (*.f32 u -3/2)) (*.f32 (*.f32 s u) (-.f32 -3 (*.f32 u u))))) |
(*.f32 s (+.f32 (-.f32 (*.f32 3 (log.f32 4/3)) (pow.f32 u 3)) (*.f32 u (+.f32 (*.f32 -3/2 u) -3)))) |
(*.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) |
(*.f32 (*.f32 3 s) (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))) |
(*.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u)))) |
(*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 3 s)) |
(+.f32 (*.f32 -3 (/.f32 s u)) (*.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(fma.f32 -3 (/.f32 s u) (*.f32 (*.f32 3 s) (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))))) |
(fma.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))) (*.f32 -3 (/.f32 s u))) |
(fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 3 s) (*.f32 (/.f32 -3 u) s)) |
(*.f32 s (+.f32 (*.f32 3 (+.f32 (log.f32 -4/3) (log.f32 u))) (/.f32 -3 u))) |
(+.f32 (*.f32 -3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 -3/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 -3 (/.f32 s u) (fma.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))) (*.f32 -3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 -3 (/.f32 s u) (fma.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))) (*.f32 -3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))) (*.f32 (/.f32 s u) (+.f32 (/.f32 -3/2 u) -3))) |
(+.f32 (*.f32 -3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (+.f32 (*.f32 -3/2 (/.f32 s (pow.f32 u 2))) (*.f32 -1 (/.f32 s (pow.f32 u 3)))))) |
(fma.f32 -3 (/.f32 s u) (fma.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))) (fma.f32 -3/2 (/.f32 s (*.f32 u u)) (neg.f32 (/.f32 s (pow.f32 u 3)))))) |
(fma.f32 -3 (/.f32 s u) (-.f32 (fma.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))) (*.f32 -3/2 (/.f32 s (*.f32 u u)))) (/.f32 s (pow.f32 u 3)))) |
(-.f32 (fma.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))) (*.f32 (/.f32 s u) (+.f32 (/.f32 -3/2 u) -3))) (/.f32 s (pow.f32 u 3))) |
(fma.f32 3 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))) (*.f32 (/.f32 s u) (+.f32 (/.f32 -1 (*.f32 u u)) (+.f32 (/.f32 -3/2 u) -3)))) |
(*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(*.f32 (*.f32 3 s) (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))) |
(*.f32 3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))))) |
(*.f32 s (*.f32 3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))))) |
(*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 3 s)) |
(+.f32 (*.f32 -3 (/.f32 s u)) (*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(fma.f32 -3 (/.f32 s u) (*.f32 (*.f32 3 s) (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))))) |
(fma.f32 3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (*.f32 -3 (/.f32 s u))) |
(fma.f32 3 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (*.f32 (/.f32 -3 u) s)) |
(*.f32 s (+.f32 (/.f32 -3 u) (*.f32 3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))))) |
(+.f32 (*.f32 -3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 -3/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 -3 (/.f32 s u) (fma.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))) (*.f32 -3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 -3 (/.f32 s u) (fma.f32 (*.f32 3 s) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 s (*.f32 3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (*.f32 (/.f32 s u) (+.f32 (/.f32 -3/2 u) -3))) |
(fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 3 s) (*.f32 (/.f32 s u) (+.f32 (/.f32 -3/2 u) -3))) |
(+.f32 (*.f32 -3 (/.f32 s u)) (+.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (+.f32 (*.f32 -3/2 (/.f32 s (pow.f32 u 2))) (*.f32 -1 (/.f32 s (pow.f32 u 3)))))) |
(fma.f32 -3 (/.f32 s u) (fma.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))) (fma.f32 -3/2 (/.f32 s (*.f32 u u)) (neg.f32 (/.f32 s (pow.f32 u 3)))))) |
(fma.f32 -3 (/.f32 s u) (-.f32 (fma.f32 (*.f32 3 s) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3/2 (/.f32 s (*.f32 u u)))) (/.f32 s (pow.f32 u 3)))) |
(-.f32 (fma.f32 s (*.f32 3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (*.f32 (/.f32 s u) (+.f32 (/.f32 -3/2 u) -3))) (/.f32 s (pow.f32 u 3))) |
(-.f32 (fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 3 s) (*.f32 (/.f32 s u) (+.f32 (/.f32 -3/2 u) -3))) (/.f32 s (pow.f32 u 3))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u)))) |
(*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3))) |
(*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3))) |
(*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3))) |
(*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3))) |
(*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 s (log.f32 4/3)) |
(+.f32 (*.f32 s (log.f32 4/3)) (*.f32 -1 (*.f32 s u))) |
(fma.f32 s (log.f32 4/3) (neg.f32 (*.f32 s u))) |
(fma.f32 s (log.f32 4/3) (*.f32 s (neg.f32 u))) |
(*.f32 s (-.f32 (log.f32 4/3) u)) |
(+.f32 (*.f32 s (log.f32 4/3)) (+.f32 (*.f32 -1 (*.f32 s u)) (*.f32 -1/2 (*.f32 s (pow.f32 u 2))))) |
(fma.f32 s (log.f32 4/3) (fma.f32 -1 (*.f32 s u) (*.f32 (*.f32 s (*.f32 u u)) -1/2))) |
(fma.f32 s (log.f32 4/3) (-.f32 (*.f32 s (*.f32 (*.f32 u u) -1/2)) (*.f32 s u))) |
(fma.f32 s (log.f32 4/3) (*.f32 s (-.f32 (*.f32 u (*.f32 u -1/2)) u))) |
(*.f32 s (+.f32 (log.f32 4/3) (*.f32 u (+.f32 (*.f32 -1/2 u) -1)))) |
(+.f32 (*.f32 s (log.f32 4/3)) (+.f32 (*.f32 -1 (*.f32 s u)) (+.f32 (*.f32 -1/2 (*.f32 s (pow.f32 u 2))) (*.f32 -1/3 (*.f32 s (pow.f32 u 3)))))) |
(fma.f32 s (log.f32 4/3) (fma.f32 -1 (*.f32 s u) (fma.f32 -1/2 (*.f32 s (*.f32 u u)) (*.f32 (*.f32 -1/3 s) (pow.f32 u 3))))) |
(fma.f32 s (log.f32 4/3) (-.f32 (fma.f32 (*.f32 s (*.f32 u u)) -1/2 (*.f32 s (*.f32 (pow.f32 u 3) -1/3))) (*.f32 s u))) |
(fma.f32 s (log.f32 4/3) (fma.f32 s (*.f32 (pow.f32 u 3) -1/3) (*.f32 s (-.f32 (*.f32 u (*.f32 u -1/2)) u)))) |
(*.f32 s (+.f32 (-.f32 (log.f32 4/3) u) (*.f32 (*.f32 u u) (+.f32 -1/2 (*.f32 -1/3 u))))) |
(*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) |
(*.f32 s (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))) |
(*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))) |
(+.f32 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (*.f32 -1 (/.f32 s u))) |
(fma.f32 s (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) (neg.f32 (/.f32 s u))) |
(-.f32 (*.f32 s (+.f32 (log.f32 -4/3) (log.f32 u))) (/.f32 s u)) |
(fma.f32 s (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 (neg.f32 s) u)) |
(+.f32 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (+.f32 (*.f32 -1 (/.f32 s u)) (*.f32 -1/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 s (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) (fma.f32 -1 (/.f32 s u) (/.f32 (*.f32 -1/2 s) (*.f32 u u)))) |
(fma.f32 s (+.f32 (log.f32 -4/3) (log.f32 u)) (-.f32 (*.f32 (/.f32 s (*.f32 u u)) -1/2) (/.f32 s u))) |
(fma.f32 s (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 (/.f32 s u) (+.f32 -1 (/.f32 -1/2 u)))) |
(fma.f32 s (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 (/.f32 s u) (+.f32 (/.f32 -1/2 u) -1))) |
(+.f32 (*.f32 -1/3 (/.f32 s (pow.f32 u 3))) (+.f32 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (+.f32 (*.f32 -1 (/.f32 s u)) (*.f32 -1/2 (/.f32 s (pow.f32 u 2)))))) |
(fma.f32 -1/3 (/.f32 s (pow.f32 u 3)) (fma.f32 s (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) (fma.f32 -1 (/.f32 s u) (/.f32 (*.f32 -1/2 s) (*.f32 u u))))) |
(fma.f32 (/.f32 s (pow.f32 u 3)) -1/3 (fma.f32 s (+.f32 (log.f32 -4/3) (log.f32 u)) (-.f32 (*.f32 (/.f32 s (*.f32 u u)) -1/2) (/.f32 s u)))) |
(fma.f32 s (+.f32 (log.f32 -4/3) (log.f32 u)) (-.f32 (*.f32 (/.f32 s (*.f32 u u)) (+.f32 -1/2 (/.f32 -1/3 u))) (/.f32 s u))) |
(fma.f32 s (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 (/.f32 s u) (+.f32 -1 (+.f32 (/.f32 -1/3 (*.f32 u u)) (/.f32 -1/2 u))))) |
(*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) |
(*.f32 s (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))) |
(*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) |
(+.f32 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) (*.f32 -1 (/.f32 s u))) |
(fma.f32 s (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))) (neg.f32 (/.f32 s u))) |
(-.f32 (*.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) (/.f32 s u)) |
(fma.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 (neg.f32 s) u)) |
(+.f32 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) (+.f32 (*.f32 -1 (/.f32 s u)) (*.f32 -1/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 s (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))) (fma.f32 -1 (/.f32 s u) (/.f32 (*.f32 -1/2 s) (*.f32 u u)))) |
(fma.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (-.f32 (*.f32 (/.f32 s (*.f32 u u)) -1/2) (/.f32 s u))) |
(fma.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 (/.f32 s u) (+.f32 -1 (/.f32 -1/2 u)))) |
(fma.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 (/.f32 s u) (+.f32 (/.f32 -1/2 u) -1))) |
(+.f32 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) (+.f32 (*.f32 -1/3 (/.f32 s (pow.f32 u 3))) (+.f32 (*.f32 -1 (/.f32 s u)) (*.f32 -1/2 (/.f32 s (pow.f32 u 2)))))) |
(fma.f32 s (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))) (fma.f32 -1/3 (/.f32 s (pow.f32 u 3)) (fma.f32 -1 (/.f32 s u) (/.f32 (*.f32 -1/2 s) (*.f32 u u))))) |
(fma.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (fma.f32 (/.f32 s (pow.f32 u 3)) -1/3 (-.f32 (*.f32 (/.f32 s (*.f32 u u)) -1/2) (/.f32 s u)))) |
(fma.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (-.f32 (*.f32 (/.f32 s (*.f32 u u)) (+.f32 -1/2 (/.f32 -1/3 u))) (/.f32 s u))) |
(fma.f32 s (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 (/.f32 s u) (+.f32 -1 (+.f32 (/.f32 -1/3 (*.f32 u u)) (/.f32 -1/2 u))))) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.5b | (*.f32 (*.f32 3 s) (log.f32 3/4)) |
Compiled 16 to 13 computations (18.8% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | s | @ | 0 | (*.f32 (*.f32 3 s) (log.f32 3/4)) |
| 0.0ms | s | @ | inf | (*.f32 (*.f32 3 s) (log.f32 3/4)) |
| 0.0ms | s | @ | -inf | (*.f32 (*.f32 3 s) (log.f32 3/4)) |
| 1× | batch-egg-rewrite |
| 607× | pow1_binary32 |
| 565× | add-log-exp_binary32 |
| 565× | log1p-expm1-u_binary32 |
| 565× | expm1-log1p-u_binary32 |
| 554× | add-exp-log_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 9 |
| 1 | 140 | 9 |
| 2 | 1542 | 9 |
| 1× | node limit |
| Inputs |
|---|
(*.f32 (*.f32 3 s) (log.f32 3/4)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 3 (*.f32 s (log.f32 3/4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 3 (*.f32 s (log.f32 3/4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 3 (*.f32 s (log.f32 3/4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 3/4 (*.f32 3 s)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 3 (*.f32 s (log.f32 3/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (-.f32 (pow.f32 3/4 (*.f32 3 s)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 3 (*.f32 s (log.f32 3/4))))))))) |
| 1× | egg-herbie |
| 5× | *-commutative_binary32 |
| 3× | associate-*r*_binary32 |
| 3× | associate-*l*_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 108 |
| 1 | 11 | 108 |
| 2 | 18 | 108 |
| 3 | 20 | 108 |
| 1× | saturated |
| Inputs |
|---|
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
| Outputs |
|---|
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2)))) |
| ✓ | 0.3b | (*.f32 u (*.f32 u (+.f32 u 3/2))) |
| 0.4b | (*.f32 (+.f32 (log.f32 3/4) u) 3) | |
| 1.1b | (+.f32 (log.f32 3/4) u) |
Compiled 64 to 45 computations (29.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | u | @ | 0 | (*.f32 u (*.f32 u (+.f32 u 3/2))) |
| 0.0ms | u | @ | -inf | (*.f32 u (*.f32 u (+.f32 u 3/2))) |
| 0.0ms | u | @ | -inf | (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2)))) |
| 0.0ms | u | @ | inf | (*.f32 u (*.f32 u (+.f32 u 3/2))) |
| 0.0ms | u | @ | 0 | (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2)))) |
| 1× | batch-egg-rewrite |
| 652× | fma-def_binary32 |
| 624× | log-prod_binary32 |
| 346× | pow2_binary32 |
| 276× | fma-neg_binary32 |
| 240× | expm1-udef_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 29 |
| 1 | 273 | 29 |
| 2 | 3791 | 29 |
| 1× | node limit |
| Inputs |
|---|
(*.f32 u (*.f32 u (+.f32 u 3/2))) |
(+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 u 3) (*.f32 (*.f32 u 3/2) u))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 u 3) (*.f32 3/2 (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 u 3) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 u 3) (*.f32 (*.f32 u u) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 u u) 3/2) (pow.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (pow.f32 (exp.f32 u) (+.f32 u 3/2)) u)) 2)) (log.f32 (cbrt.f32 (pow.f32 (pow.f32 (exp.f32 u) (+.f32 u 3/2)) u))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (pow.f32 (exp.f32 u) (+.f32 u 3/2)) u))) (log.f32 (sqrt.f32 (pow.f32 (pow.f32 (exp.f32 u) (+.f32 u 3/2)) u))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (*.f32 u u) (+.f32 27/8 (pow.f32 u 3))) (-.f32 (fma.f32 u u 9/4) (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (*.f32 u u) (fma.f32 u u -9/4)) (+.f32 u -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u (sqrt.f32 (+.f32 u 3/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 u) (+.f32 u 3/2)) u))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u (*.f32 u u) (*.f32 (*.f32 u 3/2) u))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u (*.f32 u u) (*.f32 3/2 (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u (*.f32 u u) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u (*.f32 u u) (*.f32 (*.f32 u u) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 3/2 (*.f32 u u) (pow.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (pow.f32 u 3) (*.f32 (*.f32 u 3/2) u))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (pow.f32 u 3) (*.f32 3/2 (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (pow.f32 u 3) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (pow.f32 u 3) (*.f32 (*.f32 u u) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u u) u (*.f32 (*.f32 u 3/2) u))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u u) u (*.f32 3/2 (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u u) u (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u u) u (*.f32 (*.f32 u u) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u u) 3/2 (pow.f32 u 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (sqrt.f32 u)) (*.f32 u (sqrt.f32 u)) (*.f32 (*.f32 u 3/2) u))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (sqrt.f32 u)) (*.f32 u (sqrt.f32 u)) (*.f32 3/2 (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (sqrt.f32 u)) (*.f32 u (sqrt.f32 u)) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (sqrt.f32 u)) (*.f32 u (sqrt.f32 u)) (*.f32 (*.f32 u u) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 u 3)) (sqrt.f32 (pow.f32 u 3)) (*.f32 (*.f32 u 3/2) u))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 u 3)) (sqrt.f32 (pow.f32 u 3)) (*.f32 3/2 (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 u 3)) (sqrt.f32 (pow.f32 u 3)) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 u 3)) (sqrt.f32 (pow.f32 u 3)) (*.f32 (*.f32 u u) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 u 3/2) (pow.f32 u 3/2) (*.f32 (*.f32 u 3/2) u))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 u 3/2) (pow.f32 u 3/2) (*.f32 3/2 (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 u 3/2) (pow.f32 u 3/2) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 u 3/2) (pow.f32 u 3/2) (*.f32 (*.f32 u u) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) 1) u (*.f32 (*.f32 u 3/2) u))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) 1) u (*.f32 3/2 (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) 1) u (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) 1) u (*.f32 (*.f32 u u) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (pow.f32 (cbrt.f32 u) 2)) (cbrt.f32 u) (*.f32 (*.f32 u 3/2) u))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (pow.f32 (cbrt.f32 u) 2)) (cbrt.f32 u) (*.f32 3/2 (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (pow.f32 (cbrt.f32 u) 2)) (cbrt.f32 u) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (pow.f32 (cbrt.f32 u) 2)) (cbrt.f32 u) (*.f32 (*.f32 u u) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (sqrt.f32 u)) (sqrt.f32 u) (*.f32 (*.f32 u 3/2) u))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (sqrt.f32 u)) (sqrt.f32 u) (*.f32 3/2 (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (sqrt.f32 u)) (sqrt.f32 u) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (sqrt.f32 u)) (sqrt.f32 u) (*.f32 (*.f32 u u) 3/2)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9) (-.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) (/.f32 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 2) (-.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))) (pow.f32 (cbrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))) 2) (cbrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))) (sqrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 3) 27 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3)) (/.f32 1 (fma.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (-.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9) (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 2)) (/.f32 1 (-.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (-.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9)) (fma.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 3) 27 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (-.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3) (*.f32 u (*.f32 u (+.f32 u 3/2)))) (-.f32 (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9) (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 3) 27 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3)) (fma.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (-.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 3) 27 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3)) (+.f32 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 2) (-.f32 (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9) (*.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9) (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 2)) (-.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3) (*.f32 u (*.f32 u (+.f32 u 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (fma.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 3) 27 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3))) (neg.f32 (fma.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (-.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9) (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 2))) (neg.f32 (-.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 2) (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9)) (-.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (fma.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (-.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9)) (fma.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 3) 27 (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (-.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3) (*.f32 u (*.f32 u (+.f32 u 3/2)))) (-.f32 (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9) (pow.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))))) (pow.f32 (*.f32 3/4 (exp.f32 u)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (pow.f32 (pow.f32 (exp.f32 u) (+.f32 u 3/2)) u) (+.f32 1 (expm1.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))))) (+.f32 1 (expm1.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))) (pow.f32 (pow.f32 (exp.f32 u) (+.f32 u 3/2)) u)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (pow.f32 (*.f32 3/4 (exp.f32 u)) 3) (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))) (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u (*.f32 u (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 u 3/2) (*.f32 u u) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (+.f32 u 3/2)) u (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (*.f32 u (+.f32 u 3/2))) 1 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 u (log1p.f32 -1/4)) 3 (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 3 (+.f32 u (log1p.f32 -1/4)) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3) 1 (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 u (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u u) (+.f32 u 3/2) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) (cbrt.f32 (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9)) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 (pow.f32 (+.f32 u (log1p.f32 -1/4)) 2) 9)) (cbrt.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (*.f32 u (+.f32 u 3/2)) 2)) (*.f32 (cbrt.f32 (*.f32 u (+.f32 u 3/2))) u) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 u) 2) (*.f32 (cbrt.f32 u) (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (+.f32 u (log1p.f32 -1/4))) 2) (*.f32 (cbrt.f32 (+.f32 u (log1p.f32 -1/4))) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))) (pow.f32 (cbrt.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))) 2) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))) 2) (cbrt.f32 (*.f32 u (*.f32 u (+.f32 u 3/2)))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) (sqrt.f32 (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 u (+.f32 u 3/2))) (*.f32 (sqrt.f32 (*.f32 u (+.f32 u 3/2))) u) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 u) (*.f32 (sqrt.f32 u) (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (+.f32 u (log1p.f32 -1/4))) (*.f32 (sqrt.f32 (+.f32 u (log1p.f32 -1/4))) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (sqrt.f32 (+.f32 u 3/2))) (*.f32 u (sqrt.f32 (+.f32 u 3/2))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) 1) (+.f32 u 3/2) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 3 (pow.f32 (cbrt.f32 (+.f32 u (log1p.f32 -1/4))) 2)) (cbrt.f32 (+.f32 u (log1p.f32 -1/4))) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 3 (sqrt.f32 (+.f32 u (log1p.f32 -1/4)))) (sqrt.f32 (+.f32 u (log1p.f32 -1/4))) (*.f32 u (*.f32 u (+.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (cbrt.f32 (pow.f32 (*.f32 u (+.f32 u 3/2)) 2))) (cbrt.f32 (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (sqrt.f32 (*.f32 u (+.f32 u 3/2)))) (sqrt.f32 (*.f32 u (+.f32 u 3/2))) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u (+.f32 u 3/2)) (pow.f32 (cbrt.f32 u) 2)) (cbrt.f32 u) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u (+.f32 u 3/2)) (sqrt.f32 u)) (sqrt.f32 u) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (pow.f32 (cbrt.f32 (+.f32 u 3/2)) 2)) (cbrt.f32 (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u u) (sqrt.f32 (+.f32 u 3/2))) (sqrt.f32 (+.f32 u 3/2)) (*.f32 (+.f32 u (log1p.f32 -1/4)) 3)))))) |
| 1× | egg-herbie |
| 652× | distribute-rgt-in_binary32 |
| 622× | associate-+l+_binary32 |
| 598× | distribute-lft-in_binary32 |
| 536× | unswap-sqr_binary32 |
| 498× | sqr-pow_binary32 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 297 |
| 1 | 47 | 259 |
| 2 | 114 | 249 |
| 3 | 270 | 240 |
| 4 | 657 | 235 |
| 5 | 1803 | 235 |
| 6 | 3275 | 235 |
| 7 | 3507 | 235 |
| 8 | 3807 | 235 |
| 9 | 4346 | 235 |
| 10 | 5343 | 235 |
| 11 | 7358 | 235 |
| 1× | node limit |
| Inputs |
|---|
(*.f32 3/2 (pow.f32 u 2)) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(*.f32 3 (log.f32 3/4)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)))) |
| Outputs |
|---|
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 u (*.f32 u (+.f32 3/2 u))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 u (*.f32 u (+.f32 3/2 u))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 u (*.f32 u (+.f32 3/2 u))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 u (*.f32 u (+.f32 3/2 u))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 u (*.f32 u (+.f32 3/2 u))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 u (*.f32 u (+.f32 3/2 u))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 u (*.f32 u (+.f32 3/2 u))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 u (*.f32 u (+.f32 3/2 u))) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 u (*.f32 u (+.f32 3/2 u))) |
(*.f32 3 (log.f32 3/4)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 (+.f32 (log.f32 3/4) u)) |
(*.f32 3 (+.f32 u (log.f32 3/4))) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(fma.f32 u (fma.f32 3/2 u 3) (*.f32 3 (log.f32 3/4))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)))) |
(+.f32 (pow.f32 u 3) (fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u)))) |
(+.f32 (*.f32 (*.f32 u u) (+.f32 3/2 u)) (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(fma.f32 (*.f32 u u) (+.f32 3/2 u) (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(fma.f32 u (fma.f32 3/2 u 3) (fma.f32 3 (log.f32 3/4) (pow.f32 u 3))) |
(fma.f32 u (fma.f32 u (+.f32 3/2 u) 3) (*.f32 3 (log.f32 3/4))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 u (*.f32 u (+.f32 3/2 u))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u))) |
(+.f32 (pow.f32 u 3) (fma.f32 3/2 (*.f32 u u) (*.f32 u 3))) |
(+.f32 (*.f32 (*.f32 u u) (+.f32 3/2 u)) (*.f32 u 3)) |
(fma.f32 u 3 (*.f32 u (*.f32 u (+.f32 3/2 u)))) |
(fma.f32 u (fma.f32 3/2 u 3) (pow.f32 u 3)) |
(*.f32 u (fma.f32 u (+.f32 3/2 u) 3)) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)))) |
(+.f32 (pow.f32 u 3) (fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u)))) |
(+.f32 (*.f32 (*.f32 u u) (+.f32 3/2 u)) (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(fma.f32 (*.f32 u u) (+.f32 3/2 u) (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(fma.f32 u (fma.f32 3/2 u 3) (fma.f32 3 (log.f32 3/4) (pow.f32 u 3))) |
(fma.f32 u (fma.f32 u (+.f32 3/2 u) 3) (*.f32 3 (log.f32 3/4))) |
(pow.f32 u 3) |
(+.f32 (pow.f32 u 3) (*.f32 3/2 (pow.f32 u 2))) |
(+.f32 (*.f32 3/2 (*.f32 u u)) (pow.f32 u 3)) |
(*.f32 (*.f32 u u) (+.f32 3/2 u)) |
(*.f32 u (*.f32 u (+.f32 3/2 u))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u))) |
(+.f32 (pow.f32 u 3) (fma.f32 3/2 (*.f32 u u) (*.f32 u 3))) |
(+.f32 (*.f32 (*.f32 u u) (+.f32 3/2 u)) (*.f32 u 3)) |
(fma.f32 u 3 (*.f32 u (*.f32 u (+.f32 3/2 u)))) |
(fma.f32 u (fma.f32 3/2 u 3) (pow.f32 u 3)) |
(*.f32 u (fma.f32 u (+.f32 3/2 u) 3)) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)))) |
(+.f32 (pow.f32 u 3) (fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u)))) |
(+.f32 (*.f32 (*.f32 u u) (+.f32 3/2 u)) (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(fma.f32 (*.f32 u u) (+.f32 3/2 u) (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(fma.f32 u (fma.f32 3/2 u 3) (fma.f32 3 (log.f32 3/4) (pow.f32 u 3))) |
(fma.f32 u (fma.f32 u (+.f32 3/2 u) 3) (*.f32 3 (log.f32 3/4))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f32 u 4/3) |
| ✓ | 0.6b | (+.f32 (-.f32 1 (*.f32 u 4/3)) 1/3) |
| ✓ | 0.9b | (log.f32 (/.f32 1 (+.f32 (-.f32 1 (*.f32 u 4/3)) 1/3))) |
| ✓ | 1.2b | (-.f32 1 (*.f32 u 4/3)) |
Compiled 59 to 49 computations (16.9% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | u | @ | 0 | (-.f32 1 (*.f32 u 4/3)) |
| 0.0ms | u | @ | -inf | (*.f32 u 4/3) |
| 0.0ms | u | @ | inf | (*.f32 u 4/3) |
| 0.0ms | u | @ | 0 | (*.f32 u 4/3) |
| 0.0ms | u | @ | inf | (log.f32 (/.f32 1 (+.f32 (-.f32 1 (*.f32 u 4/3)) 1/3))) |
| 1× | batch-egg-rewrite |
| 450× | log-prod_binary32 |
| 440× | prod-diff_binary32 |
| 353× | exp-prod_binary32 |
| 270× | pow2_binary32 |
| 233× | pow-prod-down_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 35 |
| 1 | 225 | 29 |
| 2 | 2820 | 25 |
| 1× | node limit |
| Inputs |
|---|
(-.f32 1 (*.f32 u 4/3)) |
(log.f32 (/.f32 1 (+.f32 (-.f32 1 (*.f32 u 4/3)) 1/3))) |
(+.f32 (-.f32 1 (*.f32 u 4/3)) 1/3) |
(*.f32 u 4/3) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 u -4/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 (*.f32 u -4/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (fma.f32 u -4/3 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 u -4/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (fma.f32 u -4/3 1))) 2)) (*.f32 (fma.f32 u -4/3 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (fma.f32 u -4/3 1)))) (log.f32 (sqrt.f32 (exp.f32 (fma.f32 u -4/3 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 u -4/3 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 u -4/3 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 u -4/3 1)) (pow.f32 (cbrt.f32 (fma.f32 u -4/3 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 u -4/3 1)) 2) (cbrt.f32 (fma.f32 u -4/3 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 u -4/3 1)) (sqrt.f32 (fma.f32 u -4/3 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 (*.f32 (pow.f32 u 3) 64/27)) (/.f32 1 (fma.f32 (*.f32 u 4/3) (fma.f32 u 4/3 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 (*.f32 (*.f32 u u) 16/9)) (/.f32 1 (fma.f32 u 4/3 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 (*.f32 u 4/3) (fma.f32 u 4/3 1) 1) (-.f32 1 (*.f32 (pow.f32 u 3) 64/27))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 u 4/3 1) (-.f32 1 (*.f32 (*.f32 u u) 16/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (*.f32 (pow.f32 u 3) 64/27)) (fma.f32 (*.f32 u 4/3) (fma.f32 u 4/3 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (*.f32 (*.f32 u u) 16/9)) (fma.f32 u 4/3 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 1 (*.f32 (pow.f32 u 3) 64/27))) (neg.f32 (fma.f32 (*.f32 u 4/3) (fma.f32 u 4/3 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 1 (*.f32 (*.f32 u u) 16/9))) (neg.f32 (fma.f32 u 4/3 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (*.f32 u -4/3) 3)) (+.f32 1 (-.f32 (pow.f32 (*.f32 u -4/3) 2) (*.f32 u -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (*.f32 u -4/3) 2)) (-.f32 1 (*.f32 u -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 u -4/3 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (E.f32) (log1p.f32 (*.f32 u -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u -4/3 1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 u -4/3 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 u -4/3 1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u -4/3 1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (fma.f32 (*.f32 u 4/3) (fma.f32 u 4/3 1) 1) (-.f32 1 (*.f32 (pow.f32 u 3) 64/27))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (fma.f32 u 4/3 1) (-.f32 1 (*.f32 (*.f32 u u) 16/9))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4/3))) 2)) (cbrt.f32 (log1p.f32 (*.f32 u -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log1p.f32 (*.f32 u -4/3)))) (sqrt.f32 (log1p.f32 (*.f32 u -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 u -4/3 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 u -4/3 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 u -4/3 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 u -4/3 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 u -4/3 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 u -4/3 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log1p.f32 (*.f32 u -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log1p.f32 (*.f32 u -4/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 1/3 (log1p.f32 (*.f32 u -4/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 1/2 (log1p.f32 (*.f32 u -4/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log1p.f32 (*.f32 u -4/3))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log1p.f32 (*.f32 u -4/3)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log1p.f32 (*.f32 u -4/3)) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 u -4/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u -4/3 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 4/3 (neg.f32 u) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 (*.f32 u u) 16/9)) (neg.f32 (cbrt.f32 (*.f32 u 4/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 u 4/3)) (neg.f32 (sqrt.f32 (*.f32 u 4/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -1 (*.f32 u 4/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 u) 4/3 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 u -4/3)) 2) (cbrt.f32 (*.f32 u -4/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 u -4/3)) (sqrt.f32 (*.f32 u -4/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -4/3 u 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 (cbrt.f32 (*.f32 (*.f32 u u) 16/9))) (cbrt.f32 (*.f32 u 4/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (neg.f32 (sqrt.f32 (*.f32 u 4/3))) (sqrt.f32 (*.f32 u 4/3)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 -1) (log.f32 (/.f32 1 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (cbrt.f32 (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) -2))) (*.f32 1/3 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/3 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (log.f32 (cbrt.f32 (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 -1/2 (log1p.f32 (fma.f32 u -4/3 1/3))) (*.f32 -1/2 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (+.f32 4/3 (*.f32 u -4/3))) -2)) (*.f32 1/3 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (/.f32 1 (+.f32 1/27 (pow.f32 (fma.f32 u -4/3 1) 3)))) (log.f32 (+.f32 (pow.f32 (fma.f32 u -4/3 1) 2) (-.f32 1/9 (*.f32 (fma.f32 u -4/3 1) 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (/.f32 1 (+.f32 (pow.f32 (fma.f32 u -4/3 1) 2) -1/9))) (log1p.f32 (fma.f32 u -4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 -1) (log.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 -1/2 (log1p.f32 (fma.f32 u -4/3 1/3))) (*.f32 1/2 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (pow.f32 (cbrt.f32 (+.f32 4/3 (*.f32 u -4/3))) -2)) (*.f32 1/3 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/3 (log.f32 (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) (cbrt.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (sqrt.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 3 (*.f32 1/3 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 -1/2 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 0 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3)) (+.f32 0 (+.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2) (*.f32 0 (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 0 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (E.f32) (log.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) 2)) (cbrt.f32 (log.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (sqrt.f32 (log.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f32 1 (fma.f32 u 4/3 -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 1 (/.f32 (fma.f32 u 4/3 -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 4/3 (*.f32 u 4/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (+.f32 4/3 (*.f32 u -4/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (pow.f32 (fma.f32 u -4/3 1) 2) (+.f32 1 (fma.f32 u -4/3 -1/3))) (/.f32 1/9 (+.f32 1 (fma.f32 u -4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 4/3 (*.f32 u -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 4/3 (*.f32 u -4/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (+.f32 4/3 (*.f32 u -4/3))) (pow.f32 (cbrt.f32 (+.f32 4/3 (*.f32 u -4/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (+.f32 4/3 (*.f32 u -4/3))) 2) (cbrt.f32 (+.f32 4/3 (*.f32 u -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (+.f32 4/3 (*.f32 u -4/3))) (sqrt.f32 (+.f32 4/3 (*.f32 u -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 1/27 (pow.f32 (fma.f32 u -4/3 1) 3)) (/.f32 1 (+.f32 (pow.f32 (fma.f32 u -4/3 1) 2) (-.f32 1/9 (*.f32 (fma.f32 u -4/3 1) 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (fma.f32 u -4/3 1) 2) -1/9) (/.f32 1 (+.f32 1 (fma.f32 u -4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 1 (+.f32 4/3 (*.f32 u -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 (pow.f32 (fma.f32 u -4/3 1) 2) (-.f32 1/9 (*.f32 (fma.f32 u -4/3 1) 1/3))) (+.f32 1/27 (pow.f32 (fma.f32 u -4/3 1) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 1 (fma.f32 u -4/3 -1/3)) (+.f32 (pow.f32 (fma.f32 u -4/3 1) 2) -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 4/3 (*.f32 u -4/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (cbrt.f32 (+.f32 4/3 (*.f32 u -4/3))) 2) (/.f32 1 (cbrt.f32 (+.f32 4/3 (*.f32 u -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (+.f32 4/3 (*.f32 u -4/3))) (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1/27 (pow.f32 (fma.f32 u -4/3 1) 3)) (+.f32 (pow.f32 (fma.f32 u -4/3 1) 2) (-.f32 1/9 (*.f32 (fma.f32 u -4/3 1) 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1/27 (pow.f32 (fma.f32 u -4/3 1) 3)) (+.f32 1/9 (-.f32 (pow.f32 (fma.f32 u -4/3 1) 2) (*.f32 (fma.f32 u -4/3 1) 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (fma.f32 u -4/3 1) 2) -1/9) (+.f32 1 (fma.f32 u -4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 1/27 (pow.f32 (fma.f32 u -4/3 1) 3))) (neg.f32 (+.f32 (pow.f32 (fma.f32 u -4/3 1) 2) (-.f32 1/9 (*.f32 (fma.f32 u -4/3 1) 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 (pow.f32 (fma.f32 u -4/3 1) 2) -1/9)) (neg.f32 (+.f32 1 (fma.f32 u -4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 3)) (+.f32 1 (+.f32 (pow.f32 (fma.f32 u 4/3 -1/3) 2) (fma.f32 u 4/3 -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 2)) (+.f32 1 (fma.f32 u 4/3 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1/9 (pow.f32 (fma.f32 u -4/3 1) 2)) (-.f32 1/3 (fma.f32 u -4/3 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 4/3 (*.f32 u -4/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (+.f32 4/3 (*.f32 u -4/3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (E.f32) (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) -3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (+.f32 4/3 (*.f32 u -4/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (cbrt.f32 (+.f32 4/3 (*.f32 u -4/3)))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (+.f32 4/3 (*.f32 u -4/3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) -1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))) (neg.f32 (sqrt.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))) (neg.f32 (cbrt.f32 (neg.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (+.f32 (pow.f32 (fma.f32 u -4/3 1) 2) (-.f32 1/9 (*.f32 (fma.f32 u -4/3 1) 1/3))) (+.f32 1/27 (pow.f32 (fma.f32 u -4/3 1) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (+.f32 1 (fma.f32 u -4/3 -1/3)) (+.f32 (pow.f32 (fma.f32 u -4/3 1) 2) -1/9)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2)) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (+.f32 4/3 (*.f32 u -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (+.f32 4/3 (*.f32 u -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (+.f32 4/3 (*.f32 u -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (+.f32 4/3 (*.f32 u -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log1p.f32 (fma.f32 u -4/3 1/3))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 1/3 (log1p.f32 (fma.f32 u -4/3 1/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 1/2 (log1p.f32 (fma.f32 u -4/3 1/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (fma.f32 u -4/3 1) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (fma.f32 u -4/3 1) 1 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (fma.f32 u -4/3 1)) (pow.f32 (cbrt.f32 (fma.f32 u -4/3 1)) 2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 u -4/3 1)) 2) (cbrt.f32 (fma.f32 u -4/3 1)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 u -4/3 1)) (sqrt.f32 (fma.f32 u -4/3 1)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 1 (*.f32 (pow.f32 u 3) 64/27)) (/.f32 1 (fma.f32 (*.f32 u 4/3) (fma.f32 u 4/3 1) 1)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 1 (*.f32 (*.f32 u u) 16/9)) (/.f32 1 (fma.f32 u 4/3 1)) 1/3))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 u 4/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 4/3) u)) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 4/3) u))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 4/3) u))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 4/3) u))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (fma.f32 u 4/3 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u 4/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (E.f32) (log.f32 (*.f32 u 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 u u) 16/9) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 u 4/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 u 4/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 u 3) 64/27) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (*.f32 u 4/3))) 2)) (cbrt.f32 (log.f32 (*.f32 u 4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (*.f32 u 4/3)))) (sqrt.f32 (log.f32 (*.f32 u 4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (*.f32 u u) 16/9))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 4/3) u))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 u 4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 u 3) 64/27))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 u 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 u 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 u 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 u 4/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (*.f32 u 4/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (*.f32 u 4/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (pow.f32 u 3) 64/27)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (*.f32 u 4/3)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (*.f32 u 4/3)) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (fma.f32 u 4/3 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 u 4/3 1)) 2) (cbrt.f32 (fma.f32 u 4/3 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 u 4/3 1)) (sqrt.f32 (fma.f32 u 4/3 1)) -1))))) |
| 1× | egg-herbie |
| 680× | fma-neg_binary32 |
| 536× | unswap-sqr_binary32 |
| 498× | associate-*l*_binary32 |
| 468× | associate-+l+_binary32 |
| 409× | sub-neg_binary32 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 49 | 374 |
| 1 | 125 | 364 |
| 2 | 339 | 364 |
| 3 | 1032 | 359 |
| 4 | 3059 | 359 |
| 5 | 6917 | 357 |
| 1× | node limit |
| Inputs |
|---|
1 |
(+.f32 (*.f32 -4/3 u) 1) |
(+.f32 (*.f32 -4/3 u) 1) |
(+.f32 (*.f32 -4/3 u) 1) |
(*.f32 -4/3 u) |
(+.f32 1 (*.f32 -4/3 u)) |
(+.f32 1 (*.f32 -4/3 u)) |
(+.f32 1 (*.f32 -4/3 u)) |
(*.f32 -4/3 u) |
(+.f32 1 (*.f32 -4/3 u)) |
(+.f32 1 (*.f32 -4/3 u)) |
(+.f32 1 (*.f32 -4/3 u)) |
(log.f32 3/4) |
(+.f32 (log.f32 3/4) u) |
(+.f32 (*.f32 1/2 (pow.f32 u 2)) (+.f32 (log.f32 3/4) u)) |
(+.f32 (*.f32 1/2 (pow.f32 u 2)) (+.f32 (log.f32 3/4) (+.f32 u (*.f32 1/3 (pow.f32 u 3))))) |
(+.f32 (log.f32 -3/4) (log.f32 (/.f32 1 u))) |
(+.f32 (log.f32 -3/4) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 -3/4) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u)))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 -3/4) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u))))) |
(+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)) |
(+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4))))) |
4/3 |
(+.f32 (*.f32 -4/3 u) 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(*.f32 -4/3 u) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(*.f32 -4/3 u) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(*.f32 4/3 u) |
(*.f32 4/3 u) |
(*.f32 4/3 u) |
(*.f32 4/3 u) |
(*.f32 4/3 u) |
(*.f32 4/3 u) |
(*.f32 4/3 u) |
(*.f32 4/3 u) |
(*.f32 4/3 u) |
(*.f32 4/3 u) |
(*.f32 4/3 u) |
(*.f32 4/3 u) |
| Outputs |
|---|
1 |
(+.f32 (*.f32 -4/3 u) 1) |
(fma.f32 -4/3 u 1) |
(+.f32 (*.f32 -4/3 u) 1) |
(fma.f32 -4/3 u 1) |
(+.f32 (*.f32 -4/3 u) 1) |
(fma.f32 -4/3 u 1) |
(*.f32 -4/3 u) |
(+.f32 1 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1) |
(+.f32 1 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1) |
(+.f32 1 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1) |
(*.f32 -4/3 u) |
(+.f32 1 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1) |
(+.f32 1 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1) |
(+.f32 1 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 1) |
(log.f32 3/4) |
(+.f32 (log.f32 3/4) u) |
(+.f32 u (log.f32 3/4)) |
(+.f32 (*.f32 1/2 (pow.f32 u 2)) (+.f32 (log.f32 3/4) u)) |
(fma.f32 1/2 (*.f32 u u) (+.f32 u (log.f32 3/4))) |
(+.f32 u (fma.f32 1/2 (*.f32 u u) (log.f32 3/4))) |
(+.f32 u (fma.f32 u (*.f32 u 1/2) (log.f32 3/4))) |
(fma.f32 (fma.f32 u 1/2 1) u (log.f32 3/4)) |
(+.f32 (*.f32 1/2 (pow.f32 u 2)) (+.f32 (log.f32 3/4) (+.f32 u (*.f32 1/3 (pow.f32 u 3))))) |
(fma.f32 1/2 (*.f32 u u) (+.f32 (log.f32 3/4) (+.f32 u (*.f32 1/3 (pow.f32 u 3))))) |
(+.f32 (fma.f32 1/3 (pow.f32 u 3) u) (fma.f32 1/2 (*.f32 u u) (log.f32 3/4))) |
(+.f32 (fma.f32 1/3 (pow.f32 u 3) u) (fma.f32 u (*.f32 u 1/2) (log.f32 3/4))) |
(fma.f32 (*.f32 u u) (fma.f32 u 1/3 1/2) (+.f32 u (log.f32 3/4))) |
(+.f32 (log.f32 3/4) (fma.f32 (*.f32 u u) (fma.f32 u 1/3 1/2) u)) |
(+.f32 (log.f32 -3/4) (log.f32 (/.f32 1 u))) |
(+.f32 (log.f32 -3/4) (neg.f32 (log.f32 u))) |
(-.f32 (log.f32 -3/4) (log.f32 u)) |
(+.f32 (log.f32 -3/4) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u))) |
(+.f32 (log.f32 -3/4) (+.f32 (/.f32 1 u) (neg.f32 (log.f32 u)))) |
(+.f32 (log.f32 -3/4) (-.f32 (/.f32 1 u) (log.f32 u))) |
(+.f32 (/.f32 1 u) (-.f32 (log.f32 -3/4) (log.f32 u))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 -3/4) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u)))) |
(+.f32 (+.f32 (log.f32 -3/4) (+.f32 (/.f32 1 u) (neg.f32 (log.f32 u)))) (/.f32 1/2 (*.f32 u u))) |
(+.f32 (log.f32 -3/4) (+.f32 (-.f32 (/.f32 1 u) (log.f32 u)) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (/.f32 1 u) (+.f32 (-.f32 (log.f32 -3/4) (log.f32 u)) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (/.f32 1 u) (+.f32 (-.f32 (log.f32 -3/4) (log.f32 u)) (/.f32 (/.f32 1/2 u) u))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (log.f32 -3/4) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (+.f32 (log.f32 (/.f32 1 u)) (/.f32 1 u))))) |
(+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (log.f32 -3/4) (+.f32 (+.f32 (/.f32 1 u) (neg.f32 (log.f32 u))) (/.f32 1/3 (pow.f32 u 3))))) |
(+.f32 (+.f32 (log.f32 -3/4) (/.f32 1/3 (pow.f32 u 3))) (+.f32 (-.f32 (/.f32 1 u) (log.f32 u)) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (-.f32 (/.f32 1 u) (log.f32 u)) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (log.f32 -3/4) (/.f32 1/3 (pow.f32 u 3))))) |
(+.f32 (/.f32 1 u) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (log.f32 -3/4) (-.f32 (/.f32 1/3 (pow.f32 u 3)) (log.f32 u))))) |
(+.f32 (/.f32 (/.f32 1/2 u) u) (+.f32 (log.f32 -3/4) (+.f32 (/.f32 1 u) (-.f32 (/.f32 1/3 (pow.f32 u 3)) (log.f32 u))))) |
(fma.f32 (/.f32 1 (*.f32 u u)) (+.f32 1/2 (/.f32 1/3 u)) (+.f32 (/.f32 1 u) (-.f32 (log.f32 -3/4) (log.f32 u)))) |
(+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)) |
(+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))) |
(+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4))) |
(+.f32 (/.f32 1 u) (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u)))) |
(+.f32 (+.f32 (/.f32 1 u) (log.f32 3/4)) (log.f32 (/.f32 -1 u))) |
(+.f32 (log.f32 3/4) (+.f32 (/.f32 1 u) (log.f32 (/.f32 -1 u)))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4)))) |
(+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u))))) |
(+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (+.f32 (/.f32 1 u) (log.f32 3/4)) (log.f32 (/.f32 -1 u)))) |
(+.f32 (log.f32 3/4) (+.f32 (/.f32 1 u) (+.f32 (/.f32 1/2 (*.f32 u u)) (log.f32 (/.f32 -1 u))))) |
(+.f32 (/.f32 1 u) (+.f32 (log.f32 3/4) (+.f32 (/.f32 (/.f32 1/2 u) u) (log.f32 (/.f32 -1 u))))) |
(+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (+.f32 (/.f32 1 u) (+.f32 (log.f32 (/.f32 -1 u)) (log.f32 3/4))))) |
(+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1/3 (pow.f32 u 3)) (+.f32 (/.f32 1 u) (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u)))))) |
(+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1/3 (pow.f32 u 3)) (+.f32 (+.f32 (/.f32 1 u) (log.f32 3/4)) (log.f32 (/.f32 -1 u))))) |
(+.f32 (/.f32 1 u) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1/3 (pow.f32 u 3)) (+.f32 (log.f32 3/4) (log.f32 (/.f32 -1 u)))))) |
(+.f32 (log.f32 3/4) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (log.f32 (/.f32 -1 u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3)))))) |
(+.f32 (+.f32 (log.f32 3/4) (/.f32 (/.f32 1/2 u) u)) (+.f32 (/.f32 1 u) (+.f32 (/.f32 1/3 (pow.f32 u 3)) (log.f32 (/.f32 -1 u))))) |
(+.f32 (/.f32 (/.f32 1/2 u) u) (+.f32 (-.f32 (log.f32 3/4) (/.f32 -1 u)) (+.f32 (/.f32 1/3 (pow.f32 u 3)) (log.f32 (/.f32 -1 u))))) |
4/3 |
(+.f32 (*.f32 -4/3 u) 4/3) |
(fma.f32 -4/3 u 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(fma.f32 -4/3 u 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(fma.f32 -4/3 u 4/3) |
(*.f32 -4/3 u) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(*.f32 -4/3 u) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(*.f32 4/3 u) |
(*.f32 u 4/3) |
(*.f32 4/3 u) |
(*.f32 u 4/3) |
(*.f32 4/3 u) |
(*.f32 u 4/3) |
(*.f32 4/3 u) |
(*.f32 u 4/3) |
(*.f32 4/3 u) |
(*.f32 u 4/3) |
(*.f32 4/3 u) |
(*.f32 u 4/3) |
(*.f32 4/3 u) |
(*.f32 u 4/3) |
(*.f32 4/3 u) |
(*.f32 u 4/3) |
(*.f32 4/3 u) |
(*.f32 u 4/3) |
(*.f32 4/3 u) |
(*.f32 u 4/3) |
(*.f32 4/3 u) |
(*.f32 u 4/3) |
(*.f32 4/3 u) |
(*.f32 u 4/3) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.3b | (fma.f32 u -4/3 1/3) | |
| ✓ | 0.4b | (log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3)) |
| ✓ | 0.5b | (+.f32 (fma.f32 u -4/3 1/3) 1) |
| ✓ | 0.6b | (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3) |
Compiled 46 to 38 computations (17.4% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | u | @ | inf | (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3) |
| 1.0ms | u | @ | 0 | (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3) |
| 1.0ms | u | @ | -inf | (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3) |
| 0.0ms | u | @ | inf | (log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3)) |
| 0.0ms | u | @ | -inf | (log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3)) |
| 1× | batch-egg-rewrite |
| 909× | pow1_binary32 |
| 856× | add-log-exp_binary32 |
| 856× | log1p-expm1-u_binary32 |
| 856× | expm1-log1p-u_binary32 |
| 842× | add-exp-log_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 32 |
| 1 | 211 | 27 |
| 2 | 2342 | 27 |
| 1× | node limit |
| Inputs |
|---|
(pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3) |
(+.f32 (fma.f32 u -4/3 1/3) 1) |
(log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (expm1.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -3)) (cbrt.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -6)) (cbrt.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -3/2) (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) 2) -3) (pow.f32 (cbrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) -3) (pow.f32 (sqrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (+.f32 (*.f32 u -4/3) 4/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) (+.f32 (*.f32 u -4/3) -2/3)) (/.f32 1 (+.f32 (*.f32 u -4/3) -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (*.f32 u -4/3) 4/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (*.f32 u -4/3) 4/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) (pow.f32 (cbrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) 2) (cbrt.f32 (+.f32 (*.f32 u -4/3) 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) (sqrt.f32 (+.f32 (*.f32 u -4/3) 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 1 (pow.f32 (fma.f32 u -4/3 1/3) 3)) (/.f32 1 (+.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) (-.f32 1 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) -1) (/.f32 1 (+.f32 (*.f32 u -4/3) -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) (-.f32 1 (fma.f32 u -4/3 1/3))) (+.f32 1 (pow.f32 (fma.f32 u -4/3 1/3) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 (*.f32 u -4/3) -2/3) (+.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (fma.f32 u -4/3 1/3) 3)) (+.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) (-.f32 1 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (fma.f32 u -4/3 1/3) 3)) (+.f32 1 (-.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) -1) (+.f32 (*.f32 u -4/3) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 1 (pow.f32 (fma.f32 u -4/3 1/3) 3))) (neg.f32 (+.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) (-.f32 1 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 (pow.f32 (fma.f32 u -4/3 1/3) 2) -1)) (neg.f32 (+.f32 (*.f32 u -4/3) -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (fma.f32 u -4/3 1/3) 2)) (-.f32 1 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (*.f32 u -4/3) 4/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (+.f32 (*.f32 u -4/3) 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (+.f32 (*.f32 u -4/3) 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (fma.f32 u -4/3 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 u -4/3 1/3)) 2) (cbrt.f32 (fma.f32 u -4/3 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 u -4/3 1/3)) (sqrt.f32 (fma.f32 u -4/3 1/3)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3/2) (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (cbrt.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -6))) (log.f32 (cbrt.f32 (pow.f32 (+.f32 (*.f32 u -4/3) 4/3) -3))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))) (pow.f32 (cbrt.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))) 2) (cbrt.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))) (sqrt.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3))))))))) |
| 1× | egg-herbie |
| 818× | fma-def_binary32 |
| 634× | cancel-sign-sub-inv_binary32 |
| 492× | unswap-sqr_binary32 |
| 471× | distribute-neg-frac_binary32 |
| 416× | associate-/r*_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 75 | 515 |
| 1 | 201 | 484 |
| 2 | 557 | 479 |
| 3 | 1757 | 461 |
| 4 | 5815 | 461 |
| 1× | node limit |
| Inputs |
|---|
27/64 |
(+.f32 27/64 (*.f32 81/64 u)) |
(+.f32 27/64 (+.f32 (*.f32 81/32 (pow.f32 u 2)) (*.f32 81/64 u))) |
(+.f32 27/64 (+.f32 (*.f32 81/32 (pow.f32 u 2)) (+.f32 (*.f32 135/32 (pow.f32 u 3)) (*.f32 81/64 u)))) |
(/.f32 -27/64 (pow.f32 u 3)) |
(neg.f32 (+.f32 (*.f32 81/64 (/.f32 1 (pow.f32 u 4))) (*.f32 27/64 (/.f32 1 (pow.f32 u 3))))) |
(neg.f32 (+.f32 (*.f32 81/64 (/.f32 1 (pow.f32 u 4))) (+.f32 (*.f32 27/64 (/.f32 1 (pow.f32 u 3))) (*.f32 81/32 (/.f32 1 (pow.f32 u 5)))))) |
(neg.f32 (+.f32 (*.f32 81/64 (/.f32 1 (pow.f32 u 4))) (+.f32 (*.f32 135/32 (/.f32 1 (pow.f32 u 6))) (+.f32 (*.f32 27/64 (/.f32 1 (pow.f32 u 3))) (*.f32 81/32 (/.f32 1 (pow.f32 u 5))))))) |
(/.f32 -27/64 (pow.f32 u 3)) |
(neg.f32 (+.f32 (*.f32 81/64 (/.f32 1 (pow.f32 u 4))) (*.f32 27/64 (/.f32 1 (pow.f32 u 3))))) |
(neg.f32 (+.f32 (*.f32 81/64 (/.f32 1 (pow.f32 u 4))) (+.f32 (*.f32 27/64 (/.f32 1 (pow.f32 u 3))) (*.f32 81/32 (/.f32 1 (pow.f32 u 5)))))) |
(neg.f32 (+.f32 (*.f32 81/64 (/.f32 1 (pow.f32 u 4))) (+.f32 (*.f32 135/32 (/.f32 1 (pow.f32 u 6))) (+.f32 (*.f32 27/64 (/.f32 1 (pow.f32 u 3))) (*.f32 81/32 (/.f32 1 (pow.f32 u 5))))))) |
4/3 |
(+.f32 (*.f32 -4/3 u) 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(*.f32 -4/3 u) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(*.f32 -4/3 u) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(log.f32 27/64) |
(+.f32 (*.f32 3 u) (log.f32 27/64)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (log.f32 27/64))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (log.f32 27/64)))) |
(+.f32 (log.f32 -27/64) (*.f32 3 (log.f32 (/.f32 1 u)))) |
(+.f32 (*.f32 3 (/.f32 1 u)) (+.f32 (log.f32 -27/64) (*.f32 3 (log.f32 (/.f32 1 u))))) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (+.f32 (log.f32 -27/64) (*.f32 3 (log.f32 (/.f32 1 u)))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (+.f32 (log.f32 -27/64) (*.f32 3 (log.f32 (/.f32 1 u))))))) |
(+.f32 (log.f32 27/64) (*.f32 3 (log.f32 (/.f32 -1 u)))) |
(+.f32 (*.f32 3 (/.f32 1 u)) (+.f32 (log.f32 27/64) (*.f32 3 (log.f32 (/.f32 -1 u))))) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (+.f32 (log.f32 27/64) (*.f32 3 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (+.f32 (log.f32 27/64) (*.f32 3 (log.f32 (/.f32 -1 u))))))) |
| Outputs |
|---|
27/64 |
(+.f32 27/64 (*.f32 81/64 u)) |
(fma.f32 81/64 u 27/64) |
(+.f32 27/64 (+.f32 (*.f32 81/32 (pow.f32 u 2)) (*.f32 81/64 u))) |
(+.f32 27/64 (fma.f32 81/32 (*.f32 u u) (*.f32 81/64 u))) |
(+.f32 (fma.f32 81/64 u 27/64) (*.f32 u (*.f32 u 81/32))) |
(fma.f32 81/64 u (fma.f32 81/32 (*.f32 u u) 27/64)) |
(fma.f32 u (fma.f32 u 81/32 81/64) 27/64) |
(+.f32 27/64 (+.f32 (*.f32 81/32 (pow.f32 u 2)) (+.f32 (*.f32 135/32 (pow.f32 u 3)) (*.f32 81/64 u)))) |
(+.f32 27/64 (fma.f32 81/32 (*.f32 u u) (fma.f32 135/32 (pow.f32 u 3) (*.f32 81/64 u)))) |
(+.f32 (fma.f32 81/32 (*.f32 u u) (*.f32 135/32 (pow.f32 u 3))) (fma.f32 81/64 u 27/64)) |
(+.f32 27/64 (fma.f32 81/64 u (*.f32 (*.f32 u u) (+.f32 81/32 (*.f32 u 135/32))))) |
(fma.f32 u (fma.f32 u 81/32 81/64) (fma.f32 135/32 (pow.f32 u 3) 27/64)) |
(/.f32 -27/64 (pow.f32 u 3)) |
(neg.f32 (+.f32 (*.f32 81/64 (/.f32 1 (pow.f32 u 4))) (*.f32 27/64 (/.f32 1 (pow.f32 u 3))))) |
(neg.f32 (+.f32 (/.f32 81/64 (pow.f32 u 4)) (/.f32 27/64 (pow.f32 u 3)))) |
(+.f32 (/.f32 -81/64 (pow.f32 u 4)) (/.f32 -27/64 (pow.f32 u 3))) |
(neg.f32 (+.f32 (*.f32 81/64 (/.f32 1 (pow.f32 u 4))) (+.f32 (*.f32 27/64 (/.f32 1 (pow.f32 u 3))) (*.f32 81/32 (/.f32 1 (pow.f32 u 5)))))) |
(neg.f32 (+.f32 (/.f32 81/64 (pow.f32 u 4)) (+.f32 (/.f32 27/64 (pow.f32 u 3)) (/.f32 81/32 (pow.f32 u 5))))) |
(-.f32 (+.f32 (/.f32 -81/64 (pow.f32 u 4)) (/.f32 -27/64 (pow.f32 u 3))) (/.f32 81/32 (pow.f32 u 5))) |
(-.f32 (+.f32 (/.f32 -27/64 (pow.f32 u 3)) (/.f32 -81/32 (pow.f32 u 5))) (/.f32 81/64 (pow.f32 u 4))) |
(+.f32 (+.f32 (/.f32 -81/64 (pow.f32 u 4)) (/.f32 -27/64 (pow.f32 u 3))) (/.f32 -81/32 (pow.f32 u 5))) |
(neg.f32 (+.f32 (*.f32 81/64 (/.f32 1 (pow.f32 u 4))) (+.f32 (*.f32 135/32 (/.f32 1 (pow.f32 u 6))) (+.f32 (*.f32 27/64 (/.f32 1 (pow.f32 u 3))) (*.f32 81/32 (/.f32 1 (pow.f32 u 5))))))) |
(neg.f32 (+.f32 (/.f32 81/64 (pow.f32 u 4)) (+.f32 (+.f32 (/.f32 27/64 (pow.f32 u 3)) (/.f32 81/32 (pow.f32 u 5))) (/.f32 135/32 (pow.f32 u 6))))) |
(-.f32 (/.f32 -81/64 (pow.f32 u 4)) (+.f32 (+.f32 (/.f32 27/64 (pow.f32 u 3)) (/.f32 81/32 (pow.f32 u 5))) (/.f32 135/32 (pow.f32 u 6)))) |
(+.f32 (-.f32 (+.f32 (/.f32 -27/64 (pow.f32 u 3)) (/.f32 -81/32 (pow.f32 u 5))) (/.f32 81/64 (pow.f32 u 4))) (/.f32 -135/32 (pow.f32 u 6))) |
(+.f32 (+.f32 (/.f32 -81/64 (pow.f32 u 4)) (/.f32 -27/64 (pow.f32 u 3))) (-.f32 (/.f32 -81/32 (pow.f32 u 5)) (/.f32 135/32 (pow.f32 u 6)))) |
(/.f32 -27/64 (pow.f32 u 3)) |
(neg.f32 (+.f32 (*.f32 81/64 (/.f32 1 (pow.f32 u 4))) (*.f32 27/64 (/.f32 1 (pow.f32 u 3))))) |
(neg.f32 (+.f32 (/.f32 81/64 (pow.f32 u 4)) (/.f32 27/64 (pow.f32 u 3)))) |
(+.f32 (/.f32 -81/64 (pow.f32 u 4)) (/.f32 -27/64 (pow.f32 u 3))) |
(neg.f32 (+.f32 (*.f32 81/64 (/.f32 1 (pow.f32 u 4))) (+.f32 (*.f32 27/64 (/.f32 1 (pow.f32 u 3))) (*.f32 81/32 (/.f32 1 (pow.f32 u 5)))))) |
(neg.f32 (+.f32 (/.f32 81/64 (pow.f32 u 4)) (+.f32 (/.f32 27/64 (pow.f32 u 3)) (/.f32 81/32 (pow.f32 u 5))))) |
(-.f32 (+.f32 (/.f32 -81/64 (pow.f32 u 4)) (/.f32 -27/64 (pow.f32 u 3))) (/.f32 81/32 (pow.f32 u 5))) |
(-.f32 (+.f32 (/.f32 -27/64 (pow.f32 u 3)) (/.f32 -81/32 (pow.f32 u 5))) (/.f32 81/64 (pow.f32 u 4))) |
(+.f32 (+.f32 (/.f32 -81/64 (pow.f32 u 4)) (/.f32 -27/64 (pow.f32 u 3))) (/.f32 -81/32 (pow.f32 u 5))) |
(neg.f32 (+.f32 (*.f32 81/64 (/.f32 1 (pow.f32 u 4))) (+.f32 (*.f32 135/32 (/.f32 1 (pow.f32 u 6))) (+.f32 (*.f32 27/64 (/.f32 1 (pow.f32 u 3))) (*.f32 81/32 (/.f32 1 (pow.f32 u 5))))))) |
(neg.f32 (+.f32 (/.f32 81/64 (pow.f32 u 4)) (+.f32 (+.f32 (/.f32 27/64 (pow.f32 u 3)) (/.f32 81/32 (pow.f32 u 5))) (/.f32 135/32 (pow.f32 u 6))))) |
(-.f32 (/.f32 -81/64 (pow.f32 u 4)) (+.f32 (+.f32 (/.f32 27/64 (pow.f32 u 3)) (/.f32 81/32 (pow.f32 u 5))) (/.f32 135/32 (pow.f32 u 6)))) |
(+.f32 (-.f32 (+.f32 (/.f32 -27/64 (pow.f32 u 3)) (/.f32 -81/32 (pow.f32 u 5))) (/.f32 81/64 (pow.f32 u 4))) (/.f32 -135/32 (pow.f32 u 6))) |
(+.f32 (+.f32 (/.f32 -81/64 (pow.f32 u 4)) (/.f32 -27/64 (pow.f32 u 3))) (-.f32 (/.f32 -81/32 (pow.f32 u 5)) (/.f32 135/32 (pow.f32 u 6)))) |
4/3 |
(+.f32 (*.f32 -4/3 u) 4/3) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(*.f32 -4/3 u) |
(*.f32 u -4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(*.f32 -4/3 u) |
(*.f32 u -4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(fma.f32 u -4/3 4/3) |
(log.f32 27/64) |
(+.f32 (*.f32 3 u) (log.f32 27/64)) |
(fma.f32 3 u (log.f32 27/64)) |
(fma.f32 u 3 (log.f32 27/64)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (log.f32 27/64))) |
(fma.f32 3/2 (*.f32 u u) (fma.f32 3 u (log.f32 27/64))) |
(fma.f32 (*.f32 u u) 3/2 (fma.f32 u 3 (log.f32 27/64))) |
(fma.f32 u 3 (fma.f32 u (*.f32 u 3/2) (log.f32 27/64))) |
(fma.f32 u (fma.f32 u 3/2 3) (log.f32 27/64)) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (log.f32 27/64)))) |
(+.f32 (pow.f32 u 3) (fma.f32 3/2 (*.f32 u u) (fma.f32 3 u (log.f32 27/64)))) |
(+.f32 (fma.f32 u 3 (log.f32 27/64)) (*.f32 (*.f32 u u) (+.f32 u 3/2))) |
(fma.f32 (*.f32 u u) (+.f32 u 3/2) (fma.f32 u 3 (log.f32 27/64))) |
(+.f32 (pow.f32 u 3) (fma.f32 u (fma.f32 u 3/2 3) (log.f32 27/64))) |
(+.f32 (log.f32 -27/64) (*.f32 3 (log.f32 (/.f32 1 u)))) |
(+.f32 (log.f32 -27/64) (*.f32 3 (neg.f32 (log.f32 u)))) |
(fma.f32 3 (neg.f32 (log.f32 u)) (log.f32 -27/64)) |
(-.f32 (log.f32 -27/64) (*.f32 3 (log.f32 u))) |
(fma.f32 (log.f32 u) -3 (log.f32 -27/64)) |
(+.f32 (*.f32 3 (/.f32 1 u)) (+.f32 (log.f32 -27/64) (*.f32 3 (log.f32 (/.f32 1 u))))) |
(+.f32 (+.f32 (log.f32 -27/64) (*.f32 3 (neg.f32 (log.f32 u)))) (/.f32 3 u)) |
(+.f32 (fma.f32 3 (neg.f32 (log.f32 u)) (log.f32 -27/64)) (/.f32 3 u)) |
(+.f32 (-.f32 (log.f32 -27/64) (*.f32 3 (log.f32 u))) (/.f32 3 u)) |
(+.f32 (fma.f32 (log.f32 u) -3 (log.f32 -27/64)) (/.f32 3 u)) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (+.f32 (log.f32 -27/64) (*.f32 3 (log.f32 (/.f32 1 u)))))) |
(+.f32 (+.f32 (+.f32 (log.f32 -27/64) (*.f32 3 (neg.f32 (log.f32 u)))) (/.f32 3 u)) (/.f32 3/2 (*.f32 u u))) |
(+.f32 (/.f32 3 u) (+.f32 (fma.f32 3 (neg.f32 (log.f32 u)) (log.f32 -27/64)) (/.f32 3/2 (*.f32 u u)))) |
(+.f32 (/.f32 3 u) (+.f32 (log.f32 -27/64) (fma.f32 3 (neg.f32 (log.f32 u)) (/.f32 3/2 (*.f32 u u))))) |
(+.f32 (/.f32 3 u) (+.f32 (log.f32 -27/64) (fma.f32 (log.f32 u) -3 (/.f32 3/2 (*.f32 u u))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (+.f32 (log.f32 -27/64) (*.f32 3 (log.f32 (/.f32 1 u))))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (+.f32 (+.f32 (log.f32 -27/64) (*.f32 3 (neg.f32 (log.f32 u)))) (/.f32 3 u)) (/.f32 3/2 (*.f32 u u)))) |
(+.f32 (+.f32 (fma.f32 3 (neg.f32 (log.f32 u)) (log.f32 -27/64)) (/.f32 3 u)) (+.f32 (/.f32 1 (pow.f32 u 3)) (/.f32 3/2 (*.f32 u u)))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (/.f32 3 u) (+.f32 (log.f32 -27/64) (fma.f32 3 (neg.f32 (log.f32 u)) (/.f32 3/2 (*.f32 u u)))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (/.f32 3 u) (+.f32 (log.f32 -27/64) (fma.f32 (log.f32 u) -3 (/.f32 3/2 (*.f32 u u)))))) |
(+.f32 (log.f32 27/64) (*.f32 3 (log.f32 (/.f32 -1 u)))) |
(fma.f32 3 (log.f32 (/.f32 -1 u)) (log.f32 27/64)) |
(+.f32 (*.f32 3 (/.f32 1 u)) (+.f32 (log.f32 27/64) (*.f32 3 (log.f32 (/.f32 -1 u))))) |
(+.f32 (/.f32 3 u) (+.f32 (log.f32 27/64) (*.f32 3 (log.f32 (/.f32 -1 u))))) |
(+.f32 (/.f32 3 u) (fma.f32 3 (log.f32 (/.f32 -1 u)) (log.f32 27/64))) |
(+.f32 (log.f32 27/64) (fma.f32 3 (log.f32 (/.f32 -1 u)) (/.f32 3 u))) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (+.f32 (log.f32 27/64) (*.f32 3 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (/.f32 3/2 (*.f32 u u)) (+.f32 (/.f32 3 u) (+.f32 (log.f32 27/64) (*.f32 3 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 3 (log.f32 (/.f32 -1 u)) (log.f32 27/64))) (/.f32 3 u)) |
(+.f32 (/.f32 3 u) (+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 3 (log.f32 (/.f32 -1 u)) (log.f32 27/64)))) |
(fma.f32 3 (log.f32 (/.f32 -1 u)) (+.f32 (log.f32 27/64) (+.f32 (/.f32 3 u) (/.f32 3/2 (*.f32 u u))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (+.f32 (log.f32 27/64) (*.f32 3 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (/.f32 3/2 (*.f32 u u)) (+.f32 (/.f32 3 u) (+.f32 (log.f32 27/64) (*.f32 3 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 3 (log.f32 (/.f32 -1 u)) (log.f32 27/64))) (/.f32 3 u))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (/.f32 3 u) (+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 3 (log.f32 (/.f32 -1 u)) (log.f32 27/64))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (fma.f32 3 (log.f32 (/.f32 -1 u)) (+.f32 (log.f32 27/64) (+.f32 (/.f32 3 u) (/.f32 3/2 (*.f32 u u)))))) |
Compiled 13388 to 10462 computations (21.9% saved)
51 alts after pruning (41 fresh and 10 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 721 | 17 | 738 |
| Fresh | 8 | 24 | 32 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 10 | 11 |
| Total | 731 | 51 | 782 |
| Status | Error | Program |
|---|---|---|
| ✓ | 1.2b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
| 21.8b | (*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 3/2 (*.f32 u u)))) | |
| 1.0b | (*.f32 s (log.f32 (pow.f32 (fma.f32 u -4/3 4/3) -3))) | |
| ▶ | 29.6b | (*.f32 s (log.f32 27/64)) |
| 0.9b | (*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) | |
| 21.8b | (neg.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 u (+.f32 (*.f32 -1/2 u) -1)))))) | |
| 1.2b | (*.f32 s (log.f32 (pow.f32 (+.f32 (*.f32 -4/3 u) 4/3) -3))) | |
| 1.0b | (*.f32 (*.f32 3 s) (neg.f32 (log.f32 (fma.f32 (+.f32 u -1/4) -4/3 1)))) | |
| 1.1b | (*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) | |
| 1.2b | (*.f32 s (*.f32 (log1p.f32 (/.f32 (-.f32 (*.f32 16/9 (*.f32 u u)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) | |
| 22.0b | (*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) | |
| ▶ | 1.1b | (*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))))) |
| ✓ | 0.8b | (*.f32 (*.f32 3 s) (exp.f32 (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) |
| ▶ | 0.9b | (*.f32 s (-.f32 (+.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1)) |
| ✓ | 20.4b | (*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
| 28.8b | (-.f32 (+.f32 1 (*.f32 s (*.f32 (log.f32 3/4) 3))) 1) | |
| 1.1b | (*.f32 s (*.f32 (log1p.f32 (/.f32 (fma.f32 (*.f32 u (*.f32 u -4/3)) -4/3 -1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) | |
| 1.1b | (*.f32 s (*.f32 (log1p.f32 (/.f32 (fma.f32 (*.f32 u u) 16/9 -1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) | |
| 1.3b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 4/3 (*.f32 u 4/3))))) | |
| 1.1b | (*.f32 (*.f32 3 s) (*.f32 1/3 (log.f32 (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) -3)))) | |
| ✓ | 20.4b | (*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
| 1.0b | (neg.f32 (*.f32 3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))) | |
| ▶ | 21.8b | (*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u 3/2)))) |
| 11.7b | (*.f32 s (*.f32 (expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) -3)) | |
| 0.9b | (neg.f32 (*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))))) | |
| 20.4b | (*.f32 s (+.f32 (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u 3)) (*.f32 u (*.f32 u (+.f32 u 3/2))))) | |
| 0.9b | (*.f32 s (*.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)) -3)) | |
| 21.8b | (*.f32 s (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) | |
| 1.0b | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) | |
| ✓ | 0.7b | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
| ✓ | 0.7b | (*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
| 23.7b | (*.f32 s (*.f32 3 (+.f32 u (log.f32 3/4)))) | |
| 23.7b | (*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 s)) | |
| 0.9b | (*.f32 (*.f32 3 s) (pow.f32 (sqrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 2)) | |
| 23.7b | (*.f32 s (+.f32 (*.f32 3 u) (log.f32 27/64))) | |
| ✓ | 29.6b | (*.f32 (*.f32 3 s) (log.f32 3/4)) |
| 23.7b | (+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u))) | |
| ▶ | 0.7b | (*.f32 s (expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))) |
| 1.0b | (*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) | |
| 0.7b | (*.f32 (*.f32 3 s) (pow.f32 (pow.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) 3) 1/3)) | |
| 22.0b | (*.f32 s (+.f32 (*.f32 u 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) | |
| ✓ | 1.5b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (-.f32 1 (*.f32 u 4/3)) 1/3)))) |
| ✓ | 29.6b | (*.f32 3 (*.f32 s (log.f32 3/4))) |
| 1.6b | (*.f32 s (log.f32 (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) 2) -3) (pow.f32 (cbrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) -3)))) | |
| 0.9b | (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) | |
| 1.2b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (*.f32 (+.f32 u -1/4) -4/3) 1)))) | |
| 0.9b | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (/.f32 (*.f32 (fma.f32 u u -1/16) -4/3) (+.f32 u 1/4))))) | |
| ✓ | 1.3b | (*.f32 s (*.f32 (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) |
| 20.4b | (neg.f32 (*.f32 3 (*.f32 s (+.f32 (-.f32 (log.f32 4/3) u) (*.f32 (*.f32 u u) (+.f32 -1/2 (*.f32 -1/3 u))))))) | |
| 1.2b | (*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) | |
| 1.3b | (neg.f32 (*.f32 3 (*.f32 s (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3)))))) |
Compiled 1363 to 1117 computations (18% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.3b | (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) | |
| 0.3b | (fma.f32 u -4/3 1/3) | |
| ✓ | 0.4b | (expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))) |
| 0.4b | (log1p.f32 (fma.f32 u -4/3 1/3)) |
Compiled 51 to 42 computations (17.6% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | u | @ | 0 | (expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))) |
| 0.0ms | u | @ | inf | (expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))) |
| 0.0ms | u | @ | -inf | (expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))) |
| 1× | batch-egg-rewrite |
| 757× | pow1_binary32 |
| 705× | add-log-exp_binary32 |
| 705× | expm1-log1p-u_binary32 |
| 703× | log1p-expm1-u_binary32 |
| 693× | add-exp-log_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 10 |
| 1 | 180 | 10 |
| 2 | 1896 | 10 |
| 1× | node limit |
| Inputs |
|---|
(expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) (cbrt.f32 (*.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2) 9)) (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) (*.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (*.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 -3 (cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 -3 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (+.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1) 3) 1) (+.f32 (*.f32 (+.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1) (+.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1)) (+.f32 1 (*.f32 (+.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (+.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1) (+.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1)) 1) (+.f32 (+.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2) 9))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))))))) |
| 1× | egg-herbie |
| 550× | sub-neg_binary32 |
| 536× | unswap-sqr_binary32 |
| 503× | fma-def_binary32 |
| 284× | associate-*l*_binary32 |
| 283× | associate-+l+_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 41 | 264 |
| 1 | 112 | 233 |
| 2 | 297 | 230 |
| 3 | 793 | 226 |
| 4 | 2292 | 226 |
| 5 | 5248 | 226 |
| 1× | node limit |
| Inputs |
|---|
(*.f32 -3 (log.f32 4/3)) |
(+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))))) |
(*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) |
(+.f32 (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (*.f32 3 (/.f32 1 u))) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))))) |
(*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) |
(+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))))) |
| Outputs |
|---|
(*.f32 -3 (log.f32 4/3)) |
(+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))) |
(fma.f32 3 u (*.f32 -3 (log.f32 4/3))) |
(fma.f32 -3 (log.f32 4/3) (*.f32 3 u)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) |
(fma.f32 3/2 (*.f32 u u) (fma.f32 3 u (*.f32 -3 (log.f32 4/3)))) |
(fma.f32 3/2 (*.f32 u u) (fma.f32 -3 (log.f32 4/3) (*.f32 3 u))) |
(fma.f32 -3 (log.f32 4/3) (*.f32 u (+.f32 3 (*.f32 u 3/2)))) |
(fma.f32 -3 (log.f32 4/3) (*.f32 u (fma.f32 u 3/2 3))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))))) |
(+.f32 (fma.f32 3/2 (*.f32 u u) (fma.f32 3 u (*.f32 -3 (log.f32 4/3)))) (pow.f32 u 3)) |
(+.f32 (fma.f32 -3 (log.f32 4/3) (*.f32 3 u)) (*.f32 (*.f32 u u) (+.f32 u 3/2))) |
(fma.f32 (*.f32 u u) (+.f32 u 3/2) (fma.f32 -3 (log.f32 4/3) (*.f32 3 u))) |
(fma.f32 -3 (log.f32 4/3) (fma.f32 u (fma.f32 u 3/2 3) (pow.f32 u 3))) |
(*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) |
(*.f32 -3 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))) |
(*.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u))) |
(+.f32 (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (*.f32 3 (/.f32 1 u))) |
(fma.f32 -3 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) (/.f32 3 u)) |
(fma.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 3 u)) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 -3 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) (/.f32 3 u))) |
(+.f32 (/.f32 (/.f32 3/2 u) u) (fma.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 3 u))) |
(+.f32 (/.f32 3 u) (fma.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 (/.f32 3/2 u) u))) |
(fma.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)) (+.f32 (/.f32 3 u) (/.f32 (/.f32 3/2 u) u))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))))) |
(+.f32 (+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 -3 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) (/.f32 3 u))) (/.f32 1 (pow.f32 u 3))) |
(+.f32 (/.f32 (/.f32 3/2 u) u) (+.f32 (fma.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 3 u)) (/.f32 1 (pow.f32 u 3)))) |
(+.f32 (/.f32 (/.f32 3/2 u) u) (+.f32 (/.f32 3 u) (fma.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 1 (pow.f32 u 3))))) |
(*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) |
(*.f32 -3 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))) |
(*.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) |
(+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (/.f32 3 u) (*.f32 -3 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))))) |
(fma.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 3 u)) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (/.f32 3/2 (*.f32 u u)) (+.f32 (/.f32 3 u) (*.f32 -3 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (/.f32 (/.f32 3/2 u) u) (fma.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 3 u))) |
(+.f32 (/.f32 3 u) (fma.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 (/.f32 3/2 u) u))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (/.f32 3/2 (*.f32 u u)) (+.f32 (/.f32 3 u) (*.f32 -3 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))))))) |
(+.f32 (+.f32 (/.f32 1 (pow.f32 u 3)) (fma.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 3 u))) (/.f32 (/.f32 3/2 u) u)) |
(+.f32 (+.f32 (/.f32 3 u) (/.f32 (/.f32 3/2 u) u)) (fma.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 1 (pow.f32 u 3)))) |
(+.f32 (/.f32 3 u) (+.f32 (/.f32 1 (pow.f32 u 3)) (fma.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 (/.f32 3/2 u) u)))) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f32 s (log.f32 27/64)) |
Compiled 10 to 8 computations (20% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 30.0ms | s | @ | 0 | (*.f32 s (log.f32 27/64)) |
| 1.0ms | s | @ | inf | (*.f32 s (log.f32 27/64)) |
| 1.0ms | s | @ | -inf | (*.f32 s (log.f32 27/64)) |
| 1× | batch-egg-rewrite |
| 417× | pow1_binary32 |
| 405× | add-sqr-sqrt_binary32 |
| 395× | *-un-lft-identity_binary32 |
| 388× | add-log-exp_binary32 |
| 388× | log1p-expm1-u_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 6 |
| 1 | 97 | 6 |
| 2 | 1066 | 6 |
| 1× | node limit |
| Inputs |
|---|
(*.f32 s (log.f32 27/64)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 s (log.f32 27/64)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 27/64 s)) 2)) (log.f32 (cbrt.f32 (pow.f32 27/64 s))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 27/64 s))) (log.f32 (sqrt.f32 (pow.f32 27/64 s))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 s (log.f32 27/64))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 s (log.f32 27/64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 s (log.f32 27/64)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 s (log.f32 27/64)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 s (log.f32 27/64))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 s (log.f32 27/64))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 s (log.f32 27/64)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 27/64 s))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 s (log.f32 27/64)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 s (log.f32 27/64))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (-.f32 (pow.f32 27/64 s) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 s (log.f32 27/64)))))))) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 0 | 0 |
| 1× | saturated |
| Inputs |
|---|
| Outputs |
|---|
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f32 u (*.f32 u 3/2)) |
| ✓ | 0.3b | (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u 3/2))) |
| 0.4b | (*.f32 (+.f32 (log.f32 3/4) u) 3) | |
| 1.1b | (+.f32 (log.f32 3/4) u) |
Compiled 53 to 39 computations (26.4% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | u | @ | -inf | (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u 3/2))) |
| 0.0ms | u | @ | inf | (*.f32 u (*.f32 u 3/2)) |
| 0.0ms | u | @ | 0 | (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u 3/2))) |
| 0.0ms | u | @ | 0 | (*.f32 u (*.f32 u 3/2)) |
| 0.0ms | u | @ | inf | (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u 3/2))) |
| 1× | batch-egg-rewrite |
| 547× | log-prod_binary32 |
| 469× | fma-def_binary32 |
| 364× | pow-prod-down_binary32 |
| 302× | pow2_binary32 |
| 224× | fma-neg_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 23 |
| 1 | 241 | 23 |
| 2 | 3210 | 23 |
| 1× | node limit |
| Inputs |
|---|
(+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u 3/2))) |
(*.f32 u (*.f32 u 3/2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 2) 9) (-.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2)))) (/.f32 (*.f32 (pow.f32 u 4) 9/4) (-.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))) (pow.f32 (cbrt.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))) 2) (cbrt.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))) (sqrt.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 3) 27 (*.f32 (pow.f32 u 6) 27/8)) (/.f32 1 (-.f32 (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 2) 9 (*.f32 (pow.f32 u 4) 9/4)) (*.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 2) 9 (neg.f32 (*.f32 (pow.f32 u 4) 9/4))) (/.f32 1 (-.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (-.f32 (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 2) 9 (*.f32 (pow.f32 u 4) 9/4)) (*.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2)))) (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 3) 27 (*.f32 (pow.f32 u 6) 27/8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (-.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2))) (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 2) 9 (neg.f32 (*.f32 (pow.f32 u 4) 9/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 3) 27 (*.f32 (pow.f32 u 6) 27/8)) (-.f32 (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 2) 9 (*.f32 (pow.f32 u 4) 9/4)) (*.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 3) 27 (*.f32 (pow.f32 u 6) 27/8)) (fma.f32 (pow.f32 u 4) 9/4 (-.f32 (*.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 2) 9) (*.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 2) 9 (neg.f32 (*.f32 (pow.f32 u 4) 9/4))) (-.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 3) 27 (*.f32 (pow.f32 u 6) 27/8))) (neg.f32 (-.f32 (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 2) 9 (*.f32 (pow.f32 u 4) 9/4)) (*.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 2) 9 (neg.f32 (*.f32 (pow.f32 u 4) 9/4)))) (neg.f32 (-.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (pow.f32 u 4) 9/4) (*.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 2) 9)) (-.f32 (*.f32 u (*.f32 u 3/2)) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (-.f32 (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 2) 9 (*.f32 (pow.f32 u 4) 9/4)) (*.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2)))) (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 3) 27 (*.f32 (pow.f32 u 6) 27/8))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (-.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2))) (fma.f32 (pow.f32 (+.f32 (log1p.f32 -1/4) u) 2) 9 (neg.f32 (*.f32 (pow.f32 u 4) 9/4)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))) (pow.f32 (exp.f32 3/2) (*.f32 u u))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (pow.f32 (*.f32 3/4 (exp.f32 u)) 3) (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u 3/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))) (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u 3/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u 3/2)))) (pow.f32 (*.f32 3/4 (exp.f32 u)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (pow.f32 (exp.f32 3/2) (*.f32 u u)) (+.f32 1 (expm1.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u 3/2)))) (+.f32 1 (expm1.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (pow.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u (*.f32 u 3/2) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (log1p.f32 -1/4) u) 3 (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 3 (+.f32 (log1p.f32 -1/4) u) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) 1 (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 3/2 (*.f32 u u) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u 3/2) u (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (*.f32 u 3/2)) 1 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 u (*.f32 u 3/2)) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u u) 3/2 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (+.f32 (log1p.f32 -1/4) u)) 2) (*.f32 (cbrt.f32 (+.f32 (log1p.f32 -1/4) u)) 3) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 u 3/2)) 2) (*.f32 (cbrt.f32 (*.f32 u 3/2)) u) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 u (*.f32 u 3/2))) (cbrt.f32 (*.f32 (pow.f32 u 4) 9/4)) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 (pow.f32 u 4) 9/4)) (cbrt.f32 (*.f32 u (*.f32 u 3/2))) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)) (pow.f32 (cbrt.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)) 2) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)) 2) (cbrt.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 u) 2) (*.f32 (cbrt.f32 u) (*.f32 u 3/2)) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (+.f32 (log1p.f32 -1/4) u)) (*.f32 (sqrt.f32 (+.f32 (log1p.f32 -1/4) u)) 3) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 u 3/2)) (*.f32 (sqrt.f32 (*.f32 u 3/2)) u) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (sqrt.f32 3/2)) (*.f32 u (sqrt.f32 3/2)) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)) (sqrt.f32 (*.f32 (+.f32 (log1p.f32 -1/4) u) 3)) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 u) (*.f32 (sqrt.f32 u) (*.f32 u 3/2)) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (pow.f32 (cbrt.f32 (*.f32 u 3/2)) 2)) (cbrt.f32 (*.f32 u 3/2)) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u (sqrt.f32 (*.f32 u 3/2))) (sqrt.f32 (*.f32 u 3/2)) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u 3/2) (pow.f32 (cbrt.f32 u) 2)) (cbrt.f32 u) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 u 3/2) (sqrt.f32 u)) (sqrt.f32 u) (*.f32 (+.f32 (log1p.f32 -1/4) u) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 3 (pow.f32 (cbrt.f32 (+.f32 (log1p.f32 -1/4) u)) 2)) (cbrt.f32 (+.f32 (log1p.f32 -1/4) u)) (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 3 (sqrt.f32 (+.f32 (log1p.f32 -1/4) u))) (sqrt.f32 (+.f32 (log1p.f32 -1/4) u)) (*.f32 u (*.f32 u 3/2))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 u (*.f32 u 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 3/2) (*.f32 u u))) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 3/2) (*.f32 u u)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 3/2) (*.f32 u u)))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 3/2) (*.f32 u u)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 u (*.f32 u 3/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u (*.f32 u 3/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 u 4) 9/4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 u (*.f32 u 3/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u (sqrt.f32 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 u 6) 27/8) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (pow.f32 u 4) 9/4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 3/2) (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 u (*.f32 u 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 u 6) 27/8))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 u (*.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 u (*.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 u (*.f32 u 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 u (*.f32 u 3/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (*.f32 u (*.f32 u 3/2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 u (sqrt.f32 3/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (pow.f32 u 6) 27/8)) 1/3)))))) |
| 1× | egg-herbie |
| 778× | sqr-pow_binary32 |
| 540× | cube-prod_binary32 |
| 538× | fma-def_binary32 |
| 531× | associate-*l*_binary32 |
| 479× | fabs-mul_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 231 |
| 1 | 32 | 231 |
| 2 | 61 | 229 |
| 3 | 111 | 213 |
| 4 | 226 | 213 |
| 5 | 564 | 213 |
| 6 | 1840 | 213 |
| 7 | 3192 | 213 |
| 8 | 3404 | 213 |
| 9 | 3617 | 213 |
| 10 | 3837 | 213 |
| 11 | 4153 | 213 |
| 12 | 4559 | 213 |
| 13 | 5068 | 213 |
| 14 | 5637 | 213 |
| 15 | 6319 | 213 |
| 16 | 7156 | 213 |
| 17 | 7550 | 213 |
| 18 | 7838 | 213 |
| 1× | node limit |
| Inputs |
|---|
(*.f32 3 (log.f32 3/4)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(*.f32 3/2 (pow.f32 u 2)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(*.f32 3/2 (pow.f32 u 2)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (pow.f32 u 2)) |
| Outputs |
|---|
(*.f32 3 (log.f32 3/4)) |
(+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u)) |
(*.f32 3 (+.f32 (log.f32 3/4) u)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 3 (+.f32 (log.f32 3/4) u) (*.f32 u (*.f32 u 3/2))) |
(fma.f32 3 (log.f32 3/4) (*.f32 u (fma.f32 u 3/2 3))) |
(fma.f32 u (fma.f32 u 3/2 3) (*.f32 3 (log.f32 3/4))) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 3 (+.f32 (log.f32 3/4) u) (*.f32 u (*.f32 u 3/2))) |
(fma.f32 3 (log.f32 3/4) (*.f32 u (fma.f32 u 3/2 3))) |
(fma.f32 u (fma.f32 u 3/2 3) (*.f32 3 (log.f32 3/4))) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u)) |
(fma.f32 3/2 (*.f32 u u) (*.f32 3 u)) |
(fma.f32 3 u (*.f32 u (*.f32 u 3/2))) |
(*.f32 u (+.f32 3 (*.f32 u 3/2))) |
(*.f32 u (fma.f32 u 3/2 3)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 3 (+.f32 (log.f32 3/4) u) (*.f32 u (*.f32 u 3/2))) |
(fma.f32 3 (log.f32 3/4) (*.f32 u (fma.f32 u 3/2 3))) |
(fma.f32 u (fma.f32 u 3/2 3) (*.f32 3 (log.f32 3/4))) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 3 (+.f32 (log.f32 3/4) u) (*.f32 u (*.f32 u 3/2))) |
(fma.f32 3 (log.f32 3/4) (*.f32 u (fma.f32 u 3/2 3))) |
(fma.f32 u (fma.f32 u 3/2 3) (*.f32 3 (log.f32 3/4))) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (*.f32 3 u)) |
(fma.f32 3/2 (*.f32 u u) (*.f32 3 u)) |
(fma.f32 3 u (*.f32 u (*.f32 u 3/2))) |
(*.f32 u (+.f32 3 (*.f32 u 3/2))) |
(*.f32 u (fma.f32 u 3/2 3)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 3 (+.f32 (log.f32 3/4) u) (*.f32 u (*.f32 u 3/2))) |
(fma.f32 3 (log.f32 3/4) (*.f32 u (fma.f32 u 3/2 3))) |
(fma.f32 u (fma.f32 u 3/2 3) (*.f32 3 (log.f32 3/4))) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 (log.f32 3/4)) (*.f32 3 u))) |
(fma.f32 3/2 (*.f32 u u) (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(fma.f32 3 (+.f32 (log.f32 3/4) u) (*.f32 u (*.f32 u 3/2))) |
(fma.f32 3 (log.f32 3/4) (*.f32 u (fma.f32 u 3/2 3))) |
(fma.f32 u (fma.f32 u 3/2 3) (*.f32 3 (log.f32 3/4))) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
(*.f32 3/2 (pow.f32 u 2)) |
(*.f32 3/2 (*.f32 u u)) |
(*.f32 u (*.f32 u 3/2)) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))))) |
| ✓ | 0.3b | (*.f32 u -4/3) |
| ✓ | 0.6b | (log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))) |
| ✓ | 1.0b | (+.f32 4/3 (*.f32 u -4/3)) |
Compiled 61 to 50 computations (18% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 23.0ms | s | @ | 0 | (*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))))) |
| 1.0ms | s | @ | inf | (*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))))) |
| 0.0ms | s | @ | -inf | (*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))))) |
| 0.0ms | u | @ | -inf | (*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))))) |
| 0.0ms | u | @ | inf | (*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))))) |
| 1× | egg-rewrite-iter-limit |
| 4× | egg-rewrite |
| 1× | batch-egg-rewrite |
| 766× | pow1_binary32 |
| 718× | add-log-exp_binary32 |
| 717× | log1p-expm1-u_binary32 |
| 717× | expm1-log1p-u_binary32 |
| 708× | add-exp-log_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 28 |
| 1 | 304 | 28 |
| 2 | 3554 | 28 |
| 0 | 6 | 7 |
| 1 | 131 | 5 |
| 2 | 1584 | 5 |
| 0 | 9 | 9 |
| 1 | 197 | 7 |
| 2 | 2219 | 7 |
| 0 | 4 | 4 |
| 1 | 80 | 4 |
| 2 | 875 | 4 |
| 0 | 14 | 17 |
| 1 | 304 | 17 |
| 2 | 3554 | 17 |
| 0 | 14 | 17 |
| 1× | iter limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| Inputs |
|---|
(+.f32 4/3 (*.f32 u -4/3)) |
(log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))) |
(*.f32 u -4/3) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (fma.f32 u -4/3 4/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 16/9 (+.f32 4/3 (*.f32 4/3 u))) (/.f32 (*.f32 (*.f32 u u) 16/9) (+.f32 4/3 (*.f32 4/3 u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 u -4/3 4/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 u -4/3 4/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 u -4/3 4/3)) (pow.f32 (cbrt.f32 (fma.f32 u -4/3 4/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 u -4/3 4/3)) 2) (cbrt.f32 (fma.f32 u -4/3 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 u -4/3 4/3)) (sqrt.f32 (fma.f32 u -4/3 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 64/27 (pow.f32 (*.f32 u -4/3) 3)) (/.f32 1 (+.f32 16/9 (-.f32 (*.f32 (*.f32 u u) 16/9) (*.f32 -16/9 u)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 16/9 (*.f32 (*.f32 u u) 16/9)) (/.f32 1 (+.f32 4/3 (*.f32 4/3 u))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 16/9 (-.f32 (*.f32 (*.f32 u u) 16/9) (*.f32 -16/9 u))) (+.f32 64/27 (pow.f32 (*.f32 u -4/3) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 4/3 (*.f32 4/3 u)) (-.f32 16/9 (*.f32 (*.f32 u u) 16/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 64/27 (pow.f32 (*.f32 u -4/3) 3)) (+.f32 16/9 (-.f32 (*.f32 (*.f32 u u) 16/9) (*.f32 -16/9 u))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 64/27 (pow.f32 (*.f32 u -4/3) 3)) (+.f32 (*.f32 (*.f32 u u) 16/9) (-.f32 16/9 (*.f32 -16/9 u))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 16/9 (*.f32 (*.f32 u u) 16/9)) (+.f32 4/3 (*.f32 4/3 u)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 64/27 (pow.f32 (*.f32 u -4/3) 3))) (neg.f32 (+.f32 16/9 (-.f32 (*.f32 (*.f32 u u) 16/9) (*.f32 -16/9 u)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 16/9 (*.f32 (*.f32 u u) 16/9))) (neg.f32 (+.f32 4/3 (*.f32 4/3 u))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (*.f32 u u) 16/9) 16/9) (-.f32 (*.f32 u -4/3) 4/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 u -4/3 4/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 u -4/3 4/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 u -4/3 4/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 u -4/3 4/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 u -4/3 4/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 u -4/3 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 u -4/3 4/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 u -4/3 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 u -4/3 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 u -4/3 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 u -4/3 4/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -4/3 u 4/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 u -4/3) 4/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 u -4/3)) 2) (cbrt.f32 (*.f32 u -4/3)) 4/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 u -4/3)) (sqrt.f32 (*.f32 u -4/3)) 4/3))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (log.f32 (fma.f32 u -4/3 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 -1) (log.f32 (fma.f32 u -4/3 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (fma.f32 u -4/3 4/3)) 2)) (log.f32 (cbrt.f32 (fma.f32 u -4/3 4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (fma.f32 u -4/3 4/3))) (log.f32 (sqrt.f32 (fma.f32 u -4/3 4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (log.f32 (fma.f32 u -4/3 4/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (-.f32 16/9 (*.f32 16/9 (*.f32 u u)))) (log.f32 (+.f32 4/3 (*.f32 4/3 u))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (log.f32 (+.f32 64/27 (pow.f32 (*.f32 u -4/3) 3))) (log.f32 (+.f32 16/9 (-.f32 (*.f32 16/9 (*.f32 u u)) (*.f32 -16/9 u)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log.f32 (fma.f32 u -4/3 4/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log.f32 (fma.f32 u -4/3 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (log.f32 (fma.f32 u -4/3 4/3))) (pow.f32 (cbrt.f32 (log.f32 (fma.f32 u -4/3 4/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (log.f32 (fma.f32 u -4/3 4/3))) 2) (cbrt.f32 (log.f32 (fma.f32 u -4/3 4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log.f32 (fma.f32 u -4/3 4/3))) (sqrt.f32 (log.f32 (fma.f32 u -4/3 4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log.f32 (fma.f32 u -4/3 4/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log.f32 (fma.f32 u -4/3 4/3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (log.f32 (fma.f32 u -4/3 4/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (log.f32 (fma.f32 u -4/3 4/3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (log.f32 (fma.f32 u -4/3 4/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (log.f32 (fma.f32 u -4/3 4/3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (log.f32 (fma.f32 u -4/3 4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (-.f32 (fma.f32 u -4/3 4/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (log.f32 (fma.f32 u -4/3 4/3)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (*.f32 u -4/3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 u -4/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 -4/3) u))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 -4/3) u))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (cbrt.f32 (pow.f32 (exp.f32 -8/3) u))) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 -4/3) u))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 u -4/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (+.f32 1 (*.f32 u -4/3)) 3) 1) (+.f32 (*.f32 (+.f32 1 (*.f32 u -4/3)) (+.f32 1 (*.f32 u -4/3))) (+.f32 1 (*.f32 (+.f32 1 (*.f32 u -4/3)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (+.f32 1 (*.f32 u -4/3)) (+.f32 1 (*.f32 u -4/3))) 1) (+.f32 (+.f32 1 (*.f32 u -4/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u -4/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 u -4/3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 -64/27 (pow.f32 u 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 u -4/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 u -4/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (E.f32) (log.f32 (*.f32 u -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (*.f32 u -4/3)))) (sqrt.f32 (log.f32 (*.f32 u -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (*.f32 u -4/3))) 2)) (cbrt.f32 (log.f32 (*.f32 u -4/3))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 u -4/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (*.f32 u -4/3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 -4/3) u))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 -64/27 (pow.f32 u 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 u -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 u -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 u -4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 u -4/3))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (*.f32 u -4/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (*.f32 u -4/3))) 2)))))) |
((#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 3 (*.f32 s (neg.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (*.f32 (*.f32 3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (*.f32 3 (*.f32 s (neg.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (*.f32 (*.f32 3 (*.f32 s (neg.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))) (*.f32 3 (*.f32 s (neg.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))))))) (*.f32 3 (*.f32 s (neg.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 3 (*.f32 s (neg.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 3 (*.f32 s (neg.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3))))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 3 (*.f32 s (neg.f32 (log.f32 (+.f32 4/3 (*.f32 u -4/3)))))))))))) |
| 1× | egg-herbie |
| 380× | associate-+r+_binary32 |
| 361× | fma-def_binary32 |
| 358× | associate-+l-_binary32 |
| 337× | times-frac_binary32 |
| 304× | unsub-neg_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 84 | 812 |
| 1 | 242 | 778 |
| 2 | 701 | 755 |
| 3 | 2303 | 744 |
| 4 | 6592 | 744 |
| 1× | node limit |
| Inputs |
|---|
4/3 |
(+.f32 (*.f32 -4/3 u) 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(*.f32 -4/3 u) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(*.f32 -4/3 u) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(log.f32 4/3) |
(+.f32 (log.f32 4/3) (*.f32 -1 u)) |
(+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u))) |
(+.f32 (*.f32 -1/3 (pow.f32 u 3)) (+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u)))) |
(+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (/.f32 1 u)) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
(+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (/.f32 1 u)) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 -3 (*.f32 s (log.f32 4/3))) |
(+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3)))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3))))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 -3 (*.f32 s (log.f32 4/3)))))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
| Outputs |
|---|
4/3 |
(+.f32 (*.f32 -4/3 u) 4/3) |
(fma.f32 -4/3 u 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(fma.f32 -4/3 u 4/3) |
(+.f32 (*.f32 -4/3 u) 4/3) |
(fma.f32 -4/3 u 4/3) |
(*.f32 -4/3 u) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(*.f32 -4/3 u) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(+.f32 4/3 (*.f32 -4/3 u)) |
(fma.f32 -4/3 u 4/3) |
(log.f32 4/3) |
(+.f32 (log.f32 4/3) (*.f32 -1 u)) |
(+.f32 (log.f32 4/3) (neg.f32 u)) |
(-.f32 (log.f32 4/3) u) |
(+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u))) |
(+.f32 (log.f32 4/3) (fma.f32 -1/2 (*.f32 u u) (neg.f32 u))) |
(+.f32 (log.f32 4/3) (-.f32 (*.f32 u (*.f32 u -1/2)) u)) |
(-.f32 (fma.f32 u (*.f32 u -1/2) (log.f32 4/3)) u) |
(-.f32 (fma.f32 -1/2 (*.f32 u u) (log.f32 4/3)) u) |
(+.f32 (*.f32 -1/3 (pow.f32 u 3)) (+.f32 (log.f32 4/3) (+.f32 (*.f32 -1/2 (pow.f32 u 2)) (*.f32 -1 u)))) |
(fma.f32 -1/3 (pow.f32 u 3) (+.f32 (log.f32 4/3) (fma.f32 -1/2 (*.f32 u u) (neg.f32 u)))) |
(+.f32 (-.f32 (*.f32 u (*.f32 u -1/2)) u) (fma.f32 -1/3 (pow.f32 u 3) (log.f32 4/3))) |
(-.f32 (fma.f32 -1/3 (pow.f32 u 3) (fma.f32 u (*.f32 u -1/2) (log.f32 4/3))) u) |
(-.f32 (fma.f32 -1/3 (pow.f32 u 3) (fma.f32 -1/2 (*.f32 u u) (log.f32 4/3))) u) |
(+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))) |
(fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) |
(+.f32 (log.f32 -4/3) (log.f32 u)) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (/.f32 1 u)) |
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (/.f32 1 u)) |
(+.f32 (log.f32 -4/3) (-.f32 (log.f32 u) (/.f32 1 u))) |
(+.f32 (log.f32 -4/3) (+.f32 (log.f32 u) (/.f32 -1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (-.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 1/2 (*.f32 u u))) (/.f32 -1 u)) |
(+.f32 (log.f32 u) (+.f32 (log.f32 -4/3) (+.f32 (/.f32 -1 u) (/.f32 -1/2 (*.f32 u u))))) |
(+.f32 (log.f32 -4/3) (-.f32 (/.f32 -1 u) (-.f32 (/.f32 1/2 (*.f32 u u)) (log.f32 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 u))) (log.f32 -4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) |
(+.f32 (log.f32 -4/3) (-.f32 (log.f32 u) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3)))))) |
(+.f32 (log.f32 -4/3) (-.f32 (log.f32 u) (+.f32 (/.f32 1 u) (+.f32 (/.f32 1/2 (*.f32 u u)) (/.f32 1/3 (pow.f32 u 3)))))) |
(+.f32 (log.f32 -4/3) (+.f32 (log.f32 u) (-.f32 (+.f32 (/.f32 -1 u) (/.f32 -1/3 (pow.f32 u 3))) (/.f32 1/2 (*.f32 u u))))) |
(+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))) |
(fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) |
(-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (/.f32 1 u)) |
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (/.f32 1 u)) |
(+.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 -1 u)) |
(-.f32 (log.f32 4/3) (-.f32 (log.f32 (/.f32 -1 u)) (/.f32 -1 u))) |
(+.f32 (log.f32 4/3) (-.f32 (/.f32 -1 u) (log.f32 (/.f32 -1 u)))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (/.f32 1 u))) |
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (+.f32 (/.f32 1 u) (/.f32 1/2 (*.f32 u u)))) |
(+.f32 (-.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 1/2 (*.f32 u u))) (/.f32 -1 u)) |
(+.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (+.f32 (/.f32 -1 u) (/.f32 -1/2 (*.f32 u u)))) |
(-.f32 (-.f32 (/.f32 -1 u) (-.f32 (/.f32 1/2 (*.f32 u u)) (log.f32 4/3))) (log.f32 (/.f32 -1 u))) |
(-.f32 (-.f32 (log.f32 4/3) (-.f32 (/.f32 1/2 (*.f32 u u)) (/.f32 -1 u))) (log.f32 (/.f32 -1 u))) |
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 u))) (log.f32 4/3)) (+.f32 (*.f32 1/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 1/3 (/.f32 1 (pow.f32 u 3))) (/.f32 1 u)))) |
(-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) |
(-.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (+.f32 (/.f32 1/2 (*.f32 u u)) (+.f32 (/.f32 1 u) (/.f32 1/3 (pow.f32 u 3))))) |
(+.f32 (-.f32 (log.f32 4/3) (-.f32 (log.f32 (/.f32 -1 u)) (/.f32 -1/2 (*.f32 u u)))) (-.f32 (/.f32 -1 u) (/.f32 1/3 (pow.f32 u 3)))) |
(-.f32 (-.f32 (/.f32 -1 u) (-.f32 (/.f32 1/2 (*.f32 u u)) (log.f32 4/3))) (-.f32 (log.f32 (/.f32 -1 u)) (/.f32 -1/3 (pow.f32 u 3)))) |
(-.f32 (-.f32 (+.f32 (/.f32 -1 u) (/.f32 -1/3 (pow.f32 u 3))) (log.f32 (/.f32 -1 u))) (-.f32 (/.f32 1/2 (*.f32 u u)) (log.f32 4/3))) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -4/3 u) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 4/3 (*.f32 -4/3 u))))) |
(*.f32 (*.f32 -3 s) (log.f32 (fma.f32 -4/3 u 4/3))) |
(*.f32 -3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 -4/3 u 4/3)))) |
(*.f32 -3 (*.f32 s (log.f32 4/3))) |
(*.f32 -3 (*.f32 (log.f32 4/3) s)) |
(*.f32 (log.f32 4/3) (*.f32 -3 s)) |
(+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3)))) |
(fma.f32 3 (*.f32 u s) (*.f32 -3 (*.f32 (log.f32 4/3) s))) |
(fma.f32 -3 (*.f32 (log.f32 4/3) s) (*.f32 u (*.f32 3 s))) |
(*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u 3))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (*.f32 -3 (*.f32 s (log.f32 4/3))))) |
(fma.f32 3/2 (*.f32 (*.f32 u u) s) (fma.f32 3 (*.f32 u s) (*.f32 -3 (*.f32 (log.f32 4/3) s)))) |
(fma.f32 3/2 (*.f32 u (*.f32 u s)) (fma.f32 -3 (*.f32 (log.f32 4/3) s) (*.f32 u (*.f32 3 s)))) |
(fma.f32 u (*.f32 3 s) (*.f32 s (+.f32 (*.f32 u (*.f32 u 3/2)) (*.f32 (log.f32 4/3) -3)))) |
(*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) |
(+.f32 (*.f32 3/2 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 3 (*.f32 s u)) (+.f32 (*.f32 s (pow.f32 u 3)) (*.f32 -3 (*.f32 s (log.f32 4/3)))))) |
(fma.f32 3/2 (*.f32 (*.f32 u u) s) (fma.f32 3 (*.f32 u s) (fma.f32 s (pow.f32 u 3) (*.f32 -3 (*.f32 (log.f32 4/3) s))))) |
(fma.f32 3/2 (*.f32 u (*.f32 u s)) (fma.f32 3 (*.f32 u s) (fma.f32 (pow.f32 u 3) s (*.f32 (log.f32 4/3) (*.f32 -3 s))))) |
(fma.f32 u (*.f32 3 s) (fma.f32 (*.f32 u u) (*.f32 s 3/2) (*.f32 s (+.f32 (pow.f32 u 3) (*.f32 (log.f32 4/3) -3))))) |
(*.f32 s (+.f32 (+.f32 (pow.f32 u 3) (*.f32 (log.f32 4/3) -3)) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) |
(*.f32 (*.f32 -3 s) (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3))) |
(*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s)) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(fma.f32 3 (/.f32 s u) (*.f32 (*.f32 -3 s) (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)))) |
(fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) s) (*.f32 3 (/.f32 s u))) |
(fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (/.f32 (*.f32 3 s) u)) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) -3) (/.f32 3 u))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) s) (*.f32 (/.f32 3/2 u) (/.f32 s u)))) |
(fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(+.f32 (fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (fma.f32 -1 (neg.f32 (log.f32 u)) (log.f32 -4/3)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) (/.f32 s (pow.f32 u 3))) |
(+.f32 (fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) s) (*.f32 (/.f32 3/2 u) (/.f32 s u)))) (/.f32 s (pow.f32 u 3))) |
(+.f32 (fma.f32 (+.f32 (log.f32 -4/3) (log.f32 u)) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) (/.f32 s (pow.f32 u 3))) |
(*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(*.f32 -3 (*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) s)) |
(*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s)) |
(+.f32 (*.f32 3 (/.f32 s u)) (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(fma.f32 3 (/.f32 s u) (*.f32 -3 (*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) s))) |
(fma.f32 (*.f32 -3 s) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 3 (/.f32 s u))) |
(fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s) (/.f32 (*.f32 3 s) u)) |
(*.f32 s (+.f32 (/.f32 3 u) (*.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) -3))) |
(+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) s) (*.f32 3/2 (/.f32 s (*.f32 u u))))) |
(fma.f32 3 (/.f32 s u) (fma.f32 (*.f32 -3 s) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 (/.f32 3/2 u) (/.f32 s u)))) |
(fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u)))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (+.f32 (*.f32 3 (/.f32 s u)) (+.f32 (*.f32 -3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) (*.f32 3/2 (/.f32 s (pow.f32 u 2)))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 3 (/.f32 s u) (fma.f32 -3 (*.f32 (fma.f32 -1 (log.f32 (/.f32 -1 u)) (log.f32 4/3)) s) (*.f32 3/2 (/.f32 s (*.f32 u u)))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 3 (/.f32 s u) (fma.f32 (*.f32 -3 s) (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 (/.f32 3/2 u) (/.f32 s u))))) |
(+.f32 (/.f32 s (pow.f32 u 3)) (fma.f32 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (*.f32 -3 s) (*.f32 (/.f32 s u) (+.f32 3 (/.f32 3/2 u))))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.3b | (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) | |
| 0.3b | (fma.f32 u -4/3 1/3) | |
| 0.4b | (log1p.f32 (fma.f32 u -4/3 1/3)) | |
| ✓ | 0.5b | (-.f32 (+.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1) |
Compiled 57 to 48 computations (15.8% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | u | @ | -inf | (-.f32 (+.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1) |
| 0.0ms | u | @ | 0 | (-.f32 (+.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1) |
| 0.0ms | u | @ | inf | (-.f32 (+.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1) |
| 1× | batch-egg-rewrite |
| 554× | unpow-prod-down_binary32 |
| 431× | prod-diff_binary32 |
| 400× | fma-def_binary32 |
| 396× | log-prod_binary32 |
| 255× | pow2_binary32 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 16 |
| 1 | 237 | 10 |
| 2 | 2922 | 10 |
| 1× | node limit |
| Inputs |
|---|
(-.f32 (+.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (+.f32 1 (fma.f32 u -4/3 1/3)) -3)) 2)) (log.f32 (cbrt.f32 (pow.f32 (+.f32 1 (fma.f32 u -4/3 1/3)) -3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (+.f32 1 (fma.f32 u -4/3 1/3)) -3))) (log.f32 (sqrt.f32 (pow.f32 (+.f32 1 (fma.f32 u -4/3 1/3)) -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (pow.f32 (cbrt.f32 -3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (pow.f32 (sqrt.f32 -3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) (pow.f32 -27 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) (pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 2) (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2) (*.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2) (pow.f32 (*.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) -3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (*.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (pow.f32 (*.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) -3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 3) -1) (/.f32 1 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 3) -1) (pow.f32 (/.f32 1 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) -1) (/.f32 1 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) -1) (pow.f32 (/.f32 1 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (sqrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) 1) (-.f32 (sqrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 -3 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2)) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 -3 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 1/3) (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))) 3) (pow.f32 (sqrt.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (+.f32 (sqrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) 1) 1) (pow.f32 (-.f32 (sqrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 -3 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2)) 1) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 -3 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) 1) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 -3) 3) (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))) 2) 3) (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 -3) 2) (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 -27 1/3) (log1p.f32 (fma.f32 u -4/3 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 (*.f32 9 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) (log1p.f32 (fma.f32 u -4/3 1/3))) 1/3) (cbrt.f32 -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 (*.f32 9 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) -3) 1/3) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (*.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))) 2) 1/3) (cbrt.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 (*.f32 9 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))) 1/3) (cbrt.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2)) (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2) (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 3) -1) (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 3) -1) (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) (-.f32 1 (*.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) -1) (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 3) -1)) (neg.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) -1)) (neg.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1) 3)) (+.f32 1 (-.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1) 2) (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1) 2)) (-.f32 1 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 9 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 -27 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2)) (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 3) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2) (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 9 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (+.f32 1 (fma.f32 u -4/3 1/3)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 -27 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) (sqrt.f32 (*.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (*.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 -3 (log1p.f32 (fma.f32 u -4/3 1/3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) (pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 2) (cbrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) (pow.f32 (cbrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) 2) (cbrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) 2) (*.f32 (cbrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2) (*.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) -3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) (sqrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) (*.f32 (sqrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) (*.f32 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) -3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 3) -1) (/.f32 1 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (fma.f32 -27 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 3) 1) (/.f32 1 (fma.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3) (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (pow.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1) 2) -1) (/.f32 1 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 1 (*.f32 9 (pow.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) 2))) (/.f32 1 (-.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1)) 2) (cbrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1)) (sqrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (sqrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) 1) (-.f32 (sqrt.f32 (fma.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3 1)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1) (-.f32 (sqrt.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 -3 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 2)) (cbrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 -3 (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) (sqrt.f32 (log1p.f32 (fma.f32 u -4/3 1/3))) 0))))) |
| 1× | egg-herbie |
| 550× | sub-neg_binary32 |
| 536× | unswap-sqr_binary32 |
| 503× | fma-def_binary32 |
| 284× | associate-*l*_binary32 |
| 283× | associate-+l+_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 41 | 264 |
| 1 | 112 | 233 |
| 2 | 297 | 230 |
| 3 | 793 | 226 |
| 4 | 2292 | 226 |
| 5 | 5248 | 226 |
| 1× | node limit |
| Inputs |
|---|
(*.f32 -3 (log.f32 4/3)) |
(+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))))) |
(*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) |
(+.f32 (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (*.f32 3 (/.f32 1 u))) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))))) |
(*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) |
(+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))))) |
| Outputs |
|---|
(*.f32 -3 (log.f32 4/3)) |
(+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))) |
(fma.f32 3 u (*.f32 -3 (log.f32 4/3))) |
(fma.f32 -3 (log.f32 4/3) (*.f32 3 u)) |
(+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) |
(fma.f32 3/2 (*.f32 u u) (fma.f32 3 u (*.f32 -3 (log.f32 4/3)))) |
(fma.f32 3/2 (*.f32 u u) (fma.f32 -3 (log.f32 4/3) (*.f32 3 u))) |
(fma.f32 -3 (log.f32 4/3) (*.f32 u (+.f32 3 (*.f32 u 3/2)))) |
(fma.f32 -3 (log.f32 4/3) (*.f32 u (fma.f32 u 3/2 3))) |
(+.f32 (pow.f32 u 3) (+.f32 (*.f32 3/2 (pow.f32 u 2)) (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3))))) |
(+.f32 (fma.f32 3/2 (*.f32 u u) (fma.f32 3 u (*.f32 -3 (log.f32 4/3)))) (pow.f32 u 3)) |
(+.f32 (fma.f32 -3 (log.f32 4/3) (*.f32 3 u)) (*.f32 (*.f32 u u) (+.f32 u 3/2))) |
(fma.f32 (*.f32 u u) (+.f32 u 3/2) (fma.f32 -3 (log.f32 4/3) (*.f32 3 u))) |
(fma.f32 -3 (log.f32 4/3) (fma.f32 u (fma.f32 u 3/2 3) (pow.f32 u 3))) |
(*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) |
(*.f32 -3 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u))))) |
(*.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u))) |
(+.f32 (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))) (*.f32 3 (/.f32 1 u))) |
(fma.f32 -3 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) (/.f32 3 u)) |
(fma.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 3 u)) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u))))))) |
(+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 -3 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) (/.f32 3 u))) |
(+.f32 (/.f32 (/.f32 3/2 u) u) (fma.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 3 u))) |
(+.f32 (/.f32 3 u) (fma.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 (/.f32 3/2 u) u))) |
(fma.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)) (+.f32 (/.f32 3 u) (/.f32 (/.f32 3/2 u) u))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 -4/3) (*.f32 -1 (log.f32 (/.f32 1 u)))))))) |
(+.f32 (+.f32 (/.f32 3/2 (*.f32 u u)) (fma.f32 -3 (+.f32 (log.f32 -4/3) (neg.f32 (neg.f32 (log.f32 u)))) (/.f32 3 u))) (/.f32 1 (pow.f32 u 3))) |
(+.f32 (/.f32 (/.f32 3/2 u) u) (+.f32 (fma.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 3 u)) (/.f32 1 (pow.f32 u 3)))) |
(+.f32 (/.f32 (/.f32 3/2 u) u) (+.f32 (/.f32 3 u) (fma.f32 -3 (+.f32 (log.f32 -4/3) (log.f32 u)) (/.f32 1 (pow.f32 u 3))))) |
(*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))) |
(*.f32 -3 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))) |
(*.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u)))) |
(+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))) |
(+.f32 (/.f32 3 u) (*.f32 -3 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))))) |
(fma.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 3 u)) |
(+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (/.f32 3/2 (*.f32 u u)) (+.f32 (/.f32 3 u) (*.f32 -3 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u))))))) |
(+.f32 (/.f32 (/.f32 3/2 u) u) (fma.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 3 u))) |
(+.f32 (/.f32 3 u) (fma.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 (/.f32 3/2 u) u))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (*.f32 3/2 (/.f32 1 (pow.f32 u 2))) (+.f32 (*.f32 3 (/.f32 1 u)) (*.f32 -3 (+.f32 (log.f32 4/3) (*.f32 -1 (log.f32 (/.f32 -1 u)))))))) |
(+.f32 (/.f32 1 (pow.f32 u 3)) (+.f32 (/.f32 3/2 (*.f32 u u)) (+.f32 (/.f32 3 u) (*.f32 -3 (+.f32 (log.f32 4/3) (neg.f32 (log.f32 (/.f32 -1 u)))))))) |
(+.f32 (+.f32 (/.f32 1 (pow.f32 u 3)) (fma.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 3 u))) (/.f32 (/.f32 3/2 u) u)) |
(+.f32 (+.f32 (/.f32 3 u) (/.f32 (/.f32 3/2 u) u)) (fma.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 1 (pow.f32 u 3)))) |
(+.f32 (/.f32 3 u) (+.f32 (/.f32 1 (pow.f32 u 3)) (fma.f32 -3 (-.f32 (log.f32 4/3) (log.f32 (/.f32 -1 u))) (/.f32 (/.f32 3/2 u) u)))) |
Compiled 12643 to 10254 computations (18.9% saved)
53 alts after pruning (41 fresh and 12 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 685 | 11 | 696 |
| Fresh | 6 | 30 | 36 |
| Picked | 1 | 0 | 1 |
| Done | 2 | 12 | 14 |
| Total | 694 | 53 | 747 |
| Status | Error | Program |
|---|---|---|
| ✓ | 1.2b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
| 21.8b | (*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 3/2 (*.f32 u u)))) | |
| 1.0b | (*.f32 s (log.f32 (pow.f32 (fma.f32 u -4/3 4/3) -3))) | |
| ✓ | 29.6b | (*.f32 s (log.f32 27/64)) |
| 0.9b | (*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) | |
| 21.8b | (neg.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 u (+.f32 (*.f32 -1/2 u) -1)))))) | |
| 1.2b | (*.f32 s (log.f32 (pow.f32 (+.f32 (*.f32 -4/3 u) 4/3) -3))) | |
| 22.1b | (*.f32 s (*.f32 u (fma.f32 u 3/2 3))) | |
| 1.4b | (*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (-.f32 (/.f32 16/9 (+.f32 4/3 (*.f32 4/3 u))) (/.f32 (*.f32 (*.f32 u u) 16/9) (+.f32 4/3 (*.f32 4/3 u))))))))) | |
| 1.3b | (*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (/.f32 (-.f32 (*.f32 (*.f32 u u) 16/9) 16/9) (-.f32 (*.f32 u -4/3) 4/3))))))) | |
| 22.0b | (*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) | |
| 1.1b | (*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) | |
| 1.2b | (*.f32 s (*.f32 (log1p.f32 (/.f32 (-.f32 (*.f32 16/9 (*.f32 u u)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) | |
| ✓ | 0.8b | (*.f32 (*.f32 3 s) (exp.f32 (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) |
| 23.6b | (*.f32 s (*.f32 u (*.f32 u 3/2))) | |
| ✓ | 20.4b | (*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
| 1.1b | (*.f32 s (*.f32 (log1p.f32 (/.f32 (fma.f32 (*.f32 u (*.f32 u -4/3)) -4/3 -1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) | |
| 1.1b | (*.f32 s (*.f32 (log1p.f32 (/.f32 (fma.f32 (*.f32 u u) 16/9 -1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) | |
| 0.6b | (*.f32 s (*.f32 (pow.f32 (cbrt.f32 -3) 3) (log1p.f32 (fma.f32 u -4/3 1/3)))) | |
| 1.1b | (neg.f32 (*.f32 (*.f32 3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))) | |
| 1.3b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 4/3 (*.f32 u 4/3))))) | |
| 1.1b | (*.f32 (*.f32 3 s) (*.f32 1/3 (log.f32 (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) -3)))) | |
| ✓ | 20.4b | (*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
| 1.0b | (neg.f32 (*.f32 3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))) | |
| 1.5b | (*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (/.f32 (+.f32 64/27 (pow.f32 (*.f32 u -4/3) 3)) (+.f32 (*.f32 (*.f32 u u) 16/9) (-.f32 16/9 (*.f32 -16/9 u))))))))) | |
| ✓ | 21.8b | (*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u 3/2)))) |
| 20.4b | (*.f32 s (+.f32 (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u 3)) (*.f32 u (*.f32 u (+.f32 u 3/2))))) | |
| 23.7b | (*.f32 s (*.f32 3 (+.f32 (log.f32 3/4) u))) | |
| 0.9b | (*.f32 s (*.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)) -3)) | |
| 21.8b | (*.f32 s (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) | |
| 1.0b | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) | |
| ✓ | 0.7b | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
| ✓ | 0.7b | (*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
| 0.9b | (*.f32 (*.f32 3 s) (pow.f32 (sqrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 2)) | |
| 23.7b | (*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 s)) | |
| 23.7b | (*.f32 s (+.f32 (*.f32 3 u) (log.f32 27/64))) | |
| ✓ | 29.6b | (*.f32 (*.f32 3 s) (log.f32 3/4)) |
| 23.7b | (+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u))) | |
| 22.0b | (*.f32 s (+.f32 (*.f32 u 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) | |
| ✓ | 1.5b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (-.f32 1 (*.f32 u 4/3)) 1/3)))) |
| ✓ | 29.6b | (*.f32 3 (*.f32 s (log.f32 3/4))) |
| 1.6b | (*.f32 s (log.f32 (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) 2) -3) (pow.f32 (cbrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) -3)))) | |
| 0.9b | (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) | |
| 22.1b | (*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u 3/2)))) | |
| 1.2b | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (*.f32 (+.f32 u -1/4) -4/3) 1)))) | |
| 0.9b | (*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (/.f32 (*.f32 (fma.f32 u u -1/16) -4/3) (+.f32 u 1/4))))) | |
| 1.3b | (*.f32 (*.f32 3 s) (neg.f32 (-.f32 (log.f32 (-.f32 16/9 (*.f32 16/9 (*.f32 u u)))) (log.f32 (+.f32 4/3 (*.f32 4/3 u)))))) | |
| ✓ | 1.3b | (*.f32 s (*.f32 (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) |
| 1.0b | (*.f32 s (-.f32 (+.f32 1 (*.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)) -3)) 1)) | |
| 20.4b | (neg.f32 (*.f32 3 (*.f32 s (+.f32 (-.f32 (log.f32 4/3) u) (*.f32 (*.f32 u u) (+.f32 -1/2 (*.f32 -1/3 u))))))) | |
| 1.2b | (*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) | |
| 1.3b | (neg.f32 (*.f32 3 (*.f32 s (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3)))))) | |
| 1.0b | (*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
Compiled 821 to 666 computations (18.9% saved)
| Inputs |
|---|
(*.f32 (*.f32 3 s) (+.f32 (log.f32 (/.f32 1 (-.f32 1 (pow.f32 (fma.f32 u 4/3 -1/3) 3)))) (log1p.f32 (+.f32 (fma.f32 u 4/3 -1/3) (pow.f32 (fma.f32 u 4/3 -1/3) 2))))) |
(*.f32 s (*.f32 (+.f32 (log.f32 (pow.f32 (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)) 2)) (log.f32 (cbrt.f32 (+.f32 (fma.f32 u -4/3 1/3) 1)))) -3)) |
(*.f32 s (log.f32 (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) 2) -3) (pow.f32 (cbrt.f32 (+.f32 (*.f32 u -4/3) 4/3)) -3)))) |
(*.f32 s (*.f32 (expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) -3)) |
(*.f32 s (*.f32 (expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 u -4/3 1/3)))) -3)) |
(*.f32 s (expm1.f32 (log1p.f32 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)))) |
(*.f32 (*.f32 3 s) (pow.f32 (pow.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))) 3) 1/3)) |
(pow.f32 (sqrt.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))) 2) |
(pow.f32 (cbrt.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3))))) 3) |
(*.f32 (*.f32 3 s) (pow.f32 (sqrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 2)) |
(*.f32 (*.f32 3 s) (pow.f32 (cbrt.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) 3)) |
(*.f32 (*.f32 3 s) (exp.f32 (log.f32 (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) |
(exp.f32 (log.f32 (neg.f32 (*.f32 (*.f32 3 s) (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))))) |
(*.f32 s (*.f32 (pow.f32 (cbrt.f32 -3) 3) (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 s (log.f32 (pow.f32 (+.f32 (fma.f32 u -4/3 1/3) 1) -3))) |
(*.f32 s (log.f32 (pow.f32 (fma.f32 u -4/3 4/3) -3))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (/.f32 (+.f32 64/27 (pow.f32 (*.f32 u -4/3) 3)) (+.f32 (*.f32 (*.f32 u u) 16/9) (-.f32 16/9 (*.f32 -16/9 u))))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (-.f32 (log.f32 (-.f32 16/9 (*.f32 16/9 (*.f32 u u)))) (log.f32 (+.f32 4/3 (*.f32 4/3 u)))))) |
(*.f32 s (*.f32 (log1p.f32 (/.f32 (fma.f32 (*.f32 u (*.f32 u -4/3)) -4/3 -1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) |
(*.f32 s (*.f32 (log1p.f32 (/.f32 (fma.f32 (*.f32 u u) 16/9 -1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) |
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (/.f32 (*.f32 (fma.f32 u u -1/16) -4/3) (+.f32 u 1/4))))) |
(*.f32 (*.f32 3 s) (*.f32 1/3 (log.f32 (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) -3)))) |
(*.f32 s (-.f32 (+.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1)) |
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (fma.f32 (+.f32 u -1/4) -4/3 1)))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (fma.f32 (+.f32 u -1/4) -4/3 1)))) |
(*.f32 s (log.f32 (pow.f32 (+.f32 (*.f32 -4/3 u) 4/3) -3))) |
(neg.f32 (*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))))) |
(neg.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (-.f32 (/.f32 16/9 (+.f32 4/3 (*.f32 4/3 u))) (/.f32 (*.f32 (*.f32 u u) 16/9) (+.f32 4/3 (*.f32 4/3 u))))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (/.f32 (-.f32 (*.f32 (*.f32 u u) 16/9) 16/9) (-.f32 (*.f32 u -4/3) 4/3))))))) |
(neg.f32 (*.f32 3 (*.f32 s (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3)))))) |
(*.f32 s (*.f32 (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) |
(*.f32 s (*.f32 (log1p.f32 (/.f32 (-.f32 (*.f32 16/9 (*.f32 u u)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) |
(*.f32 s (-.f32 (+.f32 1 (*.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)) -3)) 1)) |
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (-.f32 1 (*.f32 u 4/3)) 1/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (*.f32 (+.f32 u -1/4) -4/3) 1)))) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))))) |
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 4/3 (*.f32 u 4/3))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(neg.f32 (*.f32 (*.f32 3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))) |
(neg.f32 (*.f32 3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
(*.f32 s (*.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)) -3)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 s (*.f32 u (fma.f32 u 3/2 3))) |
(neg.f32 (*.f32 3 (*.f32 s (+.f32 (-.f32 (log.f32 4/3) u) (*.f32 (*.f32 u u) (+.f32 -1/2 (*.f32 -1/3 u))))))) |
(*.f32 s (+.f32 (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u 3)) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u 3)) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(neg.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 u (+.f32 (*.f32 -1/2 u) -1)))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 3/2 (*.f32 u u)))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u 3/2)))) |
(+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u))) |
(-.f32 (+.f32 1 (*.f32 s (*.f32 (log.f32 3/4) 3))) 1) |
(*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u 3))) |
(*.f32 s (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) |
(*.f32 s (*.f32 u (*.f32 u 3/2))) |
(*.f32 s (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(*.f32 s (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(*.f32 s (+.f32 (*.f32 3 u) (log.f32 27/64))) |
(*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 s)) |
(*.f32 s (*.f32 (-.f32 (log.f32 4/3) u) -3)) |
(*.f32 (*.f32 3 s) (log.f32 3/4)) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 s (log.f32 27/64)) |
| Outputs |
|---|
(*.f32 s (*.f32 (pow.f32 (cbrt.f32 -3) 3) (log1p.f32 (fma.f32 u -4/3 1/3)))) |
15 calls:
| 47.0ms | (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))) |
| 46.0ms | (-.f32 u 1/4) |
| 46.0ms | (-.f32 u 1/4) |
| 46.0ms | (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))) |
| 46.0ms | (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))) |
| Error | Segments | Branch |
|---|---|---|
| 0.6b | 1 | s |
| 0.6b | 1 | u |
| 0.6b | 1 | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
| 0.6b | 1 | (*.f32 3 s) |
| 0.6b | 1 | (*.f32 3 s) |
| 0.6b | 1 | (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))) |
| 0.6b | 1 | (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))) |
| 0.6b | 1 | (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))) |
| 0.6b | 1 | (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))) |
| 0.6b | 1 | (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)) |
| 0.6b | 1 | (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)) |
| 0.6b | 1 | (/.f32 (-.f32 u 1/4) 3/4) |
| 0.6b | 1 | (/.f32 (-.f32 u 1/4) 3/4) |
| 0.6b | 1 | (-.f32 u 1/4) |
| 0.6b | 1 | (-.f32 u 1/4) |
Compiled 1149 to 915 computations (20.4% saved)
| Inputs |
|---|
(*.f32 s (log.f32 (pow.f32 (fma.f32 u -4/3 4/3) -3))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (/.f32 (+.f32 64/27 (pow.f32 (*.f32 u -4/3) 3)) (+.f32 (*.f32 (*.f32 u u) 16/9) (-.f32 16/9 (*.f32 -16/9 u))))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (-.f32 (log.f32 (-.f32 16/9 (*.f32 16/9 (*.f32 u u)))) (log.f32 (+.f32 4/3 (*.f32 4/3 u)))))) |
(*.f32 s (*.f32 (log1p.f32 (/.f32 (fma.f32 (*.f32 u (*.f32 u -4/3)) -4/3 -1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) |
(*.f32 s (*.f32 (log1p.f32 (/.f32 (fma.f32 (*.f32 u u) 16/9 -1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) |
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (/.f32 (*.f32 (fma.f32 u u -1/16) -4/3) (+.f32 u 1/4))))) |
(*.f32 (*.f32 3 s) (*.f32 1/3 (log.f32 (pow.f32 (+.f32 4/3 (*.f32 u -4/3)) -3)))) |
(*.f32 s (-.f32 (+.f32 1 (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) 1)) |
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (fma.f32 (+.f32 u -1/4) -4/3 1)))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (fma.f32 (+.f32 u -1/4) -4/3 1)))) |
(*.f32 s (log.f32 (pow.f32 (+.f32 (*.f32 -4/3 u) 4/3) -3))) |
(neg.f32 (*.f32 3 (*.f32 s (log.f32 (fma.f32 -4/3 u 4/3))))) |
(neg.f32 (*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))) |
(*.f32 (log.f32 (fma.f32 u -4/3 4/3)) (*.f32 s -3)) |
(*.f32 s (*.f32 -3 (log.f32 (fma.f32 u -4/3 4/3)))) |
(*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3)) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (-.f32 (/.f32 16/9 (+.f32 4/3 (*.f32 4/3 u))) (/.f32 (*.f32 (*.f32 u u) 16/9) (+.f32 4/3 (*.f32 4/3 u))))))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (/.f32 (-.f32 (*.f32 (*.f32 u u) 16/9) 16/9) (-.f32 (*.f32 u -4/3) 4/3))))))) |
(neg.f32 (*.f32 3 (*.f32 s (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3)))))) |
(*.f32 s (*.f32 (log1p.f32 (/.f32 (-.f32 (*.f32 (*.f32 u -4/3) (*.f32 u -4/3)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) |
(*.f32 s (*.f32 (log1p.f32 (/.f32 (-.f32 (*.f32 16/9 (*.f32 u u)) 1/9) (-.f32 (*.f32 u -4/3) 1/3))) -3)) |
(*.f32 s (-.f32 (+.f32 1 (*.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)) -3)) 1)) |
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (-.f32 1 (*.f32 u 4/3)) 1/3)))) |
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (*.f32 (+.f32 u -1/4) -4/3) 1)))) |
(*.f32 3 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4/3 (-.f32 u 1/4))))))) |
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (neg.f32 (neg.f32 (+.f32 4/3 (*.f32 u -4/3))))))) |
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 4/3 (*.f32 u 4/3))))) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 1 (*.f32 -4/3 (-.f32 u 1/4)))))) |
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(neg.f32 (*.f32 (*.f32 3 s) (log.f32 (+.f32 4/3 (*.f32 u -4/3))))) |
(neg.f32 (*.f32 3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))) |
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)))) |
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
(*.f32 s (*.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)) -3)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 s (*.f32 u (fma.f32 u 3/2 3))) |
(neg.f32 (*.f32 3 (*.f32 s (+.f32 (-.f32 (log.f32 4/3) u) (*.f32 (*.f32 u u) (+.f32 -1/2 (*.f32 -1/3 u))))))) |
(*.f32 s (+.f32 (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u 3)) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u 3)) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(neg.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 u (+.f32 (*.f32 -1/2 u) -1)))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 3/2 (*.f32 u u)))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u 3/2)))) |
(+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u))) |
(-.f32 (+.f32 1 (*.f32 s (*.f32 (log.f32 3/4) 3))) 1) |
(*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u 3))) |
(*.f32 s (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) |
(*.f32 s (*.f32 u (*.f32 u 3/2))) |
(*.f32 s (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(*.f32 s (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(*.f32 s (+.f32 (*.f32 3 u) (log.f32 27/64))) |
(*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 s)) |
(*.f32 s (*.f32 (-.f32 (log.f32 4/3) u) -3)) |
(*.f32 (*.f32 3 s) (log.f32 3/4)) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 s (log.f32 27/64)) |
| Outputs |
|---|
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
14 calls:
| 37.0ms | (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))) |
| 37.0ms | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
| 36.0ms | (/.f32 (-.f32 u 1/4) 3/4) |
| 35.0ms | (/.f32 (-.f32 u 1/4) 3/4) |
| 34.0ms | (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))) |
| Error | Segments | Branch |
|---|---|---|
| 0.7b | 1 | s |
| 0.7b | 1 | u |
| 0.7b | 1 | (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))) |
| 0.7b | 1 | (*.f32 3 s) |
| 0.7b | 1 | (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))) |
| 0.7b | 1 | (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))) |
| 0.7b | 1 | (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))) |
| 0.7b | 1 | (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))) |
| 0.7b | 1 | (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)) |
| 0.7b | 1 | (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)) |
| 0.7b | 1 | (/.f32 (-.f32 u 1/4) 3/4) |
| 0.7b | 1 | (/.f32 (-.f32 u 1/4) 3/4) |
| 0.7b | 1 | (-.f32 u 1/4) |
| 0.7b | 1 | (-.f32 u 1/4) |
Compiled 918 to 719 computations (21.7% saved)
| Inputs |
|---|
(*.f32 s (*.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)) -3)) |
(*.f32 -3 (*.f32 s (log.f32 (+.f32 (*.f32 -4/3 u) 4/3)))) |
(*.f32 s (*.f32 u (fma.f32 u 3/2 3))) |
(neg.f32 (*.f32 3 (*.f32 s (+.f32 (-.f32 (log.f32 4/3) u) (*.f32 (*.f32 u u) (+.f32 -1/2 (*.f32 -1/3 u))))))) |
(*.f32 s (+.f32 (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u 3)) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u 3)) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(neg.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 u (+.f32 (*.f32 -1/2 u) -1)))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 3/2 (*.f32 u u)))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u 3/2)))) |
(+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u))) |
(-.f32 (+.f32 1 (*.f32 s (*.f32 (log.f32 3/4) 3))) 1) |
(*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u 3))) |
(*.f32 s (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) |
(*.f32 s (*.f32 u (*.f32 u 3/2))) |
(*.f32 s (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(*.f32 s (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(*.f32 s (+.f32 (*.f32 3 u) (log.f32 27/64))) |
(*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 s)) |
(*.f32 s (*.f32 (-.f32 (log.f32 4/3) u) -3)) |
(*.f32 (*.f32 3 s) (log.f32 3/4)) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 s (log.f32 27/64)) |
| Outputs |
|---|
(*.f32 s (*.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)) -3)) |
4 calls:
| 13.0ms | (*.f32 3 s) |
| 13.0ms | (*.f32 3 s) |
| 13.0ms | s |
| 13.0ms | u |
| Error | Segments | Branch |
|---|---|---|
| 0.9b | 1 | s |
| 0.9b | 1 | u |
| 0.9b | 1 | (*.f32 3 s) |
| 0.9b | 1 | (*.f32 3 s) |
Compiled 332 to 240 computations (27.7% saved)
| Inputs |
|---|
(*.f32 s (*.f32 u (fma.f32 u 3/2 3))) |
(neg.f32 (*.f32 3 (*.f32 s (+.f32 (-.f32 (log.f32 4/3) u) (*.f32 (*.f32 u u) (+.f32 -1/2 (*.f32 -1/3 u))))))) |
(*.f32 s (+.f32 (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u 3)) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u 3)) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(neg.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 u (+.f32 (*.f32 -1/2 u) -1)))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 3/2 (*.f32 u u)))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u 3/2)))) |
(+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u))) |
(-.f32 (+.f32 1 (*.f32 s (*.f32 (log.f32 3/4) 3))) 1) |
(*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u 3))) |
(*.f32 s (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) |
(*.f32 s (*.f32 u (*.f32 u 3/2))) |
(*.f32 s (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(*.f32 s (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(*.f32 s (+.f32 (*.f32 3 u) (log.f32 27/64))) |
(*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 s)) |
(*.f32 s (*.f32 (-.f32 (log.f32 4/3) u) -3)) |
(*.f32 (*.f32 3 s) (log.f32 3/4)) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 s (log.f32 27/64)) |
| Outputs |
|---|
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
4 calls:
| 61.0ms | s |
| 16.0ms | u |
| 14.0ms | (*.f32 3 s) |
| 13.0ms | (*.f32 3 s) |
| Error | Segments | Branch |
|---|---|---|
| 20.4b | 1 | s |
| 20.4b | 1 | u |
| 20.4b | 1 | (*.f32 3 s) |
| 20.4b | 1 | (*.f32 3 s) |
Compiled 312 to 224 computations (28.2% saved)
| Inputs |
|---|
(neg.f32 (*.f32 3 (*.f32 s (+.f32 (log.f32 4/3) (*.f32 u (+.f32 (*.f32 -1/2 u) -1)))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 3/2 (*.f32 u u)))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 (*.f32 u u) (+.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 (log.f32 3/4) 3) (*.f32 u (+.f32 3 (*.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u 3/2)))) |
(+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u))) |
(-.f32 (+.f32 1 (*.f32 s (*.f32 (log.f32 3/4) 3))) 1) |
(*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u 3))) |
(*.f32 s (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) |
(*.f32 s (*.f32 u (*.f32 u 3/2))) |
(*.f32 s (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(*.f32 s (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(*.f32 s (+.f32 (*.f32 3 u) (log.f32 27/64))) |
(*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 s)) |
(*.f32 s (*.f32 (-.f32 (log.f32 4/3) u) -3)) |
(*.f32 (*.f32 3 s) (log.f32 3/4)) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 s (log.f32 27/64)) |
| Outputs |
|---|
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 3/2 (*.f32 u u)))) |
4 calls:
| 58.0ms | (*.f32 3 s) |
| 11.0ms | u |
| 10.0ms | s |
| 10.0ms | (*.f32 3 s) |
| Error | Segments | Branch |
|---|---|---|
| 21.8b | 1 | s |
| 21.8b | 1 | u |
| 21.8b | 1 | (*.f32 3 s) |
| 21.8b | 1 | (*.f32 3 s) |
Compiled 217 to 160 computations (26.3% saved)
| Inputs |
|---|
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u 3/2)))) |
(+.f32 (*.f32 3 (*.f32 s (log.f32 3/4))) (*.f32 3 (*.f32 s u))) |
(-.f32 (+.f32 1 (*.f32 s (*.f32 (log.f32 3/4) 3))) 1) |
(*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u 3))) |
(*.f32 s (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) |
(*.f32 s (*.f32 u (*.f32 u 3/2))) |
(*.f32 s (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(*.f32 s (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(*.f32 s (+.f32 (*.f32 3 u) (log.f32 27/64))) |
(*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 s)) |
(*.f32 s (*.f32 (-.f32 (log.f32 4/3) u) -3)) |
(*.f32 (*.f32 3 s) (log.f32 3/4)) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 s (log.f32 27/64)) |
| Outputs |
|---|
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u 3/2)))) |
4 calls:
| 9.0ms | (*.f32 3 s) |
| 8.0ms | u |
| 8.0ms | (*.f32 3 s) |
| 8.0ms | s |
| Error | Segments | Branch |
|---|---|---|
| 22.1b | 1 | s |
| 22.1b | 1 | u |
| 22.1b | 1 | (*.f32 3 s) |
| 22.1b | 1 | (*.f32 3 s) |
Compiled 134 to 102 computations (23.9% saved)
| Inputs |
|---|
(-.f32 (+.f32 1 (*.f32 s (*.f32 (log.f32 3/4) 3))) 1) |
(*.f32 s (+.f32 (*.f32 (log.f32 4/3) -3) (*.f32 u 3))) |
(*.f32 s (+.f32 (*.f32 3 u) (*.f32 -3 (log.f32 4/3)))) |
(*.f32 s (*.f32 u (*.f32 u 3/2))) |
(*.f32 s (*.f32 3 (+.f32 (log.f32 3/4) u))) |
(*.f32 s (*.f32 3 (+.f32 u (log.f32 3/4)))) |
(*.f32 s (+.f32 (*.f32 3 u) (log.f32 27/64))) |
(*.f32 (+.f32 (log.f32 3/4) u) (*.f32 3 s)) |
(*.f32 s (*.f32 (-.f32 (log.f32 4/3) u) -3)) |
(*.f32 (*.f32 3 s) (log.f32 3/4)) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 s (log.f32 27/64)) |
| Outputs |
|---|
(*.f32 s (*.f32 u (*.f32 u 3/2))) |
4 calls:
| 8.0ms | s |
| 8.0ms | (*.f32 3 s) |
| 7.0ms | (*.f32 3 s) |
| 7.0ms | u |
| Error | Segments | Branch |
|---|---|---|
| 23.6b | 1 | s |
| 23.6b | 1 | u |
| 23.6b | 1 | (*.f32 3 s) |
| 23.6b | 1 | (*.f32 3 s) |
Compiled 111 to 86 computations (22.5% saved)
Total -0.0b remaining (-0%)
Threshold costs -0.0b (-0%)
| Inputs |
|---|
(*.f32 (*.f32 3 s) (log.f32 3/4)) |
(*.f32 3 (*.f32 s (log.f32 3/4))) |
(*.f32 s (log.f32 27/64)) |
| Outputs |
|---|
(*.f32 s (log.f32 27/64)) |
3 calls:
| 4.0ms | (*.f32 3 s) |
| 4.0ms | s |
| 3.0ms | u |
| Error | Segments | Branch |
|---|---|---|
| 29.6b | 1 | s |
| 29.6b | 1 | u |
| 29.6b | 1 | (*.f32 3 s) |
Compiled 29 to 23 computations (20.7% saved)
| 1× | egg-herbie |
| 25× | *-commutative_binary32 |
| 11× | +-commutative_binary32 |
| 4× | sub-neg_binary32 |
| 4× | neg-sub0_binary32 |
| 4× | neg-mul-1_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 48 | 127 |
| 1 | 81 | 127 |
| 2 | 89 | 125 |
| 3 | 101 | 125 |
| 4 | 106 | 125 |
| 5 | 109 | 125 |
| 6 | 110 | 125 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(*.f32 s (*.f32 (pow.f32 (cbrt.f32 -3) 3) (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
(*.f32 s (*.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)) -3)) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 3/2 (*.f32 u u)))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u 3/2)))) |
(*.f32 s (*.f32 u (*.f32 u 3/2))) |
(*.f32 s (log.f32 27/64)) |
| Outputs |
|---|
(*.f32 s (*.f32 (pow.f32 (cbrt.f32 -3) 3) (log1p.f32 (fma.f32 u -4/3 1/3)))) |
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (*.f32 (+.f32 u -1/4) -4/3)))) |
(*.f32 (*.f32 s 3) (neg.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4))))) |
(*.f32 (log1p.f32 (*.f32 -4/3 (+.f32 u -1/4))) (*.f32 s -3)) |
(*.f32 s (*.f32 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3)) -3)) |
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 1/3 (*.f32 u -4/3))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 3 (+.f32 u (log.f32 3/4))) (*.f32 u (*.f32 u (+.f32 u 3/2))))) |
(*.f32 s (+.f32 (*.f32 (+.f32 (log.f32 3/4) u) 3) (*.f32 3/2 (*.f32 u u)))) |
(*.f32 s (+.f32 (*.f32 3 (+.f32 u (log.f32 3/4))) (*.f32 3/2 (*.f32 u u)))) |
(*.f32 s (+.f32 (*.f32 u 3) (*.f32 u (*.f32 u 3/2)))) |
(*.f32 s (+.f32 (*.f32 3 u) (*.f32 u (*.f32 u 3/2)))) |
(*.f32 s (*.f32 u (*.f32 u 3/2))) |
(*.f32 s (log.f32 27/64)) |
Compiled 100 to 77 computations (23% saved)
| 1× | egg-herbie |
| 738× | fma-def_binary32 |
| 494× | fma-neg_binary32 |
| 130× | cancel-sign-sub-inv_binary32 |
| 102× | distribute-rgt-in_binary32 |
| 88× | sub-neg_binary32 |
Useful iterations: 6 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 20 |
| 1 | 33 | 19 |
| 2 | 61 | 17 |
| 3 | 139 | 15 |
| 4 | 241 | 15 |
| 5 | 333 | 15 |
| 6 | 440 | 13 |
| 7 | 634 | 13 |
| 8 | 1017 | 13 |
| 9 | 1258 | 13 |
| 10 | 1642 | 13 |
| 11 | 1906 | 13 |
| 12 | 2344 | 13 |
| 13 | 2660 | 13 |
| 14 | 2695 | 13 |
| 15 | 2696 | 13 |
| 16 | 2696 | 13 |
| 1× | saturated |
Compiled 466 to 406 computations (12.9% saved)
Compiled 86 to 63 computations (26.7% saved)
Loading profile data...