Time bar (total: 14.3s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.9% | 0.1% | 0 |
| 0% | 99.9% | 0.1% | 1 |
| 0% | 99.9% | 0.1% | 2 |
| 0% | 99.9% | 0.1% | 3 |
| 0% | 99.9% | 0.1% | 4 |
| 12.5% | 87.4% | 0.1% | 5 |
| 12.5% | 71.8% | 15.7% | 6 |
| 20.3% | 62.4% | 17.3% | 7 |
| 21.1% | 53.1% | 25.9% | 8 |
| 25.4% | 47.6% | 27% | 9 |
| 26% | 41.2% | 32.9% | 10 |
| 28.3% | 38% | 33.7% | 11 |
| 28.6% | 35.5% | 36% | 12 |
Compiled 11 to 8 computations (27.3% saved)
| 5.6s | 1638× | body | 8192 | exit |
| 1.9s | 3305× | body | 1024 | invalid |
| 1.5s | 8256× | body | 256 | valid |
| 563.0ms | 1658× | body | 512 | invalid |
| 303.0ms | 2032× | body | 256 | invalid |
| 6.0ms | 2× | body | 4096 | invalid |
| 6.0ms | 7× | body | 2048 | invalid |
| 2× | egg-herbie |
| 606× | sqr-pow_binary64 |
| 408× | associate-*l*_binary64 |
| 400× | pow-sqr_binary64 |
| 386× | associate-/l*_binary64 |
| 354× | cube-prod_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 26 |
| 1 | 31 | 26 |
| 2 | 67 | 22 |
| 3 | 156 | 22 |
| 4 | 504 | 22 |
| 5 | 2192 | 22 |
| 6 | 4007 | 22 |
| 7 | 4164 | 22 |
| 8 | 4396 | 22 |
| 9 | 4846 | 22 |
| 10 | 5692 | 22 |
| 11 | 7235 | 22 |
| 0 | 2 | 2 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
| Outputs |
|---|
0 |
1 |
| Inputs |
|---|
(*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w))) |
(*.f64 (exp.f64 (neg.f64 l)) (pow.f64 w (exp.f64 l))) |
| Outputs |
|---|
(*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 l)) (pow.f64 w (exp.f64 l))) |
(/.f64 (pow.f64 w (exp.f64 l)) (exp.f64 l)) |
Compiled 12 to 9 computations (25% saved)
| 1× | egg-herbie |
| 957× | associate-*l/_binary64 |
| 656× | unswap-sqr_binary64 |
| 607× | times-frac_binary64 |
| 531× | sqr-pow_binary64 |
| 386× | pow-sqr_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 13 |
| 1 | 19 | 13 |
| 2 | 38 | 11 |
| 3 | 85 | 11 |
| 4 | 261 | 11 |
| 5 | 1119 | 11 |
| 6 | 4071 | 11 |
| 7 | 4170 | 11 |
| 8 | 4294 | 11 |
| 9 | 4531 | 11 |
| 10 | 4974 | 11 |
| 11 | 5791 | 11 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w))) |
| Outputs |
|---|
(*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
Compiled 17 to 8 computations (52.9% 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 |
|---|---|---|
| ▶ | 0.2b | (*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w))) |
| ▶ | 0.2b | (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
Compiled 19 to 12 computations (36.8% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w))) |
| ✓ | 0.2b | (pow.f64 l (exp.f64 w)) |
Compiled 23 to 7 computations (69.6% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 46.0ms | l | @ | 0 | (pow.f64 l (exp.f64 w)) |
| 15.0ms | l | @ | -inf | (pow.f64 l (exp.f64 w)) |
| 11.0ms | w | @ | inf | (pow.f64 l (exp.f64 w)) |
| 6.0ms | l | @ | inf | (pow.f64 l (exp.f64 w)) |
| 1.0ms | w | @ | 0 | (pow.f64 l (exp.f64 w)) |
| 1× | batch-egg-rewrite |
| 604× | pow1_binary64 |
| 557× | add-log-exp_binary64 |
| 555× | log1p-expm1-u_binary64 |
| 555× | expm1-log1p-u_binary64 |
| 542× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 159 | 17 |
| 2 | 2003 | 17 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 l (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 l (exp.f64 w))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 l (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) (pow.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) 2) (cbrt.f64 (pow.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (sqrt.f64 (pow.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 (exp.f64 w)) (pow.f64 l (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 l) 2) (exp.f64 w)) (pow.f64 (cbrt.f64 l) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 l) (exp.f64 w)) (pow.f64 (sqrt.f64 l) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 l (exp.f64 w)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 l (exp.f64 w)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (exp.f64 w) (log.f64 l))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (exp.f64 w) (pow.f64 l (exp.f64 w)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 w) (pow.f64 l (exp.f64 w))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (exp.f64 w) (pow.f64 l (exp.f64 w))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (exp.f64 w) (pow.f64 l (exp.f64 w)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (exp.f64 w) (pow.f64 l (exp.f64 w)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (exp.f64 w) (pow.f64 l (exp.f64 w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 l (exp.f64 w))) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (exp.f64 w) (pow.f64 l (exp.f64 w))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (exp.f64 w) (pow.f64 l (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (exp.f64 w) (pow.f64 l (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 w (*.f64 (exp.f64 w) (log.f64 l)))))))) |
| 1× | egg-herbie |
| 492× | fma-def_binary64 |
| 441× | distribute-lft-out_binary64 |
| 432× | distribute-rgt-out_binary64 |
| 422× | +-commutative_binary64 |
| 295× | associate-*l*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 79 | 631 |
| 1 | 232 | 613 |
| 2 | 775 | 552 |
| 3 | 3860 | 544 |
| 1× | node limit |
| Inputs |
|---|
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
l |
(+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) |
(+.f64 l (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2))))) (*.f64 l (*.f64 w (log.f64 l))))) |
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (*.f64 l (pow.f64 w 3))) (+.f64 l (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2))))) (*.f64 l (*.f64 w (log.f64 l)))))) |
l |
(+.f64 l (*.f64 (+.f64 (*.f64 -1 l) (*.f64 l (log.f64 l))) w)) |
(+.f64 l (+.f64 (*.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 (*.f64 1/2 l) (*.f64 -1 (*.f64 l (log.f64 l))))) (pow.f64 w 2)) (*.f64 (+.f64 (*.f64 -1 l) (*.f64 l (log.f64 l))) w))) |
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 l (log.f64 l))) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 -1 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2))))) (*.f64 -1/6 l)))) (pow.f64 w 3)) (+.f64 l (+.f64 (*.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 (*.f64 1/2 l) (*.f64 -1 (*.f64 l (log.f64 l))))) (pow.f64 w 2)) (*.f64 (+.f64 (*.f64 -1 l) (*.f64 l (log.f64 l))) w)))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (*.f64 -1 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (*.f64 -1 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (*.f64 -1 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (*.f64 -1 w))) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 (log.f64 l) (exp.f64 w)))) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 (log.f64 l) (exp.f64 w)))) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 (log.f64 l) (exp.f64 w)))) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 (log.f64 l) (exp.f64 w)))) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))))) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))))) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))))) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))))) |
(*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 (neg.f64 w))) |
(*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 (neg.f64 w))) |
(*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 (neg.f64 w))) |
(*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 (neg.f64 w))) |
| Outputs |
|---|
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
l |
(+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) |
(+.f64 l (*.f64 l (*.f64 (log.f64 l) w))) |
(fma.f64 l (*.f64 (log.f64 l) w) l) |
(*.f64 l (fma.f64 (log.f64 l) w 1)) |
(+.f64 l (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2))))) (*.f64 l (*.f64 w (log.f64 l))))) |
(+.f64 l (*.f64 l (+.f64 (*.f64 (*.f64 w w) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)))) (*.f64 (log.f64 l) w)))) |
(fma.f64 l (fma.f64 (*.f64 w w) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (*.f64 (log.f64 l) w)) l) |
(fma.f64 l (*.f64 w (+.f64 (*.f64 w (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/2)))) (log.f64 l))) l) |
(fma.f64 l (*.f64 (log.f64 l) (+.f64 w (*.f64 (*.f64 w (*.f64 w 1/2)) (+.f64 (log.f64 l) 1)))) l) |
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (*.f64 l (pow.f64 w 3))) (+.f64 l (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2))))) (*.f64 l (*.f64 w (log.f64 l)))))) |
(fma.f64 (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 1/6 (log.f64 l) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (*.f64 l (pow.f64 w 3)) (+.f64 l (*.f64 l (+.f64 (*.f64 (*.f64 w w) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)))) (*.f64 (log.f64 l) w))))) |
(fma.f64 (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 (log.f64 l) 1/6 (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (*.f64 l (pow.f64 w 3)) (fma.f64 l (fma.f64 (*.f64 w w) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (*.f64 (log.f64 l) w)) l)) |
(fma.f64 l (*.f64 w (+.f64 (*.f64 w (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/2)))) (log.f64 l))) (fma.f64 (pow.f64 w 3) (*.f64 l (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (*.f64 (log.f64 l) (+.f64 (*.f64 (log.f64 l) 1/2) 1/6)))) l)) |
(fma.f64 l (*.f64 (*.f64 (log.f64 l) (+.f64 1/6 (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/6))))) (pow.f64 w 3)) (fma.f64 l (*.f64 (log.f64 l) (+.f64 w (*.f64 (*.f64 w (*.f64 w 1/2)) (+.f64 (log.f64 l) 1)))) l)) |
l |
(+.f64 l (*.f64 (+.f64 (*.f64 -1 l) (*.f64 l (log.f64 l))) w)) |
(+.f64 l (*.f64 w (fma.f64 -1 l (*.f64 l (log.f64 l))))) |
(fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(+.f64 l (+.f64 (*.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 (*.f64 1/2 l) (*.f64 -1 (*.f64 l (log.f64 l))))) (pow.f64 w 2)) (*.f64 (+.f64 (*.f64 -1 l) (*.f64 l (log.f64 l))) w))) |
(+.f64 l (fma.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (fma.f64 1/2 l (*.f64 (neg.f64 l) (log.f64 l)))) (*.f64 w w) (*.f64 w (fma.f64 -1 l (*.f64 l (log.f64 l)))))) |
(+.f64 l (fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) (*.f64 (*.f64 w w) (-.f64 (*.f64 l (+.f64 (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) 1/2)) (*.f64 l (log.f64 l)))))) |
(fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) (fma.f64 w (*.f64 w (*.f64 l (-.f64 (fma.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)) 1/2) (log.f64 l)))) l)) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) (fma.f64 w (*.f64 w (*.f64 l (+.f64 1/2 (*.f64 (log.f64 l) (+.f64 -1 (+.f64 1/2 (*.f64 (log.f64 l) 1/2))))))) l)) |
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 l (log.f64 l))) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 -1 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2))))) (*.f64 -1/6 l)))) (pow.f64 w 3)) (+.f64 l (+.f64 (*.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 (*.f64 1/2 l) (*.f64 -1 (*.f64 l (log.f64 l))))) (pow.f64 w 2)) (*.f64 (+.f64 (*.f64 -1 l) (*.f64 l (log.f64 l))) w)))) |
(fma.f64 (fma.f64 1/2 (*.f64 l (log.f64 l)) (fma.f64 (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 1/6 (log.f64 l) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l (fma.f64 -1 (*.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)))) (*.f64 l -1/6)))) (pow.f64 w 3) (+.f64 l (fma.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (fma.f64 1/2 l (*.f64 (neg.f64 l) (log.f64 l)))) (*.f64 w w) (*.f64 w (fma.f64 -1 l (*.f64 l (log.f64 l))))))) |
(+.f64 (fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) (*.f64 (*.f64 w w) (-.f64 (*.f64 l (+.f64 (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) 1/2)) (*.f64 l (log.f64 l))))) (fma.f64 (pow.f64 w 3) (fma.f64 1/2 (*.f64 l (log.f64 l)) (fma.f64 l (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 (log.f64 l) 1/6 (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (-.f64 (*.f64 l -1/6) (*.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))))))) l)) |
(fma.f64 (pow.f64 w 3) (fma.f64 l (*.f64 (log.f64 l) 1/2) (fma.f64 l (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (*.f64 (log.f64 l) (+.f64 (*.f64 (log.f64 l) 1/2) 1/6))) (*.f64 l (-.f64 -1/6 (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/2))))))) (fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) (fma.f64 w (*.f64 w (*.f64 l (-.f64 (fma.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)) 1/2) (log.f64 l)))) l))) |
(fma.f64 (pow.f64 w 3) (*.f64 l (+.f64 (+.f64 -1/6 (*.f64 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)) -1/2)) (+.f64 (*.f64 (log.f64 l) 1/2) (*.f64 (log.f64 l) (+.f64 1/6 (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/6)))))))) (fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) (fma.f64 w (*.f64 w (*.f64 l (+.f64 1/2 (*.f64 (log.f64 l) (+.f64 -1 (+.f64 1/2 (*.f64 (log.f64 l) 1/2))))))) l))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (*.f64 -1 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (*.f64 -1 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (*.f64 -1 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (*.f64 -1 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 (log.f64 l) (exp.f64 w)))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 (log.f64 l) (exp.f64 w)))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 (log.f64 l) (exp.f64 w)))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 (log.f64 l) (exp.f64 w)))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 (neg.f64 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 (neg.f64 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 (neg.f64 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 (neg.f64 w))) |
(*.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
| 0.2b | (pow.f64 l (exp.f64 w)) |
Compiled 17 to 5 computations (70.6% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | w | @ | 0 | (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
| 1.0ms | l | @ | 0 | (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
| 1.0ms | l | @ | inf | (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
| 1.0ms | l | @ | -inf | (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
| 1.0ms | w | @ | inf | (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
| 1× | batch-egg-rewrite |
| 656× | pow1_binary64 |
| 607× | add-log-exp_binary64 |
| 607× | log1p-expm1-u_binary64 |
| 607× | expm1-log1p-u_binary64 |
| 591× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 11 |
| 1 | 125 | 11 |
| 2 | 1638 | 11 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) 2) (*.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) (exp.f64 (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 l (exp.f64 w))) (/.f64 1 (neg.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (*.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (exp.f64 (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) 2) 1) (/.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) 1) (/.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (/.f64 (pow.f64 l (exp.f64 w)) (cbrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) 2) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (/.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (cbrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (exp.f64 w))) (/.f64 (pow.f64 l (exp.f64 w)) (sqrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) 2) (sqrt.f64 (exp.f64 w))) (/.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) (sqrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (exp.f64 w) (pow.f64 l (exp.f64 w))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 l (exp.f64 w)) (neg.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (pow.f64 l (exp.f64 w)) 3) (pow.f64 (exp.f64 w) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)))))) |
| 1× | egg-herbie |
| 711× | cancel-sign-sub-inv_binary64 |
| 509× | +-commutative_binary64 |
| 481× | fma-neg_binary64 |
| 323× | associate-+l-_binary64 |
| 321× | *-commutative_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 63 | 330 |
| 1 | 187 | 322 |
| 2 | 596 | 312 |
| 3 | 3124 | 294 |
| 4 | 7964 | 294 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
l |
(+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l))) (pow.f64 w 2)) (+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)))) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l))) (pow.f64 w 2)) (+.f64 l (+.f64 (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) (*.f64 (-.f64 (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (*.f64 1/2 l))) (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 l (+.f64 (*.f64 1/6 l) (*.f64 1/2 (-.f64 (*.f64 l (log.f64 l)) l)))))) (pow.f64 w 3))))) |
| Outputs |
|---|
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
l |
(+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
(fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l) |
(fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) l) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l))) (pow.f64 w 2)) (+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)))) |
(fma.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 l (log.f64 l) (*.f64 l 1/2))) (*.f64 w w) (+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)))) |
(fma.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (*.f64 l (+.f64 (log.f64 l) 1/2))) (*.f64 w w) (fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l)) |
(fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) (fma.f64 w (*.f64 w (+.f64 l (*.f64 l (-.f64 (*.f64 (log.f64 l) (+.f64 (*.f64 (log.f64 l) 1/2) 1/2)) (+.f64 (log.f64 l) 1/2))))) l)) |
(fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) (fma.f64 (-.f64 (*.f64 l (fma.f64 1/2 (pow.f64 (log.f64 l) 2) 1/2)) (*.f64 (log.f64 l) (*.f64 l 1/2))) (*.f64 w w) l)) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l))) (pow.f64 w 2)) (+.f64 l (+.f64 (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) (*.f64 (-.f64 (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (*.f64 1/2 l))) (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 l (+.f64 (*.f64 1/6 l) (*.f64 1/2 (-.f64 (*.f64 l (log.f64 l)) l)))))) (pow.f64 w 3))))) |
(fma.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 l (log.f64 l) (*.f64 l 1/2))) (*.f64 w w) (+.f64 l (fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) (*.f64 (-.f64 (fma.f64 l (log.f64 l) (*.f64 l (+.f64 (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 1/6 (log.f64 l) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) 1/2))) (+.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 1/6 l (*.f64 (-.f64 (*.f64 l (log.f64 l)) l) 1/2)))) (pow.f64 w 3))))) |
(+.f64 (fma.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (*.f64 l (+.f64 (log.f64 l) 1/2))) (*.f64 w w) (fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l)) (*.f64 (-.f64 (*.f64 l (+.f64 (log.f64 l) (+.f64 1/2 (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 (log.f64 l) 1/6 (*.f64 1/2 (pow.f64 (log.f64 l) 2))))))) (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (+.f64 (*.f64 (-.f64 (*.f64 l (log.f64 l)) l) 1/2) (*.f64 7/6 l)))) (pow.f64 w 3))) |
(fma.f64 w (*.f64 w (+.f64 l (*.f64 l (-.f64 (*.f64 (log.f64 l) (+.f64 (*.f64 (log.f64 l) 1/2) 1/2)) (+.f64 (log.f64 l) 1/2))))) (fma.f64 (-.f64 (*.f64 l (+.f64 (log.f64 l) (fma.f64 1/6 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 3)) (fma.f64 1/2 (pow.f64 (log.f64 l) 2) 1/2)))) (fma.f64 7/6 l (*.f64 1/2 (+.f64 (-.f64 (*.f64 l (log.f64 l)) l) (*.f64 l (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))))))) (pow.f64 w 3) (fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l))) |
(fma.f64 w (*.f64 w (-.f64 (*.f64 l (fma.f64 1/2 (pow.f64 (log.f64 l) 2) 1/2)) (*.f64 (log.f64 l) (*.f64 l 1/2)))) (fma.f64 (-.f64 (*.f64 l (-.f64 (+.f64 (*.f64 (+.f64 1 (pow.f64 (log.f64 l) 2)) (+.f64 1/2 (*.f64 (log.f64 l) 1/6))) (*.f64 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)) -1/2)) 1/6)) (*.f64 l (-.f64 1/2 (*.f64 (log.f64 l) 1/2)))) (pow.f64 w 3) (fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) l))) |
(fma.f64 w (*.f64 w (-.f64 (*.f64 l (fma.f64 1/2 (pow.f64 (log.f64 l) 2) 1/2)) (*.f64 (log.f64 l) (*.f64 l 1/2)))) (fma.f64 (-.f64 (*.f64 l (-.f64 (+.f64 (*.f64 (+.f64 1 (pow.f64 (log.f64 l) 2)) (+.f64 1/2 (*.f64 (log.f64 l) 1/6))) (*.f64 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)) -1/2)) 1/6)) (*.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) -1/2)) (pow.f64 w 3) (fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) l))) |
Compiled 1923 to 767 computations (60.1% saved)
14 alts after pruning (13 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 104 | 13 | 117 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 0 | 1 |
| Total | 105 | 14 | 119 |
| Status | Error | Program |
|---|---|---|
| ▶ | 1.5b | (/.f64 l (exp.f64 w)) |
| 1.3b | (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 3) | |
| ▶ | 1.4b | (/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
| 32.5b | (pow.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 3) 1/3) | |
| 10.4b | (/.f64 (fma.f64 l (*.f64 (*.f64 (log.f64 l) (+.f64 1/6 (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/6))))) (pow.f64 w 3)) (fma.f64 l (*.f64 (log.f64 l) (+.f64 w (*.f64 (*.f64 w (*.f64 w 1/2)) (+.f64 (log.f64 l) 1)))) l)) (exp.f64 w)) | |
| ▶ | 4.6b | (exp.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| 14.5b | l | |
| ✓ | 0.2b | (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
| 1.4b | (*.f64 (exp.f64 (neg.f64 w)) (+.f64 l (*.f64 l (*.f64 w (log.f64 l))))) | |
| 1.5b | (*.f64 (exp.f64 (neg.f64 w)) l) | |
| ▶ | 0.6b | (pow.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) |
| 2.3b | (/.f64 (expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) (exp.f64 w)) | |
| 14.4b | (fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) | |
| ▶ | 14.4b | (+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
Compiled 340 to 217 computations (36.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) |
| 0.0b | (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) | |
| 0.2b | (pow.f64 l (exp.f64 w)) | |
| ✓ | 0.4b | (pow.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) |
Compiled 36 to 9 computations (75% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | w | @ | -inf | (pow.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) |
| 2.0ms | w | @ | 0 | (pow.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) |
| 1.0ms | w | @ | 0 | (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) |
| 1.0ms | l | @ | 0 | (pow.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) |
| 1.0ms | l | @ | -inf | (pow.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) |
| 1× | batch-egg-rewrite |
| 805× | pow1_binary64 |
| 747× | add-log-exp_binary64 |
| 747× | log1p-expm1-u_binary64 |
| 747× | expm1-log1p-u_binary64 |
| 727× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 24 |
| 1 | 190 | 24 |
| 2 | 2078 | 24 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) |
(sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) 2) (*.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) (exp.f64 (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))) (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (*.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (exp.f64 (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1/4) (*.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1/4) (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 l (exp.f64 w))) (/.f64 1 (neg.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1/4)) (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) 2) 1) (/.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) 1) (/.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (/.f64 (pow.f64 l (exp.f64 w)) (cbrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) 2) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (/.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (cbrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (exp.f64 w))) (/.f64 (pow.f64 l (exp.f64 w)) (sqrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) 2) (sqrt.f64 (exp.f64 w))) (/.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) (sqrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))) (cbrt.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (exp.f64 w) (pow.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (exp.f64 w) (pow.f64 l (exp.f64 w))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) 2) (/.f64 (exp.f64 w) (cbrt.f64 (pow.f64 l (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (/.f64 (exp.f64 w) (sqrt.f64 (pow.f64 l (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 l (exp.f64 w))) (neg.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 (exp.f64 w) (pow.f64 l (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (pow.f64 l (exp.f64 w)))) (neg.f64 (neg.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 l (exp.f64 w)) (sqrt.f64 (exp.f64 w))) (sqrt.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 l (exp.f64 w)) 1) (exp.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 l (exp.f64 w)) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (cbrt.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))) (sqrt.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (sqrt.f64 (pow.f64 l (exp.f64 w)))) (sqrt.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 l (exp.f64 w)) (neg.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (pow.f64 l (exp.f64 w)) 3) (pow.f64 (exp.f64 w) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (cbrt.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))) (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (sqrt.f64 (exp.f64 (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (pow.f64 (exp.f64 (neg.f64 w)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (/.f64 1 (sqrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1/4) (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2)) (sqrt.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 (exp.f64 w) (pow.f64 l (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (exp.f64 w)) (sqrt.f64 (pow.f64 l (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (sqrt.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 (pow.f64 l (exp.f64 w)))) (sqrt.f64 (neg.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (pow.f64 l (exp.f64 w)))) (neg.f64 (sqrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w) 1/2)))))) |
| 1× | egg-herbie |
| 872× | fma-neg_binary64 |
| 690× | fma-def_binary64 |
| 380× | associate-+l+_binary64 |
| 376× | distribute-rgt-in_binary64 |
| 363× | distribute-lft-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 103 | 1138 |
| 1 | 316 | 1096 |
| 2 | 1143 | 1052 |
| 3 | 7097 | 1028 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
l |
(+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
(+.f64 l (+.f64 (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (-.f64 (*.f64 l (log.f64 l)) l) 2) l)) l)) (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 1/2 l) (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (-.f64 (*.f64 l (log.f64 l)) l))) 2)))) (pow.f64 w 2)))) |
(+.f64 l (+.f64 (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) (+.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (*.f64 1/2 l))) (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 l (+.f64 (*.f64 1/6 l) (*.f64 1/2 (-.f64 (*.f64 l (log.f64 l)) l)))))) (pow.f64 w 3)) (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (-.f64 (*.f64 l (log.f64 l)) l) 2) l)) l)) (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 1/2 l) (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (-.f64 (*.f64 l (log.f64 l)) l))) 2)))) (pow.f64 w 2))))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 l) |
(+.f64 (sqrt.f64 l) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))))) |
(+.f64 (sqrt.f64 l) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 1/2 l) (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (-.f64 (*.f64 l (log.f64 l)) l))) 2)))) (pow.f64 w 2)) (sqrt.f64 (/.f64 1 l)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)))))) |
(+.f64 (sqrt.f64 l) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 1/2 l) (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (-.f64 (*.f64 l (log.f64 l)) l))) 2)))) (pow.f64 w 2)) (sqrt.f64 (/.f64 1 l)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (*.f64 1/2 l))) (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 l (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 1/2 l) (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (-.f64 (*.f64 l (log.f64 l)) l))) 2)))) (-.f64 (*.f64 l (log.f64 l)) l)) l)) (+.f64 (*.f64 1/6 l) (*.f64 1/2 (-.f64 (*.f64 l (log.f64 l)) l))))))) (pow.f64 w 3)) (sqrt.f64 (/.f64 1 l)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))))))) |
| Outputs |
|---|
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (exp.f64 w) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 l))))) w)) |
(exp.f64 (fma.f64 (exp.f64 w) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 l))) (neg.f64 w))) |
(/.f64 (pow.f64 (*.f64 -1 (pow.f64 (/.f64 -1 l) -1)) (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 (/.f64 -1 (/.f64 -1 l)) (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (exp.f64 w) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 l))))) w)) |
(exp.f64 (fma.f64 (exp.f64 w) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 l))) (neg.f64 w))) |
(/.f64 (pow.f64 (*.f64 -1 (pow.f64 (/.f64 -1 l) -1)) (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 (/.f64 -1 (/.f64 -1 l)) (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (exp.f64 w) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 l))))) w)) |
(exp.f64 (fma.f64 (exp.f64 w) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 l))) (neg.f64 w))) |
(/.f64 (pow.f64 (*.f64 -1 (pow.f64 (/.f64 -1 l) -1)) (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 (/.f64 -1 (/.f64 -1 l)) (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (exp.f64 w) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 l))))) w)) |
(exp.f64 (fma.f64 (exp.f64 w) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 l))) (neg.f64 w))) |
(/.f64 (pow.f64 (*.f64 -1 (pow.f64 (/.f64 -1 l) -1)) (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 (/.f64 -1 (/.f64 -1 l)) (exp.f64 w)) (exp.f64 w)) |
l |
(+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
(+.f64 l (*.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)))) |
(fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l) |
(fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) l) |
(+.f64 l (+.f64 (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (-.f64 (*.f64 l (log.f64 l)) l) 2) l)) l)) (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 1/2 l) (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (-.f64 (*.f64 l (log.f64 l)) l))) 2)))) (pow.f64 w 2)))) |
(+.f64 l (fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) (*.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (fma.f64 1/4 (/.f64 (pow.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) 2) l) l)) (fma.f64 l (log.f64 l) (fma.f64 1/2 l (pow.f64 (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 l))) (fma.f64 l (log.f64 l) (neg.f64 l))) 2)))) (*.f64 w w)))) |
(+.f64 (fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l) (*.f64 w (*.f64 w (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (fma.f64 1/4 (/.f64 (pow.f64 (-.f64 (*.f64 l (log.f64 l)) l) 2) l) l)) (fma.f64 l (log.f64 l) (fma.f64 l 1/2 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 l)) (*.f64 (-.f64 (*.f64 l (log.f64 l)) l) 1/2)) 2))))))) |
(fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) (fma.f64 (-.f64 (fma.f64 l (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/2))) (fma.f64 1/4 (/.f64 (pow.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) 2) l) l)) (fma.f64 l (+.f64 (log.f64 l) 1/2) (pow.f64 (*.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) (*.f64 1/2 (sqrt.f64 (/.f64 1 l)))) 2))) (*.f64 w w) l)) |
(+.f64 l (+.f64 (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) (+.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (*.f64 1/2 l))) (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 l (+.f64 (*.f64 1/6 l) (*.f64 1/2 (-.f64 (*.f64 l (log.f64 l)) l)))))) (pow.f64 w 3)) (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (-.f64 (*.f64 l (log.f64 l)) l) 2) l)) l)) (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 1/2 l) (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (-.f64 (*.f64 l (log.f64 l)) l))) 2)))) (pow.f64 w 2))))) |
(+.f64 l (fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) (fma.f64 (-.f64 (fma.f64 l (log.f64 l) (*.f64 l (+.f64 (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 1/6 (log.f64 l) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) 1/2))) (+.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 1/6 l (*.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) 1/2)))) (pow.f64 w 3) (*.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (fma.f64 1/4 (/.f64 (pow.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) 2) l) l)) (fma.f64 l (log.f64 l) (fma.f64 1/2 l (pow.f64 (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 l))) (fma.f64 l (log.f64 l) (neg.f64 l))) 2)))) (*.f64 w w))))) |
(+.f64 (fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l) (fma.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (fma.f64 1/4 (/.f64 (pow.f64 (-.f64 (*.f64 l (log.f64 l)) l) 2) l) l)) (fma.f64 l (log.f64 l) (fma.f64 l 1/2 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 l)) (*.f64 (-.f64 (*.f64 l (log.f64 l)) l) 1/2)) 2)))) (*.f64 w w) (*.f64 (-.f64 (*.f64 l (+.f64 (log.f64 l) (+.f64 1/2 (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 1/2 (pow.f64 (log.f64 l) 2) (*.f64 (log.f64 l) 1/6)))))) (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (+.f64 (*.f64 (-.f64 (*.f64 l (log.f64 l)) l) 1/2) (*.f64 7/6 l)))) (pow.f64 w 3)))) |
(+.f64 l (fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) (*.f64 (*.f64 w w) (+.f64 (-.f64 (fma.f64 l (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/2))) (fma.f64 1/4 (/.f64 (pow.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) 2) l) l)) (fma.f64 l (+.f64 (log.f64 l) 1/2) (pow.f64 (*.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) (*.f64 1/2 (sqrt.f64 (/.f64 1 l)))) 2))) (*.f64 w (-.f64 (*.f64 l (-.f64 (+.f64 (log.f64 l) (fma.f64 1/6 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 3)) (fma.f64 1/2 (pow.f64 (log.f64 l) 2) 1/2))) (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/2))))) (fma.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) 1/2 (*.f64 l 7/6)))))))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w))) |
(sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (exp.f64 (-.f64 (*.f64 (exp.f64 w) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 l))))) w))) |
(sqrt.f64 (exp.f64 (fma.f64 (exp.f64 w) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 l))) (neg.f64 w)))) |
(sqrt.f64 (/.f64 (pow.f64 (*.f64 -1 (pow.f64 (/.f64 -1 l) -1)) (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (pow.f64 (/.f64 -1 (/.f64 -1 l)) (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (exp.f64 (-.f64 (*.f64 (exp.f64 w) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 l))))) w))) |
(sqrt.f64 (exp.f64 (fma.f64 (exp.f64 w) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 l))) (neg.f64 w)))) |
(sqrt.f64 (/.f64 (pow.f64 (*.f64 -1 (pow.f64 (/.f64 -1 l) -1)) (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (pow.f64 (/.f64 -1 (/.f64 -1 l)) (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (exp.f64 (-.f64 (*.f64 (exp.f64 w) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 l))))) w))) |
(sqrt.f64 (exp.f64 (fma.f64 (exp.f64 w) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 l))) (neg.f64 w)))) |
(sqrt.f64 (/.f64 (pow.f64 (*.f64 -1 (pow.f64 (/.f64 -1 l) -1)) (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (pow.f64 (/.f64 -1 (/.f64 -1 l)) (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w))) |
(sqrt.f64 (exp.f64 (-.f64 (*.f64 (exp.f64 w) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 l))))) w))) |
(sqrt.f64 (exp.f64 (fma.f64 (exp.f64 w) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 l))) (neg.f64 w)))) |
(sqrt.f64 (/.f64 (pow.f64 (*.f64 -1 (pow.f64 (/.f64 -1 l) -1)) (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 (/.f64 (pow.f64 (/.f64 -1 (/.f64 -1 l)) (exp.f64 w)) (exp.f64 w))) |
(sqrt.f64 l) |
(+.f64 (sqrt.f64 l) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))))) |
(+.f64 (sqrt.f64 l) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 l))) (*.f64 w (fma.f64 l (log.f64 l) (neg.f64 l))))) |
(fma.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 l))) (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) (sqrt.f64 l)) |
(fma.f64 (*.f64 w (fma.f64 l (log.f64 l) (neg.f64 l))) (*.f64 1/2 (sqrt.f64 (/.f64 1 l))) (sqrt.f64 l)) |
(+.f64 (sqrt.f64 l) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 1/2 l) (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (-.f64 (*.f64 l (log.f64 l)) l))) 2)))) (pow.f64 w 2)) (sqrt.f64 (/.f64 1 l)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)))))) |
(+.f64 (sqrt.f64 l) (*.f64 1/2 (+.f64 (*.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 l (log.f64 l) (fma.f64 1/2 l (pow.f64 (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 l))) (fma.f64 l (log.f64 l) (neg.f64 l))) 2)))) (*.f64 (*.f64 w w) (sqrt.f64 (/.f64 1 l)))) (*.f64 (*.f64 w (fma.f64 l (log.f64 l) (neg.f64 l))) (sqrt.f64 (/.f64 1 l)))))) |
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (+.f64 (*.f64 w (*.f64 w (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 l (log.f64 l) (fma.f64 l 1/2 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 l)) (*.f64 (-.f64 (*.f64 l (log.f64 l)) l) 1/2)) 2)))))) (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)))) (sqrt.f64 l)) |
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (*.f64 w (+.f64 (*.f64 w (-.f64 (*.f64 l (fma.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)) 1)) (fma.f64 l (+.f64 (log.f64 l) 1/2) (pow.f64 (*.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) (*.f64 1/2 (sqrt.f64 (/.f64 1 l)))) 2)))) (fma.f64 l (log.f64 l) (neg.f64 l))))) (sqrt.f64 l)) |
(+.f64 (sqrt.f64 l) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 1/2 l) (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (-.f64 (*.f64 l (log.f64 l)) l))) 2)))) (pow.f64 w 2)) (sqrt.f64 (/.f64 1 l)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (*.f64 1/2 l))) (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 l (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 1/2 l) (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (-.f64 (*.f64 l (log.f64 l)) l))) 2)))) (-.f64 (*.f64 l (log.f64 l)) l)) l)) (+.f64 (*.f64 1/6 l) (*.f64 1/2 (-.f64 (*.f64 l (log.f64 l)) l))))))) (pow.f64 w 3)) (sqrt.f64 (/.f64 1 l)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))))))) |
(+.f64 (sqrt.f64 l) (fma.f64 1/2 (*.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 l (log.f64 l) (fma.f64 1/2 l (pow.f64 (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 l))) (fma.f64 l (log.f64 l) (neg.f64 l))) 2)))) (*.f64 (*.f64 w w) (sqrt.f64 (/.f64 1 l)))) (*.f64 1/2 (+.f64 (*.f64 (-.f64 (fma.f64 l (log.f64 l) (*.f64 l (+.f64 (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 1/6 (log.f64 l) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) 1/2))) (+.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 1/2 (/.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 l (log.f64 l) (fma.f64 1/2 l (pow.f64 (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 l))) (fma.f64 l (log.f64 l) (neg.f64 l))) 2)))) (/.f64 l (fma.f64 l (log.f64 l) (neg.f64 l)))) (fma.f64 1/6 l (*.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) 1/2))))) (*.f64 (pow.f64 w 3) (sqrt.f64 (/.f64 1 l)))) (*.f64 (*.f64 w (fma.f64 l (log.f64 l) (neg.f64 l))) (sqrt.f64 (/.f64 1 l))))))) |
(+.f64 (sqrt.f64 l) (*.f64 1/2 (+.f64 (*.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 l (log.f64 l) (fma.f64 l 1/2 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 l)) (*.f64 (-.f64 (*.f64 l (log.f64 l)) l) 1/2)) 2)))) (*.f64 (sqrt.f64 (/.f64 1 l)) (*.f64 w w))) (*.f64 (sqrt.f64 (/.f64 1 l)) (+.f64 (*.f64 (pow.f64 w 3) (-.f64 (*.f64 l (+.f64 (log.f64 l) (+.f64 1/2 (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 1/2 (pow.f64 (log.f64 l) 2) (*.f64 (log.f64 l) 1/6)))))) (+.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 l (log.f64 l) (fma.f64 l 1/2 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 l)) (*.f64 (-.f64 (*.f64 l (log.f64 l)) l) 1/2)) 2)))) l) (-.f64 (*.f64 l (log.f64 l)) l)) (fma.f64 l 1/6 (*.f64 (-.f64 (*.f64 l (log.f64 l)) l) 1/2)))))) (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))))))) |
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 l)) (+.f64 (*.f64 w (*.f64 w (-.f64 (*.f64 l (fma.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)) 1)) (fma.f64 l (+.f64 (log.f64 l) 1/2) (pow.f64 (*.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) (*.f64 1/2 (sqrt.f64 (/.f64 1 l)))) 2))))) (fma.f64 (pow.f64 w 3) (-.f64 (*.f64 l (-.f64 (+.f64 (log.f64 l) (fma.f64 1/6 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 3)) (fma.f64 1/2 (pow.f64 (log.f64 l) 2) 1/2))) (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/2))))) (fma.f64 1/2 (*.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) (/.f64 (-.f64 (*.f64 l (fma.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)) 1)) (fma.f64 l (+.f64 (log.f64 l) 1/2) (pow.f64 (*.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) (*.f64 1/2 (sqrt.f64 (/.f64 1 l)))) 2))) l)) (fma.f64 (fma.f64 l (log.f64 l) (neg.f64 l)) 1/2 (*.f64 l 7/6)))) (*.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)))))) (sqrt.f64 l)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (/.f64 l (exp.f64 w)) |
Compiled 10 to 4 computations (60% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | w | @ | 0 | (/.f64 l (exp.f64 w)) |
| 1.0ms | l | @ | inf | (/.f64 l (exp.f64 w)) |
| 1.0ms | l | @ | 0 | (/.f64 l (exp.f64 w)) |
| 1.0ms | w | @ | inf | (/.f64 l (exp.f64 w)) |
| 1.0ms | w | @ | -inf | (/.f64 l (exp.f64 w)) |
| 1× | batch-egg-rewrite |
| 528× | pow1_binary64 |
| 504× | add-sqr-sqrt_binary64 |
| 487× | add-log-exp_binary64 |
| 487× | log1p-expm1-u_binary64 |
| 487× | expm1-log1p-u_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 6 |
| 1 | 100 | 6 |
| 2 | 1305 | 6 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 l (exp.f64 w)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 l (exp.f64 w))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (exp.f64 (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 l (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 l (exp.f64 w))) (pow.f64 (cbrt.f64 (/.f64 l (exp.f64 w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 l (exp.f64 w))) 2) (cbrt.f64 (/.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (exp.f64 (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 l (exp.f64 w))) (sqrt.f64 (/.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (exp.f64 (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 l) (/.f64 1 (neg.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 w)) l)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) 1) (/.f64 (cbrt.f64 l) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 l) 1) (/.f64 (sqrt.f64 l) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (/.f64 l (cbrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (cbrt.f64 (/.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 l) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (/.f64 (sqrt.f64 l) (cbrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (exp.f64 w))) (/.f64 l (sqrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) (sqrt.f64 (exp.f64 w))) (/.f64 (cbrt.f64 l) (sqrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 l (exp.f64 w)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 l (exp.f64 w))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 l (exp.f64 w))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (exp.f64 w) l) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 l (neg.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 l (exp.f64 w)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 l (exp.f64 w)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 l) w)))))) |
| 1× | egg-herbie |
| 653× | unsub-neg_binary64 |
| 409× | associate--r+_binary64 |
| 381× | associate-+l-_binary64 |
| 355× | associate--l+_binary64 |
| 300× | fma-def_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 31 | 73 |
| 1 | 105 | 58 |
| 2 | 425 | 53 |
| 3 | 2546 | 49 |
| 4 | 7135 | 49 |
| 1× | node limit |
| Inputs |
|---|
l |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) (+.f64 l (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 l) (*.f64 1/2 l)) (pow.f64 w 2))))) |
(+.f64 (*.f64 -1 (*.f64 l w)) (+.f64 l (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 l) (*.f64 1/2 l)) (pow.f64 w 2))) (*.f64 -1 (*.f64 (pow.f64 w 3) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 l) (*.f64 1/2 l))) (+.f64 (*.f64 1/6 l) (*.f64 -1/2 l)))))))) |
| Outputs |
|---|
l |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(fma.f64 -1 (*.f64 l w) l) |
(-.f64 l (*.f64 l w)) |
(+.f64 (*.f64 -1 (*.f64 l w)) (+.f64 l (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 l) (*.f64 1/2 l)) (pow.f64 w 2))))) |
(+.f64 (fma.f64 -1 (*.f64 l w) l) (*.f64 (neg.f64 (*.f64 l -1/2)) (*.f64 w w))) |
(-.f64 (fma.f64 (*.f64 l 1/2) (*.f64 w w) l) (*.f64 l w)) |
(-.f64 (fma.f64 (*.f64 w (*.f64 l 1/2)) w l) (*.f64 l w)) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 l 1/2)) l))) |
(+.f64 (*.f64 -1 (*.f64 l w)) (+.f64 l (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 l) (*.f64 1/2 l)) (pow.f64 w 2))) (*.f64 -1 (*.f64 (pow.f64 w 3) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 l) (*.f64 1/2 l))) (+.f64 (*.f64 1/6 l) (*.f64 -1/2 l)))))))) |
(+.f64 (fma.f64 -1 (*.f64 l w) l) (fma.f64 -1 (*.f64 (*.f64 l -1/2) (*.f64 w w)) (neg.f64 (*.f64 (pow.f64 w 3) (fma.f64 -1 (*.f64 l -1/2) (*.f64 l -1/3)))))) |
(-.f64 (-.f64 (fma.f64 (*.f64 l 1/2) (*.f64 w w) l) (*.f64 (pow.f64 w 3) (fma.f64 l -1/3 (*.f64 l 1/2)))) (*.f64 l w)) |
(-.f64 (-.f64 l (*.f64 l w)) (*.f64 (*.f64 w w) (+.f64 (*.f64 w (*.f64 l 1/6)) (*.f64 l -1/2)))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 (*.f64 l 1/2) (*.f64 w (*.f64 l -1/6)))) l))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
| ✓ | 0.2b | (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
| ✓ | 0.3b | (-.f64 (*.f64 l (log.f64 l)) l) |
| ✓ | 0.3b | (*.f64 l (log.f64 l)) |
Compiled 34 to 7 computations (79.4% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 20.0ms | w | @ | 0 | (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
| 6.0ms | l | @ | 0 | (*.f64 l (log.f64 l)) |
| 1.0ms | l | @ | inf | (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
| 1.0ms | l | @ | -inf | (*.f64 l (log.f64 l)) |
| 1.0ms | l | @ | -inf | (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
| 1× | batch-egg-rewrite |
| 477× | log-prod_binary64 |
| 450× | fma-def_binary64 |
| 364× | pow-prod-down_binary64 |
| 343× | exp-prod_binary64 |
| 247× | pow2_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 42 |
| 1 | 177 | 40 |
| 2 | 2610 | 40 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 l (log.f64 l)) |
(-.f64 (*.f64 l (log.f64 l)) l) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (pow.f64 l l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 l l)) 2)) (log.f64 (cbrt.f64 (pow.f64 l l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 l l))) (log.f64 (sqrt.f64 (pow.f64 l l))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (log.f64 (pow.f64 l l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (pow.f64 l l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (pow.f64 l l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (pow.f64 l l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (pow.f64 l l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (log.f64 (pow.f64 l l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (log.f64 (pow.f64 l l)))) 2)) (cbrt.f64 (log.f64 (log.f64 (pow.f64 l l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log.f64 (pow.f64 l l))))) (sqrt.f64 (log.f64 (log.f64 (pow.f64 l l)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 l l))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (-.f64 (pow.f64 l l) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (pow.f64 l l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (pow.f64 l l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 l l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (pow.f64 l l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log.f64 (pow.f64 l l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 (pow.f64 l l)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (log.f64 (pow.f64 l l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (log.f64 (pow.f64 l l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 (pow.f64 l l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (log.f64 (pow.f64 l l))) 3) 1/3)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 l l)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 l l)) (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log.f64 (pow.f64 l l)) l) (fma.f64 (neg.f64 l) 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log.f64 (pow.f64 l l)) l) (fma.f64 (neg.f64 (cbrt.f64 l)) (pow.f64 (cbrt.f64 l) 2) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log.f64 (pow.f64 l l)) l) (+.f64 (neg.f64 l) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 l) (log.f64 (pow.f64 l l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (log.f64 (pow.f64 l l)) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l l) (exp.f64 l))) 2)) (log.f64 (cbrt.f64 (/.f64 (pow.f64 l l) (exp.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 (pow.f64 l l) (exp.f64 l)))) (log.f64 (sqrt.f64 (/.f64 (pow.f64 l l) (exp.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (-.f64 (log.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (log.f64 (pow.f64 l l)) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (log.f64 (pow.f64 l l)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 2) (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 3) (pow.f64 l 3)) (/.f64 1 (fma.f64 l (fma.f64 l (log.f64 l) l) (pow.f64 (log.f64 (pow.f64 l l)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2) (*.f64 l l)) (/.f64 1 (fma.f64 l (log.f64 l) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (log.f64 (pow.f64 l l))) (sqrt.f64 l)) (-.f64 (sqrt.f64 (log.f64 (pow.f64 l l))) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 l (fma.f64 l (log.f64 l) l) (pow.f64 (log.f64 (pow.f64 l l)) 2)) (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 3) (pow.f64 l 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 l (log.f64 l) l) (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2) (*.f64 l l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 3) (pow.f64 l 3)) (fma.f64 l (fma.f64 l (log.f64 l) l) (pow.f64 (log.f64 (pow.f64 l l)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2) (*.f64 l l)) (fma.f64 l (log.f64 l) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 3) (pow.f64 l 3))) (neg.f64 (fma.f64 l (fma.f64 l (log.f64 l) l) (pow.f64 (log.f64 (pow.f64 l l)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2) (*.f64 l l))) (neg.f64 (fma.f64 l (log.f64 l) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 (pow.f64 l l)) 3) (pow.f64 (neg.f64 l) 3)) (+.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2) (-.f64 (pow.f64 (neg.f64 l) 2) (*.f64 (log.f64 (pow.f64 l l)) (neg.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2) (pow.f64 (neg.f64 l) 2)) (-.f64 (log.f64 (pow.f64 l l)) (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (log.f64 (pow.f64 l l)) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 l l)) l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 l l)) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (-.f64 (log.f64 (pow.f64 l l)) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 l (fma.f64 l (log.f64 l) l) (pow.f64 (log.f64 (pow.f64 l l)) 2)) (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 3) (pow.f64 l 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 l (log.f64 l) l) (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2) (*.f64 l l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (-.f64 (log.f64 (pow.f64 l l)) l))) 2)) (cbrt.f64 (log.f64 (-.f64 (log.f64 (pow.f64 l l)) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (-.f64 (log.f64 (pow.f64 l l)) l)))) (sqrt.f64 (log.f64 (-.f64 (log.f64 (pow.f64 l l)) l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 l l)) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 l l) (exp.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (log.f64 (pow.f64 l l)) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (-.f64 (pow.f64 l l) 1)) (exp.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 l l) (+.f64 1 (expm1.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (-.f64 (pow.f64 l l) 1)) (+.f64 1 (expm1.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 (pow.f64 l l) 1)) (exp.f64 (neg.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 l)) (+.f64 1 (-.f64 (pow.f64 l l) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 l l)) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (log.f64 (pow.f64 l l)) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (log.f64 (pow.f64 l l)) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (log.f64 (pow.f64 l l)) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (-.f64 (log.f64 (pow.f64 l l)) l) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l (log.f64 l) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l (log.f64 l) (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l (-.f64 (log.f64 l) 1) (fma.f64 (neg.f64 l) 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l (-.f64 (log.f64 l) 1) (fma.f64 (neg.f64 (cbrt.f64 l)) (pow.f64 (cbrt.f64 l) 2) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l (-.f64 (log.f64 l) 1) (+.f64 (neg.f64 l) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 l) l (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 l) l (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (pow.f64 l l)) 1 (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (pow.f64 l l)) 1 (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) 1 (fma.f64 (neg.f64 l) 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) 1 (fma.f64 (neg.f64 (cbrt.f64 l)) (pow.f64 (cbrt.f64 l) 2) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) 1 (+.f64 (neg.f64 l) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 (pow.f64 l l)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 (pow.f64 l l)) (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (log.f64 (pow.f64 l l)) l) (fma.f64 (neg.f64 l) 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (log.f64 (pow.f64 l l)) l) (fma.f64 (neg.f64 (cbrt.f64 l)) (pow.f64 (cbrt.f64 l) 2) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (log.f64 (pow.f64 l l)) l) (+.f64 (neg.f64 l) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 l) (log.f64 (pow.f64 l l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 2) (fma.f64 (neg.f64 l) 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 2) (fma.f64 (neg.f64 (cbrt.f64 l)) (pow.f64 (cbrt.f64 l) 2) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 2) (+.f64 (neg.f64 l) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 2) (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (fma.f64 (neg.f64 l) 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 2) (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (fma.f64 (neg.f64 (cbrt.f64 l)) (pow.f64 (cbrt.f64 l) 2) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 2) (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (+.f64 (neg.f64 l) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 l) 2) (neg.f64 (cbrt.f64 l)) (log.f64 (pow.f64 l l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (log.f64 l)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (log.f64 l)) (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 l)) 2) (*.f64 (cbrt.f64 (log.f64 l)) l) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 l)) 2) (*.f64 (cbrt.f64 (log.f64 l)) l) (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 (pow.f64 l l))) (pow.f64 (cbrt.f64 (log.f64 (pow.f64 l l))) 2) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 (pow.f64 l l))) (pow.f64 (cbrt.f64 (log.f64 (pow.f64 l l))) 2) (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 l l))) 2) (cbrt.f64 (log.f64 (pow.f64 l l))) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 l l))) 2) (cbrt.f64 (log.f64 (pow.f64 l l))) (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (fma.f64 (neg.f64 l) 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (fma.f64 (neg.f64 (cbrt.f64 l)) (pow.f64 (cbrt.f64 l) 2) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (+.f64 (neg.f64 l) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 l) (neg.f64 (sqrt.f64 l)) (log.f64 (pow.f64 l l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (log.f64 l)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (log.f64 l)) (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 l)) (*.f64 (sqrt.f64 (log.f64 l)) l) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 l)) (*.f64 (sqrt.f64 (log.f64 l)) l) (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (pow.f64 l l))) (sqrt.f64 (log.f64 (pow.f64 l l))) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (pow.f64 l l))) (sqrt.f64 (log.f64 (pow.f64 l l))) (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 3) (pow.f64 l 3)) (/.f64 1 (fma.f64 l (fma.f64 l (log.f64 l) l) (pow.f64 (log.f64 (pow.f64 l l)) 2))) (fma.f64 (neg.f64 l) 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 3) (pow.f64 l 3)) (/.f64 1 (fma.f64 l (fma.f64 l (log.f64 l) l) (pow.f64 (log.f64 (pow.f64 l l)) 2))) (fma.f64 (neg.f64 (cbrt.f64 l)) (pow.f64 (cbrt.f64 l) 2) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 3) (pow.f64 l 3)) (/.f64 1 (fma.f64 l (fma.f64 l (log.f64 l) l) (pow.f64 (log.f64 (pow.f64 l l)) 2))) (+.f64 (neg.f64 l) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2) (*.f64 l l)) (/.f64 1 (fma.f64 l (log.f64 l) l)) (fma.f64 (neg.f64 l) 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2) (*.f64 l l)) (/.f64 1 (fma.f64 l (log.f64 l) l)) (fma.f64 (neg.f64 (cbrt.f64 l)) (pow.f64 (cbrt.f64 l) 2) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2) (*.f64 l l)) (/.f64 1 (fma.f64 l (log.f64 l) l)) (+.f64 (neg.f64 l) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 l)) 2) (cbrt.f64 (neg.f64 l)) (log.f64 (pow.f64 l l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 l)) (sqrt.f64 (neg.f64 l)) (log.f64 (pow.f64 l l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 l)) (sqrt.f64 l) (log.f64 (pow.f64 l l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 l (log.f64 (pow.f64 l l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (log.f64 (pow.f64 l l))) (sqrt.f64 l)) (-.f64 (sqrt.f64 (log.f64 (pow.f64 l l))) (sqrt.f64 l)) (fma.f64 (neg.f64 l) 1 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (log.f64 (pow.f64 l l))) (sqrt.f64 l)) (-.f64 (sqrt.f64 (log.f64 (pow.f64 l l))) (sqrt.f64 l)) (fma.f64 (neg.f64 (cbrt.f64 l)) (pow.f64 (cbrt.f64 l) 2) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (log.f64 (pow.f64 l l))) (sqrt.f64 l)) (-.f64 (sqrt.f64 (log.f64 (pow.f64 l l))) (sqrt.f64 l)) (+.f64 (neg.f64 l) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l) (log.f64 (pow.f64 l l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 l (pow.f64 (cbrt.f64 (log.f64 l)) 2)) (cbrt.f64 (log.f64 l)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 l (pow.f64 (cbrt.f64 (log.f64 l)) 2)) (cbrt.f64 (log.f64 l)) (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 l (sqrt.f64 (log.f64 l))) (sqrt.f64 (log.f64 l)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 l (sqrt.f64 (log.f64 l))) (sqrt.f64 (log.f64 l)) (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (log.f64 l) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (log.f64 l) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l) (*.f64 (neg.f64 l) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (log.f64 l) (sqrt.f64 l)) (sqrt.f64 l) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (log.f64 l) (sqrt.f64 l)) (sqrt.f64 l) (*.f64 (neg.f64 l) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (pow.f64 l l)) w) (*.f64 (neg.f64 l) w))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 w (log.f64 (pow.f64 l l))) (*.f64 w (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (pow.f64 l l) (exp.f64 l)) w)) 2)) (log.f64 (cbrt.f64 (pow.f64 (/.f64 (pow.f64 l l) (exp.f64 l)) w))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (/.f64 (pow.f64 l l) (exp.f64 l)) w))) (log.f64 (sqrt.f64 (pow.f64 (/.f64 (pow.f64 l l) (exp.f64 l)) w))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 3) (pow.f64 l 3)) w) (fma.f64 l (fma.f64 l (log.f64 l) l) (pow.f64 (log.f64 (pow.f64 l l)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2) (*.f64 l l)) w) (fma.f64 l (log.f64 l) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 w (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 3) (pow.f64 l 3))) (fma.f64 l (fma.f64 l (log.f64 l) l) (pow.f64 (log.f64 (pow.f64 l l)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 w (-.f64 (pow.f64 (log.f64 (pow.f64 l l)) 2) (*.f64 l l))) (fma.f64 l (log.f64 l) l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))) 2)) (cbrt.f64 (log.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)))) (sqrt.f64 (log.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 (pow.f64 l l) (exp.f64 l)) w))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (pow.f64 l l)) w (*.f64 (neg.f64 l) w))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 w (log.f64 (pow.f64 l l)) (*.f64 w (neg.f64 l))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 l l) (-.f64 l (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))) (/.f64 (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 2) (-.f64 l (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)) (pow.f64 (cbrt.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)) 2) (cbrt.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)) (sqrt.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 l 3) (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 3)) (/.f64 1 (fma.f64 l l (*.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) (-.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 l l) (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 2)) (/.f64 1 (-.f64 l (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 l l (*.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) (-.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) l))) (+.f64 (pow.f64 l 3) (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 l (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)) (-.f64 (*.f64 l l) (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 l 3) (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 3)) (fma.f64 l l (*.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) (-.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 l 3) (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 3)) (+.f64 (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 2) (-.f64 (*.f64 l l) (*.f64 (*.f64 l w) (-.f64 (log.f64 (pow.f64 l l)) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 l l) (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 2)) (-.f64 l (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 l 3) (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 3))) (neg.f64 (fma.f64 l l (*.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) (-.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 l l) (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 2))) (neg.f64 (-.f64 l (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 2) (*.f64 l l)) (-.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 l l (*.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) (-.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) l))) (+.f64 (pow.f64 l 3) (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 l (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)) (-.f64 (*.f64 l l) (pow.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l))) 2)) (cbrt.f64 (log.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)))) (sqrt.f64 (log.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 l)) (pow.f64 (/.f64 (pow.f64 l l) (exp.f64 l)) w)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 l) (+.f64 1 (expm1.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 l)) (+.f64 1 (expm1.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))) (exp.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (/.f64 (pow.f64 l l) (exp.f64 l)) w) (+.f64 1 (expm1.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))) (+.f64 1 (expm1.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l 1 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 w (-.f64 (log.f64 (pow.f64 l l)) l) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) 1 l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 l (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 2) (*.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) w) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 l) (pow.f64 (cbrt.f64 l) 2) (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 l) 2) (cbrt.f64 l) (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 w) 2) (*.f64 (cbrt.f64 w) (-.f64 (log.f64 (pow.f64 l l)) l)) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)) 2) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)) 2) (cbrt.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) (*.f64 (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) w) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 l) (sqrt.f64 l) (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 w) (*.f64 (sqrt.f64 w) (-.f64 (log.f64 (pow.f64 l l)) l)) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)) (sqrt.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) w)) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) (pow.f64 (cbrt.f64 w) 2)) (cbrt.f64 w) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 (log.f64 (pow.f64 l l)) l) (sqrt.f64 w)) (sqrt.f64 w) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 w (pow.f64 (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) 2)) (cbrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 w (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l))) (sqrt.f64 (-.f64 (log.f64 (pow.f64 l l)) l)) l))))) |
| 1× | egg-herbie |
| 1013× | distribute-rgt-in_binary64 |
| 520× | unsub-neg_binary64 |
| 454× | fma-neg_binary64 |
| 407× | fma-def_binary64 |
| 291× | sub-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 43 | 537 |
| 1 | 120 | 481 |
| 2 | 293 | 481 |
| 3 | 970 | 481 |
| 4 | 3434 | 481 |
| 5 | 5259 | 481 |
| 6 | 6063 | 481 |
| 7 | 6432 | 481 |
| 8 | 6618 | 481 |
| 9 | 6739 | 481 |
| 10 | 6838 | 481 |
| 11 | 7259 | 481 |
| 12 | 7279 | 481 |
| 13 | 7279 | 481 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) l)) |
(*.f64 l (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) |
(*.f64 l (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) |
(*.f64 l (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) |
(*.f64 l (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) |
(*.f64 (-.f64 (log.f64 l) 1) l) |
(*.f64 (-.f64 (log.f64 l) 1) l) |
(*.f64 (-.f64 (log.f64 l) 1) l) |
(*.f64 (-.f64 (log.f64 l) 1) l) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) l) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) l) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) l) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) l) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) l)) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) l)) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) l)) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) l)) |
(*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) |
(*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) |
(*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) |
(*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) (*.f64 l w)) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) (*.f64 l w)) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) (*.f64 l w)) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) (*.f64 l w)) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) (*.f64 l w))) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) (*.f64 l w))) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) (*.f64 l w))) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) (*.f64 l w))) |
(*.f64 l (+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w))) |
(*.f64 l (+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w))) |
(*.f64 l (+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w))) |
(*.f64 l (+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w))) |
(*.f64 (+.f64 1 (*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) w)) l) |
(*.f64 (+.f64 1 (*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) w)) l) |
(*.f64 (+.f64 1 (*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) w)) l) |
(*.f64 (+.f64 1 (*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) w)) l) |
(*.f64 -1 (*.f64 l (-.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) 1))) |
(*.f64 -1 (*.f64 l (-.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) 1))) |
(*.f64 -1 (*.f64 l (-.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) 1))) |
(*.f64 -1 (*.f64 l (-.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) 1))) |
l |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
| Outputs |
|---|
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) l)) |
(neg.f64 (*.f64 l (neg.f64 (log.f64 l)))) |
(*.f64 l (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) l)) |
(neg.f64 (*.f64 l (neg.f64 (log.f64 l)))) |
(*.f64 l (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) l)) |
(neg.f64 (*.f64 l (neg.f64 (log.f64 l)))) |
(*.f64 l (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) l)) |
(neg.f64 (*.f64 l (neg.f64 (log.f64 l)))) |
(*.f64 l (log.f64 l)) |
(*.f64 l (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) |
(neg.f64 (*.f64 l (neg.f64 (log.f64 l)))) |
(*.f64 l (log.f64 l)) |
(*.f64 l (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) |
(neg.f64 (*.f64 l (neg.f64 (log.f64 l)))) |
(*.f64 l (log.f64 l)) |
(*.f64 l (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) |
(neg.f64 (*.f64 l (neg.f64 (log.f64 l)))) |
(*.f64 l (log.f64 l)) |
(*.f64 l (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) |
(neg.f64 (*.f64 l (neg.f64 (log.f64 l)))) |
(*.f64 l (log.f64 l)) |
(*.f64 (-.f64 (log.f64 l) 1) l) |
(*.f64 l (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 l (log.f64 l)) l) |
(*.f64 (-.f64 (log.f64 l) 1) l) |
(*.f64 l (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 l (log.f64 l)) l) |
(*.f64 (-.f64 (log.f64 l) 1) l) |
(*.f64 l (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 l (log.f64 l)) l) |
(*.f64 (-.f64 (log.f64 l) 1) l) |
(*.f64 l (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 l (log.f64 l)) l) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) l) |
(*.f64 l (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 l (log.f64 l)) l) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) l) |
(*.f64 l (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 l (log.f64 l)) l) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) l) |
(*.f64 l (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 l (log.f64 l)) l) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) l) |
(*.f64 l (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 l (log.f64 l)) l) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) l)) |
(*.f64 l (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 l (log.f64 l)) l) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) l)) |
(*.f64 l (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 l (log.f64 l)) l) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) l)) |
(*.f64 l (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 l (log.f64 l)) l) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) l)) |
(*.f64 l (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 l (log.f64 l)) l) |
(*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) (*.f64 l w)) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) (*.f64 l w)) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) (*.f64 l w)) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) (*.f64 l w)) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) (*.f64 l w))) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) (*.f64 l w))) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) (*.f64 l w))) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) (*.f64 l w))) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 l (+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w))) |
(*.f64 l (+.f64 1 (*.f64 (+.f64 (log.f64 l) -1) w))) |
(*.f64 l (fma.f64 (+.f64 -1 (log.f64 l)) w 1)) |
(fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(*.f64 l (+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w))) |
(*.f64 l (+.f64 1 (*.f64 (+.f64 (log.f64 l) -1) w))) |
(*.f64 l (fma.f64 (+.f64 -1 (log.f64 l)) w 1)) |
(fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(*.f64 l (+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w))) |
(*.f64 l (+.f64 1 (*.f64 (+.f64 (log.f64 l) -1) w))) |
(*.f64 l (fma.f64 (+.f64 -1 (log.f64 l)) w 1)) |
(fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(*.f64 l (+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w))) |
(*.f64 l (+.f64 1 (*.f64 (+.f64 (log.f64 l) -1) w))) |
(*.f64 l (fma.f64 (+.f64 -1 (log.f64 l)) w 1)) |
(fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(*.f64 (+.f64 1 (*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) w)) l) |
(*.f64 l (+.f64 1 (*.f64 (+.f64 (log.f64 l) -1) w))) |
(*.f64 l (fma.f64 (+.f64 -1 (log.f64 l)) w 1)) |
(fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(*.f64 (+.f64 1 (*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) w)) l) |
(*.f64 l (+.f64 1 (*.f64 (+.f64 (log.f64 l) -1) w))) |
(*.f64 l (fma.f64 (+.f64 -1 (log.f64 l)) w 1)) |
(fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(*.f64 (+.f64 1 (*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) w)) l) |
(*.f64 l (+.f64 1 (*.f64 (+.f64 (log.f64 l) -1) w))) |
(*.f64 l (fma.f64 (+.f64 -1 (log.f64 l)) w 1)) |
(fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(*.f64 (+.f64 1 (*.f64 (-.f64 (*.f64 -1 (log.f64 (/.f64 1 l))) 1) w)) l) |
(*.f64 l (+.f64 1 (*.f64 (+.f64 (log.f64 l) -1) w))) |
(*.f64 l (fma.f64 (+.f64 -1 (log.f64 l)) w 1)) |
(fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(*.f64 -1 (*.f64 l (-.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) 1))) |
(*.f64 l (+.f64 1 (*.f64 (+.f64 (log.f64 l) -1) w))) |
(*.f64 l (fma.f64 (+.f64 -1 (log.f64 l)) w 1)) |
(fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(*.f64 -1 (*.f64 l (-.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) 1))) |
(*.f64 l (+.f64 1 (*.f64 (+.f64 (log.f64 l) -1) w))) |
(*.f64 l (fma.f64 (+.f64 -1 (log.f64 l)) w 1)) |
(fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(*.f64 -1 (*.f64 l (-.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) 1))) |
(*.f64 l (+.f64 1 (*.f64 (+.f64 (log.f64 l) -1) w))) |
(*.f64 l (fma.f64 (+.f64 -1 (log.f64 l)) w 1)) |
(fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(*.f64 -1 (*.f64 l (-.f64 (*.f64 (+.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) 1))) |
(*.f64 l (+.f64 1 (*.f64 (+.f64 (log.f64 l) -1) w))) |
(*.f64 l (fma.f64 (+.f64 -1 (log.f64 l)) w 1)) |
(fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
l |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w)) |
(*.f64 (+.f64 -1 (log.f64 l)) (*.f64 l w)) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
| ✓ | 0.3b | (*.f64 w (log.f64 l)) |
| ✓ | 0.4b | (*.f64 l (*.f64 w (log.f64 l))) |
Compiled 37 to 8 computations (78.4% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | l | @ | -inf | (*.f64 l (*.f64 w (log.f64 l))) |
| 1.0ms | l | @ | 0 | (*.f64 l (*.f64 w (log.f64 l))) |
| 1.0ms | l | @ | inf | (*.f64 l (*.f64 w (log.f64 l))) |
| 1.0ms | l | @ | -inf | (/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
| 1.0ms | l | @ | inf | (/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
| 1× | batch-egg-rewrite |
| 993× | prod-diff_binary64 |
| 546× | log-prod_binary64 |
| 294× | fma-def_binary64 |
| 261× | pow2_binary64 |
| 196× | pow-unpow_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 32 |
| 1 | 190 | 30 |
| 2 | 2746 | 30 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 l (*.f64 w (log.f64 l))) |
(*.f64 w (log.f64 l)) |
(/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (log.f64 l) (*.f64 l w)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 l (*.f64 l w))) 2)) (log.f64 (cbrt.f64 (pow.f64 l (*.f64 l w)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 l (*.f64 l w)))) (log.f64 (sqrt.f64 (pow.f64 l (*.f64 l w)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (log.f64 l) (*.f64 l w)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (log.f64 l) (*.f64 l w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (log.f64 l) (*.f64 l w)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (log.f64 l) (*.f64 l w))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (log.f64 l) (*.f64 l w))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (log.f64 l) (*.f64 l w)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (log.f64 l) (*.f64 l w)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 l (*.f64 l w)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (-.f64 (pow.f64 l (*.f64 l w)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (log.f64 l) (*.f64 l w)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (log.f64 l) (*.f64 l w))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 l (*.f64 l w)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (log.f64 l) (*.f64 l w))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (log.f64 l) (*.f64 l w))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 w (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 l w)) 2)) (log.f64 (cbrt.f64 (pow.f64 l w))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 l w))) (log.f64 (sqrt.f64 (pow.f64 l w))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 w (log.f64 l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 w (log.f64 l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 w (log.f64 l)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 w (log.f64 l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 w (log.f64 l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 w (log.f64 l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 w 3) (pow.f64 (log.f64 l) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (log.f64 l) 3) (pow.f64 w 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 w (log.f64 l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 l w))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (-.f64 (pow.f64 l w) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 w (log.f64 l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 w 3) (pow.f64 (log.f64 l) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (log.f64 l) 3) (pow.f64 w 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 w (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 l w) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 w (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 w (log.f64 l))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))) 2) (cbrt.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) 2) (*.f64 (cbrt.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) (exp.f64 (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))) (sqrt.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) (*.f64 (sqrt.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) (exp.f64 (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) (/.f64 1 (neg.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 w)) (*.f64 l (fma.f64 w (log.f64 l) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) 2) 1) (/.f64 (cbrt.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) 1) (/.f64 (sqrt.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (cbrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) 2) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (cbrt.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (/.f64 (sqrt.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) (cbrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (exp.f64 w))) (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (sqrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) 2) (sqrt.f64 (exp.f64 w))) (/.f64 (cbrt.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) (sqrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (exp.f64 w) (*.f64 l (fma.f64 w (log.f64 l) 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) 3) (pow.f64 (exp.f64 w) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (exp.f64 w) (*.f64 l (fma.f64 w (log.f64 l) 1))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (neg.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) 3) (pow.f64 (exp.f64 w) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 l (fma.f64 w (log.f64 l) 1)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) w))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log.f64 (*.f64 l (fma.f64 w (log.f64 l) 1))) w) 1)))))) |
| 1× | egg-herbie |
| 601× | associate-+l+_binary64 |
| 582× | distribute-rgt-in_binary64 |
| 546× | distribute-lft-in_binary64 |
| 492× | associate-+r+_binary64 |
| 347× | fma-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 61 | 639 |
| 1 | 180 | 594 |
| 2 | 541 | 527 |
| 3 | 2181 | 517 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (*.f64 l w))) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (*.f64 l w))) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (*.f64 l w))) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (*.f64 l w))) |
(*.f64 l (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w)) |
(*.f64 l (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w)) |
(*.f64 l (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w)) |
(*.f64 l (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)))) (exp.f64 w)) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)))) (exp.f64 w)) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)))) (exp.f64 w)) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)))) (exp.f64 w)) |
(*.f64 -1 (/.f64 (*.f64 l (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)) (exp.f64 w))) |
(*.f64 -1 (/.f64 (*.f64 l (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)) (exp.f64 w))) |
(*.f64 -1 (/.f64 (*.f64 l (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)) (exp.f64 w))) |
(*.f64 -1 (/.f64 (*.f64 l (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)) (exp.f64 w))) |
l |
(+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
(+.f64 (*.f64 (-.f64 l (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l))) (pow.f64 w 2)) (+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)))) |
(+.f64 (*.f64 (-.f64 l (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l))) (pow.f64 w 2)) (+.f64 (*.f64 (pow.f64 w 3) (-.f64 (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l)) (+.f64 l (+.f64 (*.f64 1/2 (-.f64 (*.f64 l (log.f64 l)) l)) (*.f64 1/6 l))))) (+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))))) |
(/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) |
(+.f64 (/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) (/.f64 l (exp.f64 w))) |
(+.f64 (/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) (/.f64 l (exp.f64 w))) |
(+.f64 (/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) (/.f64 l (exp.f64 w))) |
(/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) |
(+.f64 (/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) (/.f64 l (exp.f64 w))) |
(+.f64 (/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) (/.f64 l (exp.f64 w))) |
(+.f64 (/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) (/.f64 l (exp.f64 w))) |
| Outputs |
|---|
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (*.f64 l w))) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) (*.f64 l w))) |
(neg.f64 (neg.f64 (*.f64 (*.f64 l w) (log.f64 l)))) |
(*.f64 (*.f64 l w) (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (*.f64 l w))) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) (*.f64 l w))) |
(neg.f64 (neg.f64 (*.f64 (*.f64 l w) (log.f64 l)))) |
(*.f64 (*.f64 l w) (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (*.f64 l w))) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) (*.f64 l w))) |
(neg.f64 (neg.f64 (*.f64 (*.f64 l w) (log.f64 l)))) |
(*.f64 (*.f64 l w) (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (*.f64 l w))) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) (*.f64 l w))) |
(neg.f64 (neg.f64 (*.f64 (*.f64 l w) (log.f64 l)))) |
(*.f64 (*.f64 l w) (log.f64 l)) |
(*.f64 l (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w)) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) (*.f64 l w))) |
(neg.f64 (neg.f64 (*.f64 (*.f64 l w) (log.f64 l)))) |
(*.f64 (*.f64 l w) (log.f64 l)) |
(*.f64 l (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w)) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) (*.f64 l w))) |
(neg.f64 (neg.f64 (*.f64 (*.f64 l w) (log.f64 l)))) |
(*.f64 (*.f64 l w) (log.f64 l)) |
(*.f64 l (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w)) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) (*.f64 l w))) |
(neg.f64 (neg.f64 (*.f64 (*.f64 l w) (log.f64 l)))) |
(*.f64 (*.f64 l w) (log.f64 l)) |
(*.f64 l (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w)) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) (*.f64 l w))) |
(neg.f64 (neg.f64 (*.f64 (*.f64 l w) (log.f64 l)))) |
(*.f64 (*.f64 l w) (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) w)) |
(*.f64 (neg.f64 (log.f64 l)) (neg.f64 w)) |
(*.f64 w (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) w)) |
(*.f64 (neg.f64 (log.f64 l)) (neg.f64 w)) |
(*.f64 w (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) w)) |
(*.f64 (neg.f64 (log.f64 l)) (neg.f64 w)) |
(*.f64 w (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) w)) |
(*.f64 (neg.f64 (log.f64 l)) (neg.f64 w)) |
(*.f64 w (log.f64 l)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) w)) |
(*.f64 (neg.f64 (log.f64 l)) (neg.f64 w)) |
(*.f64 w (log.f64 l)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) w)) |
(*.f64 (neg.f64 (log.f64 l)) (neg.f64 w)) |
(*.f64 w (log.f64 l)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) w)) |
(*.f64 (neg.f64 (log.f64 l)) (neg.f64 w)) |
(*.f64 w (log.f64 l)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) w) |
(neg.f64 (*.f64 (neg.f64 (log.f64 l)) w)) |
(*.f64 (neg.f64 (log.f64 l)) (neg.f64 w)) |
(*.f64 w (log.f64 l)) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)))) (exp.f64 w)) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)))) (exp.f64 w)) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)))) (exp.f64 w)) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w)))) (exp.f64 w)) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(*.f64 -1 (/.f64 (*.f64 l (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)) (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(*.f64 -1 (/.f64 (*.f64 l (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)) (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(*.f64 -1 (/.f64 (*.f64 l (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)) (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(*.f64 -1 (/.f64 (*.f64 l (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)) (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
l |
(+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
(fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l) |
(fma.f64 w (*.f64 l (+.f64 -1 (log.f64 l))) l) |
(fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) l) |
(+.f64 (*.f64 (-.f64 l (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l))) (pow.f64 w 2)) (+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)))) |
(fma.f64 (-.f64 l (fma.f64 l (log.f64 l) (*.f64 l 1/2))) (*.f64 w w) (+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)))) |
(fma.f64 (-.f64 l (*.f64 l (+.f64 (log.f64 l) 1/2))) (*.f64 w w) (fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l)) |
(fma.f64 (-.f64 l (*.f64 l (+.f64 (log.f64 l) 1/2))) (*.f64 w w) (fma.f64 w (*.f64 l (+.f64 -1 (log.f64 l))) l)) |
(fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) (fma.f64 (*.f64 l (-.f64 1/2 (log.f64 l))) (*.f64 w w) l)) |
(+.f64 (*.f64 (-.f64 l (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l))) (pow.f64 w 2)) (+.f64 (*.f64 (pow.f64 w 3) (-.f64 (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l)) (+.f64 l (+.f64 (*.f64 1/2 (-.f64 (*.f64 l (log.f64 l)) l)) (*.f64 1/6 l))))) (+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))))) |
(fma.f64 (-.f64 l (fma.f64 l (log.f64 l) (*.f64 l 1/2))) (*.f64 w w) (fma.f64 (pow.f64 w 3) (-.f64 (fma.f64 l (log.f64 l) (*.f64 l 1/2)) (+.f64 l (fma.f64 1/2 (-.f64 (*.f64 l (log.f64 l)) l) (*.f64 l 1/6)))) (+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))))) |
(fma.f64 (-.f64 l (*.f64 l (+.f64 (log.f64 l) 1/2))) (*.f64 w w) (fma.f64 (pow.f64 w 3) (-.f64 (-.f64 (*.f64 l (+.f64 (log.f64 l) 1/2)) l) (fma.f64 (-.f64 (*.f64 l (log.f64 l)) l) 1/2 (*.f64 l 1/6))) (fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l))) |
(fma.f64 w (*.f64 w (-.f64 l (*.f64 l (+.f64 (log.f64 l) 1/2)))) (fma.f64 w (*.f64 l (+.f64 -1 (log.f64 l))) (fma.f64 (pow.f64 w 3) (-.f64 (*.f64 l (+.f64 (log.f64 l) 1/2)) (fma.f64 (*.f64 l (+.f64 -1 (log.f64 l))) 1/2 (*.f64 l 7/6))) l))) |
(fma.f64 w (*.f64 w (*.f64 l (-.f64 1/2 (log.f64 l)))) (fma.f64 (pow.f64 w 3) (-.f64 (*.f64 l (-.f64 (+.f64 (log.f64 l) -1/2) (*.f64 (log.f64 l) 1/2))) (*.f64 l -1/3)) (fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) l))) |
(/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) |
(/.f64 (*.f64 l w) (/.f64 (exp.f64 w) (log.f64 l))) |
(*.f64 (*.f64 w (log.f64 l)) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (log.f64 l) (/.f64 (exp.f64 w) w))) |
(+.f64 (/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) (/.f64 l (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(+.f64 (/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) (/.f64 l (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(+.f64 (/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) (/.f64 l (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) |
(/.f64 (*.f64 l w) (/.f64 (exp.f64 w) (log.f64 l))) |
(*.f64 (*.f64 w (log.f64 l)) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (log.f64 l) (/.f64 (exp.f64 w) w))) |
(+.f64 (/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) (/.f64 l (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(+.f64 (/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) (/.f64 l (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
(+.f64 (/.f64 (*.f64 l (*.f64 w (log.f64 l))) (exp.f64 w)) (/.f64 l (exp.f64 w))) |
(/.f64 (*.f64 l (+.f64 1 (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(/.f64 l (/.f64 (exp.f64 w) (fma.f64 w (log.f64 l) 1))) |
(*.f64 (fma.f64 w (log.f64 l) 1) (/.f64 l (exp.f64 w))) |
(*.f64 l (/.f64 (fma.f64 w (log.f64 l) 1) (exp.f64 w))) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w) |
| ✓ | 0.0b | (*.f64 (exp.f64 w) (log.f64 l)) |
| ✓ | 4.6b | (exp.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
Compiled 28 to 7 computations (75% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | w | @ | 0 | (exp.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| 1.0ms | l | @ | -inf | (exp.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| 1.0ms | l | @ | inf | (exp.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| 1.0ms | l | @ | 0 | (exp.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| 0.0ms | w | @ | 0 | (*.f64 (exp.f64 w) (log.f64 l)) |
| 1× | batch-egg-rewrite |
| 843× | pow1_binary64 |
| 778× | add-log-exp_binary64 |
| 778× | log1p-expm1-u_binary64 |
| 778× | expm1-log1p-u_binary64 |
| 760× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 32 |
| 1 | 161 | 30 |
| 2 | 2125 | 30 |
| 1× | node limit |
| Inputs |
|---|
(exp.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
(*.f64 (exp.f64 w) (log.f64 l)) |
(-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (expm1.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (exp.f64 w) (pow.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 l (exp.f64 w))) (neg.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 l (exp.f64 w)) 1) (exp.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 l (exp.f64 w)) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (cbrt.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 l (exp.f64 w)) (sqrt.f64 (exp.f64 w))) (sqrt.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w))) (sqrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) 2)) (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (exp.f64 w) (log.f64 l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (exp.f64 w) (log.f64 l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (exp.f64 w) (log.f64 l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 l (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (exp.f64 w) (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 l (exp.f64 w)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 w (log.f64 (log.f64 l)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 w) (log.f64 l)) (neg.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 w) (log.f64 l)) (*.f64 (neg.f64 w) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w) (fma.f64 (neg.f64 w) 1 w))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w) (fma.f64 (neg.f64 (cbrt.f64 w)) (pow.f64 (cbrt.f64 w) 2) w))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w) (fma.f64 (neg.f64 (sqrt.f64 w)) (sqrt.f64 w) w))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 w) (*.f64 (exp.f64 w) (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))) (log.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2)) (log.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) 2) (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) (sqrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 3) (pow.f64 w 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 2) (*.f64 w (fma.f64 (exp.f64 w) (log.f64 l) w)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 2) (*.f64 w w)) (/.f64 1 (fma.f64 (exp.f64 w) (log.f64 l) w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 (exp.f64 w) (log.f64 l))) (sqrt.f64 w)) (-.f64 (sqrt.f64 (*.f64 (exp.f64 w) (log.f64 l))) (sqrt.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 2) (*.f64 w (fma.f64 (exp.f64 w) (log.f64 l) w))) (-.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 3) (pow.f64 w 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (exp.f64 w) (log.f64 l) w) (-.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 2) (*.f64 w w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 3) (pow.f64 w 3)) (+.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 2) (*.f64 w (fma.f64 (exp.f64 w) (log.f64 l) w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 2) (*.f64 w w)) (fma.f64 (exp.f64 w) (log.f64 l) w))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 3) (pow.f64 w 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 2) (*.f64 w (fma.f64 (exp.f64 w) (log.f64 l) w)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 2) (*.f64 w w))) (neg.f64 (fma.f64 (exp.f64 w) (log.f64 l) w)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 3) (pow.f64 (neg.f64 w) 3)) (+.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 2) (-.f64 (*.f64 (neg.f64 w) (neg.f64 w)) (*.f64 (*.f64 (exp.f64 w) (log.f64 l)) (neg.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (exp.f64 w) (log.f64 l)) 2) (*.f64 (neg.f64 w) (neg.f64 w))) (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (exp.f64 w) (log.f64 l) (neg.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (exp.f64 w) (log.f64 l)) (neg.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 w) (log.f64 l))) 2) (cbrt.f64 (*.f64 (exp.f64 w) (log.f64 l))) (neg.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (exp.f64 w) (log.f64 l))) (sqrt.f64 (*.f64 (exp.f64 w) (log.f64 l))) (neg.f64 w)))))) |
| 1× | egg-herbie |
| 821× | associate-+l+_binary64 |
| 660× | distribute-rgt-in_binary64 |
| 639× | distribute-lft-in_binary64 |
| 589× | associate-+r+_binary64 |
| 409× | fma-def_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 71 | 903 |
| 1 | 214 | 854 |
| 2 | 608 | 829 |
| 3 | 2700 | 819 |
| 1× | node limit |
| Inputs |
|---|
l |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(+.f64 l (+.f64 (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (-.f64 (log.f64 l) 1) 2))))))) |
(+.f64 l (+.f64 (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (-.f64 (log.f64 l) 1) 2))))) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (log.f64 l) 1) (log.f64 l))) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/6 (pow.f64 (-.f64 (log.f64 l) 1) 3)))) (*.f64 l (pow.f64 w 3)))))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(log.f64 l) |
(+.f64 (*.f64 w (log.f64 l)) (log.f64 l)) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 w (log.f64 l)) (log.f64 l))) |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 w (log.f64 l)) (log.f64 l)))) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) |
(log.f64 l) |
(+.f64 (*.f64 (-.f64 (log.f64 l) 1) w) (log.f64 l)) |
(+.f64 (*.f64 (-.f64 (log.f64 l) 1) w) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (log.f64 l))) |
(+.f64 (*.f64 (-.f64 (log.f64 l) 1) w) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (log.f64 l)))) |
(*.f64 -1 w) |
(+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w)) |
(+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w)) |
(+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w)) |
(*.f64 -1 w) |
(+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w)) |
(+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w)) |
(+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w) |
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w) |
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w) |
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w) |
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w) |
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w) |
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w) |
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w) |
| Outputs |
|---|
l |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(+.f64 l (*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w))) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 l w) l) |
(fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l) |
(+.f64 l (+.f64 (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (-.f64 (log.f64 l) 1) 2))))))) |
(+.f64 l (fma.f64 (+.f64 (log.f64 l) -1) (*.f64 l w) (*.f64 (*.f64 l (*.f64 w w)) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)))))) |
(+.f64 l (fma.f64 l (*.f64 (*.f64 (*.f64 w w) 1/2) (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2))) (*.f64 l (*.f64 (+.f64 (log.f64 l) -1) w)))) |
(fma.f64 (*.f64 l (*.f64 w (*.f64 w 1/2))) (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)) (fma.f64 l (-.f64 (*.f64 (log.f64 l) w) w) l)) |
(+.f64 l (*.f64 l (*.f64 w (+.f64 (+.f64 (log.f64 l) -1) (*.f64 w (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)))))))) |
(+.f64 l (+.f64 (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (-.f64 (log.f64 l) 1) 2))))) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (log.f64 l) 1) (log.f64 l))) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/6 (pow.f64 (-.f64 (log.f64 l) 1) 3)))) (*.f64 l (pow.f64 w 3)))))) |
(+.f64 l (fma.f64 (+.f64 (log.f64 l) -1) (*.f64 l w) (fma.f64 l (*.f64 (*.f64 w w) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)))) (*.f64 (fma.f64 1/2 (*.f64 (log.f64 l) (+.f64 (log.f64 l) -1)) (*.f64 1/6 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 3)))) (*.f64 l (pow.f64 w 3)))))) |
(+.f64 l (fma.f64 (+.f64 (log.f64 l) -1) (*.f64 l w) (fma.f64 l (*.f64 (*.f64 (*.f64 w w) 1/2) (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2))) (*.f64 l (*.f64 (pow.f64 w 3) (fma.f64 1/2 (*.f64 (log.f64 l) (+.f64 (log.f64 l) -1)) (*.f64 1/6 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 3))))))))) |
(+.f64 l (fma.f64 l (*.f64 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)) (*.f64 w (*.f64 w 1/2))) (*.f64 l (+.f64 (*.f64 (fma.f64 (log.f64 l) (+.f64 (*.f64 (log.f64 l) 1/2) -1/3) (*.f64 1/6 (pow.f64 (+.f64 (log.f64 l) -1) 3))) (pow.f64 w 3)) (-.f64 (*.f64 (log.f64 l) w) w))))) |
(+.f64 l (*.f64 l (+.f64 (-.f64 (*.f64 (log.f64 l) w) w) (*.f64 (*.f64 w w) (+.f64 (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2))) (*.f64 (fma.f64 (log.f64 l) (+.f64 (*.f64 (log.f64 l) 1/2) -1/3) (*.f64 1/6 (pow.f64 (+.f64 (log.f64 l) -1) 3))) w)))))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(log.f64 l) |
(+.f64 (*.f64 w (log.f64 l)) (log.f64 l)) |
(*.f64 (+.f64 w 1) (log.f64 l)) |
(fma.f64 (log.f64 l) w (log.f64 l)) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 w (log.f64 l)) (log.f64 l))) |
(fma.f64 1/2 (*.f64 (log.f64 l) (*.f64 w w)) (*.f64 (+.f64 w 1) (log.f64 l))) |
(*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 (*.f64 w w) 1/2))) |
(*.f64 (log.f64 l) (+.f64 1 (fma.f64 (*.f64 w w) 1/2 w))) |
(*.f64 (log.f64 l) (+.f64 1 (fma.f64 (*.f64 w 1/2) w w))) |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 w (log.f64 l)) (log.f64 l)))) |
(fma.f64 1/6 (*.f64 (log.f64 l) (pow.f64 w 3)) (fma.f64 1/2 (*.f64 (log.f64 l) (*.f64 w w)) (*.f64 (+.f64 w 1) (log.f64 l)))) |
(fma.f64 1/6 (*.f64 (log.f64 l) (pow.f64 w 3)) (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 (*.f64 w w) 1/2)))) |
(*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 (*.f64 w w) (+.f64 (*.f64 w 1/6) 1/2)))) |
(*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) |
(*.f64 (log.f64 l) (exp.f64 w)) |
(log.f64 l) |
(+.f64 (*.f64 (-.f64 (log.f64 l) 1) w) (log.f64 l)) |
(fma.f64 (+.f64 (log.f64 l) -1) w (log.f64 l)) |
(-.f64 (fma.f64 (log.f64 l) w (log.f64 l)) w) |
(+.f64 (*.f64 (-.f64 (log.f64 l) 1) w) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (log.f64 l))) |
(fma.f64 (+.f64 (log.f64 l) -1) w (fma.f64 1/2 (*.f64 (log.f64 l) (*.f64 w w)) (log.f64 l))) |
(+.f64 (*.f64 (log.f64 l) (+.f64 1 (fma.f64 (*.f64 w w) 1/2 w))) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (+.f64 1 (fma.f64 (*.f64 w 1/2) w w))) w) |
(+.f64 (*.f64 (-.f64 (log.f64 l) 1) w) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (log.f64 l)))) |
(fma.f64 (+.f64 (log.f64 l) -1) w (fma.f64 1/6 (*.f64 (log.f64 l) (pow.f64 w 3)) (fma.f64 1/2 (*.f64 (log.f64 l) (*.f64 w w)) (log.f64 l)))) |
(+.f64 (*.f64 (log.f64 l) (+.f64 (*.f64 1/6 (pow.f64 w 3)) (*.f64 (*.f64 w w) 1/2))) (fma.f64 (+.f64 (log.f64 l) -1) w (log.f64 l))) |
(+.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 (*.f64 w w) (+.f64 (*.f64 w 1/6) 1/2)))) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) w) |
(*.f64 -1 w) |
(neg.f64 w) |
(+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w)) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w)) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w)) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(*.f64 -1 w) |
(neg.f64 w) |
(+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w)) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w)) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w)) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w) |
(fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w)) |
(-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w) |
Compiled 11324 to 4263 computations (62.4% saved)
20 alts after pruning (17 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 650 | 14 | 664 |
| Fresh | 5 | 3 | 8 |
| Picked | 1 | 0 | 1 |
| Done | 2 | 3 | 5 |
| Total | 658 | 20 | 678 |
| Status | Error | Program |
|---|---|---|
| 4.6b | (pow.f64 (exp.f64 1) (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) | |
| ▶ | 14.8b | (-.f64 l (*.f64 l w)) |
| 6.6b | (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) 2)) (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w))) | |
| ✓ | 1.5b | (/.f64 l (exp.f64 w)) |
| 47.3b | (exp.f64 (neg.f64 w)) | |
| ✓ | 1.4b | (/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
| ▶ | 1.5b | (*.f64 (exp.f64 (neg.f64 w)) l) |
| ▶ | 2.3b | (/.f64 (expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) (exp.f64 w)) |
| 5.0b | (exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) w)) | |
| 14.4b | (+.f64 l (*.f64 w (*.f64 (-.f64 (log.f64 l) 1) l))) | |
| 10.4b | (/.f64 (fma.f64 l (*.f64 (*.f64 (log.f64 l) (+.f64 1/6 (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/6))))) (pow.f64 w 3)) (fma.f64 l (*.f64 (log.f64 l) (+.f64 w (*.f64 (*.f64 w (*.f64 w 1/2)) (+.f64 (log.f64 l) 1)))) l)) (exp.f64 w)) | |
| 24.7b | (-.f64 (+.f64 1 (/.f64 l (exp.f64 w))) 1) | |
| 4.6b | (exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) | |
| 14.9b | (+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 l 1/2)) l))) | |
| ✓ | 0.2b | (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
| ▶ | 1.4b | (*.f64 (exp.f64 (neg.f64 w)) (+.f64 l (*.f64 l (*.f64 w (log.f64 l))))) |
| 14.5b | l | |
| ▶ | 14.4b | (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
| 15.0b | (+.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 (*.f64 l 1/2) (*.f64 w (*.f64 l -1/6)))) l))) | |
| 61.3b | (*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
Compiled 485 to 313 computations (35.5% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (exp.f64 (neg.f64 w)) (+.f64 l (*.f64 l (*.f64 w (log.f64 l))))) |
| 0.3b | (*.f64 w (log.f64 l)) | |
| 0.4b | (*.f64 l (*.f64 w (log.f64 l))) |
Compiled 41 to 9 computations (78% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | l | @ | -inf | (*.f64 (exp.f64 (neg.f64 w)) (+.f64 l (*.f64 l (*.f64 w (log.f64 l))))) |
| 1.0ms | l | @ | 0 | (*.f64 (exp.f64 (neg.f64 w)) (+.f64 l (*.f64 l (*.f64 w (log.f64 l))))) |
| 1.0ms | w | @ | -inf | (*.f64 (exp.f64 (neg.f64 w)) (+.f64 l (*.f64 l (*.f64 w (log.f64 l))))) |
| 1.0ms | w | @ | 0 | (*.f64 (exp.f64 (neg.f64 w)) (+.f64 l (*.f64 l (*.f64 w (log.f64 l))))) |
| 1.0ms | l | @ | inf | (*.f64 (exp.f64 (neg.f64 w)) (+.f64 l (*.f64 l (*.f64 w (log.f64 l))))) |
| 1× | batch-egg-rewrite |
| 564× | log-prod_binary64 |
| 447× | pow-prod-down_binary64 |
| 399× | fma-def_binary64 |
| 261× | pow2_binary64 |
| 232× | pow-unpow_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 19 |
| 1 | 214 | 15 |
| 2 | 3123 | 1 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 l (*.f64 l (*.f64 w (log.f64 l))))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 l 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 l (fma.f64 (neg.f64 l) 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 l (fma.f64 (neg.f64 (log.f64 l)) 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 l (*.f64 (neg.f64 l) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 l)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 l)) 2)) (log.f64 (cbrt.f64 (exp.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 l))) (log.f64 (sqrt.f64 (exp.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 l 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 l (/.f64 0 l))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 l 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 l l) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 l (*.f64 l l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 l l) l)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 l 3) (*.f64 l l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 l 3)) (neg.f64 (*.f64 l l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 l l)) (neg.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (log.f64 l)))) (exp.f64 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 l 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l l) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 l) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 l) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 l 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 l))) (sqrt.f64 (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 l))) (*.f64 (sqrt.f64 (log.f64 l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 l)) 2)) (cbrt.f64 (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 l)) 2)) (*.f64 (cbrt.f64 (log.f64 l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 l l) (pow.f64 l 3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 l (*.f64 l l)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (pow.f64 (cbrt.f64 (log.f64 l)) 2)) (cbrt.f64 (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (sqrt.f64 (log.f64 l))) (sqrt.f64 (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (cbrt.f64 (log.f64 l))) (pow.f64 (cbrt.f64 (log.f64 l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 l))) 1) (sqrt.f64 (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 l))) (cbrt.f64 (log.f64 l))) (cbrt.f64 (sqrt.f64 (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 l))) (sqrt.f64 (sqrt.f64 (log.f64 l)))) (sqrt.f64 (sqrt.f64 (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 l))) (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 l)) 2))) (sqrt.f64 (cbrt.f64 (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 l)) 2)) 1) (cbrt.f64 (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 l)) 2)) (cbrt.f64 (sqrt.f64 (log.f64 l)))) (cbrt.f64 (sqrt.f64 (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 l)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 l)) 2))) (cbrt.f64 (cbrt.f64 (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 l)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 l))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 l)) 2)) (sqrt.f64 (cbrt.f64 (log.f64 l)))) (sqrt.f64 (cbrt.f64 (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 l l))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 1 (+.f64 1 (expm1.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 l 3))))) (#(struct:change #<rule egg-rr> (2) ((x . l)))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 l 0)))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 0 l)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 l 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l 1 (fma.f64 (neg.f64 l) 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l 1 (fma.f64 (neg.f64 (log.f64 l)) 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l 1 (*.f64 (neg.f64 l) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l 0 l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 l) 0 l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 l 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 l (fma.f64 (neg.f64 l) 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 l (fma.f64 (neg.f64 (log.f64 l)) 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 l (*.f64 (neg.f64 l) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 l) (pow.f64 (cbrt.f64 l) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 l) (pow.f64 (cbrt.f64 l) 2) (*.f64 (neg.f64 l) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 l) 2) (cbrt.f64 l) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 l) 2) (cbrt.f64 l) (fma.f64 (neg.f64 l) 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 l) 2) (cbrt.f64 l) (fma.f64 (neg.f64 (log.f64 l)) 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 l) 2) (cbrt.f64 l) (*.f64 (neg.f64 l) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 l) 2) 0 l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 l) (sqrt.f64 l) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 l) (sqrt.f64 l) (fma.f64 (neg.f64 l) 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 l) (sqrt.f64 l) (fma.f64 (neg.f64 (log.f64 l)) 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 l) (sqrt.f64 l) (*.f64 (neg.f64 l) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 l) 0 l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 l l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 (log.f64 l) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 (cbrt.f64 l) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 (cbrt.f64 (log.f64 l)) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 (sqrt.f64 l) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 (sqrt.f64 (log.f64 l)) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 (*.f64 (log.f64 l) l) l)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 l) 0) (+.f64 (sqrt.f64 l) 0) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 l) 0) (+.f64 (sqrt.f64 l) 0) (fma.f64 (neg.f64 l) 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 l) 0) (+.f64 (sqrt.f64 l) 0) (fma.f64 (neg.f64 (log.f64 l)) 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 l (log.f64 l)) 0 l))))) |
| 1× | egg-herbie |
| 437× | associate-+l+_binary64 |
| 390× | distribute-rgt-in_binary64 |
| 371× | times-frac_binary64 |
| 366× | distribute-lft-in_binary64 |
| 335× | fma-def_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 63 | 478 |
| 1 | 200 | 397 |
| 2 | 652 | 386 |
| 3 | 2546 | 386 |
| 4 | 6896 | 386 |
| 1× | node limit |
| Inputs |
|---|
l |
(+.f64 l (*.f64 (+.f64 (*.f64 -1 l) (*.f64 l (log.f64 l))) w)) |
(+.f64 l (+.f64 (*.f64 (+.f64 (*.f64 -1 l) (*.f64 l (log.f64 l))) w) (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 l) (*.f64 -1 (*.f64 l (log.f64 l))))))) |
(+.f64 (*.f64 (pow.f64 w 3) (+.f64 (*.f64 1/2 (*.f64 l (log.f64 l))) (*.f64 -1/6 l))) (+.f64 l (+.f64 (*.f64 (+.f64 (*.f64 -1 l) (*.f64 l (log.f64 l))) w) (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 l) (*.f64 -1 (*.f64 l (log.f64 l)))))))) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (*.f64 w (log.f64 l)))) |
(+.f64 (*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (*.f64 w (log.f64 l)))) (*.f64 (exp.f64 (neg.f64 w)) l)) |
(+.f64 (*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (*.f64 w (log.f64 l)))) (*.f64 (exp.f64 (neg.f64 w)) l)) |
(+.f64 (*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (*.f64 w (log.f64 l)))) (*.f64 (exp.f64 (neg.f64 w)) l)) |
(*.f64 l (*.f64 w (*.f64 (exp.f64 (*.f64 -1 w)) (log.f64 l)))) |
(+.f64 (*.f64 l (exp.f64 (*.f64 -1 w))) (*.f64 l (*.f64 w (*.f64 (exp.f64 (*.f64 -1 w)) (log.f64 l))))) |
(+.f64 (*.f64 l (exp.f64 (*.f64 -1 w))) (*.f64 l (*.f64 w (*.f64 (exp.f64 (*.f64 -1 w)) (log.f64 l))))) |
(+.f64 (*.f64 l (exp.f64 (*.f64 -1 w))) (*.f64 l (*.f64 w (*.f64 (exp.f64 (*.f64 -1 w)) (log.f64 l))))) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 w (log.f64 l))))) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 w (log.f64 l))))) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 w (log.f64 l))))) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 w (log.f64 l))))) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))))) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))))) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))))) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))))) |
(*.f64 -1 (*.f64 l (*.f64 (exp.f64 (neg.f64 w)) (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)))) |
(*.f64 -1 (*.f64 l (*.f64 (exp.f64 (neg.f64 w)) (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)))) |
(*.f64 -1 (*.f64 l (*.f64 (exp.f64 (neg.f64 w)) (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)))) |
(*.f64 -1 (*.f64 l (*.f64 (exp.f64 (neg.f64 w)) (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)))) |
| Outputs |
|---|
l |
(+.f64 l (*.f64 (+.f64 (*.f64 -1 l) (*.f64 l (log.f64 l))) w)) |
(+.f64 l (*.f64 (fma.f64 -1 l (*.f64 l (log.f64 l))) w)) |
(fma.f64 (-.f64 (*.f64 l (log.f64 l)) l) w l) |
(fma.f64 (*.f64 l (-.f64 (log.f64 l) 1)) w l) |
(+.f64 l (+.f64 (*.f64 (+.f64 (*.f64 -1 l) (*.f64 l (log.f64 l))) w) (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 l) (*.f64 -1 (*.f64 l (log.f64 l))))))) |
(+.f64 l (fma.f64 (fma.f64 -1 l (*.f64 l (log.f64 l))) w (*.f64 (*.f64 w w) (fma.f64 1/2 l (*.f64 (neg.f64 l) (log.f64 l)))))) |
(+.f64 l (fma.f64 (-.f64 (*.f64 l (log.f64 l)) l) w (*.f64 (*.f64 w w) (fma.f64 (neg.f64 l) (log.f64 l) (*.f64 l 1/2))))) |
(fma.f64 (*.f64 l (-.f64 (log.f64 l) 1)) w (fma.f64 (*.f64 w w) (*.f64 l (-.f64 1/2 (log.f64 l))) l)) |
(fma.f64 (-.f64 (*.f64 l (log.f64 l)) l) w (fma.f64 (*.f64 w w) (*.f64 l (-.f64 1/2 (log.f64 l))) l)) |
(+.f64 (*.f64 (pow.f64 w 3) (+.f64 (*.f64 1/2 (*.f64 l (log.f64 l))) (*.f64 -1/6 l))) (+.f64 l (+.f64 (*.f64 (+.f64 (*.f64 -1 l) (*.f64 l (log.f64 l))) w) (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 l) (*.f64 -1 (*.f64 l (log.f64 l)))))))) |
(fma.f64 (pow.f64 w 3) (fma.f64 1/2 (*.f64 l (log.f64 l)) (*.f64 l -1/6)) (+.f64 l (fma.f64 (fma.f64 -1 l (*.f64 l (log.f64 l))) w (*.f64 (*.f64 w w) (fma.f64 1/2 l (*.f64 (neg.f64 l) (log.f64 l))))))) |
(fma.f64 (pow.f64 w 3) (fma.f64 (*.f64 l (log.f64 l)) 1/2 (*.f64 l -1/6)) (+.f64 l (fma.f64 (-.f64 (*.f64 l (log.f64 l)) l) w (*.f64 (*.f64 w w) (fma.f64 (neg.f64 l) (log.f64 l) (*.f64 l 1/2)))))) |
(fma.f64 (pow.f64 w 3) (*.f64 l (+.f64 (*.f64 (log.f64 l) 1/2) -1/6)) (fma.f64 (*.f64 l (-.f64 (log.f64 l) 1)) w (fma.f64 (*.f64 w w) (*.f64 l (-.f64 1/2 (log.f64 l))) l))) |
(fma.f64 (pow.f64 w 3) (*.f64 l (+.f64 -1/6 (*.f64 (log.f64 l) 1/2))) (fma.f64 (-.f64 (*.f64 l (log.f64 l)) l) w (fma.f64 (*.f64 w w) (*.f64 l (-.f64 1/2 (log.f64 l))) l))) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (*.f64 w (log.f64 l)))) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (*.f64 (log.f64 l) w))) |
(*.f64 (*.f64 (log.f64 l) w) (/.f64 l (exp.f64 w))) |
(*.f64 l (*.f64 (log.f64 l) (/.f64 w (exp.f64 w)))) |
(+.f64 (*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (*.f64 w (log.f64 l)))) (*.f64 (exp.f64 (neg.f64 w)) l)) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(+.f64 (*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (*.f64 w (log.f64 l)))) (*.f64 (exp.f64 (neg.f64 w)) l)) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(+.f64 (*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (*.f64 w (log.f64 l)))) (*.f64 (exp.f64 (neg.f64 w)) l)) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(*.f64 l (*.f64 w (*.f64 (exp.f64 (*.f64 -1 w)) (log.f64 l)))) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (*.f64 (log.f64 l) w))) |
(*.f64 (*.f64 (log.f64 l) w) (/.f64 l (exp.f64 w))) |
(*.f64 l (*.f64 (log.f64 l) (/.f64 w (exp.f64 w)))) |
(+.f64 (*.f64 l (exp.f64 (*.f64 -1 w))) (*.f64 l (*.f64 w (*.f64 (exp.f64 (*.f64 -1 w)) (log.f64 l))))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(+.f64 (*.f64 l (exp.f64 (*.f64 -1 w))) (*.f64 l (*.f64 w (*.f64 (exp.f64 (*.f64 -1 w)) (log.f64 l))))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(+.f64 (*.f64 l (exp.f64 (*.f64 -1 w))) (*.f64 l (*.f64 w (*.f64 (exp.f64 (*.f64 -1 w)) (log.f64 l))))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 w (log.f64 l))))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 w (log.f64 l))))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 w (log.f64 l))))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 w (log.f64 l))))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(*.f64 (exp.f64 (neg.f64 w)) (*.f64 l (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(*.f64 -1 (*.f64 l (*.f64 (exp.f64 (neg.f64 w)) (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(*.f64 -1 (*.f64 l (*.f64 (exp.f64 (neg.f64 w)) (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(*.f64 -1 (*.f64 l (*.f64 (exp.f64 (neg.f64 w)) (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
(*.f64 -1 (*.f64 l (*.f64 (exp.f64 (neg.f64 w)) (-.f64 (*.f64 -1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) 1)))) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 (*.f64 l (*.f64 (log.f64 l) w)) l)) |
(*.f64 (/.f64 l (exp.f64 w)) (fma.f64 (log.f64 l) w 1)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 l (*.f64 l w)) |
Compiled 12 to 4 computations (66.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | l | @ | 0 | (-.f64 l (*.f64 l w)) |
| 0.0ms | l | @ | inf | (-.f64 l (*.f64 l w)) |
| 0.0ms | l | @ | -inf | (-.f64 l (*.f64 l w)) |
| 0.0ms | w | @ | 0 | (-.f64 l (*.f64 l w)) |
| 0.0ms | w | @ | -inf | (-.f64 l (*.f64 l w)) |
| 1× | batch-egg-rewrite |
| 649× | pow1_binary64 |
| 604× | add-log-exp_binary64 |
| 604× | log1p-expm1-u_binary64 |
| 604× | expm1-log1p-u_binary64 |
| 591× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 7 |
| 1 | 113 | 7 |
| 2 | 1650 | 7 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 l (*.f64 l w)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 l (*.f64 l (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 l (*.f64 (*.f64 l (neg.f64 w)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 l (*.f64 l w)) (fma.f64 (neg.f64 w) l (*.f64 l w)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 l (*.f64 l w)) (fma.f64 (neg.f64 l) w (*.f64 l w)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 l (*.f64 l w)) (fma.f64 (*.f64 l (neg.f64 w)) 1 (*.f64 l w)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 l (*.f64 l w)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 l w))) (pow.f64 (cbrt.f64 (*.f64 l w)) 2) (*.f64 l w)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 l (*.f64 l w)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 l w))) (sqrt.f64 (*.f64 l w)) (*.f64 l w)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 l (neg.f64 w)) l)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (-.f64 1 w))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 l (*.f64 l w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 l (*.f64 l w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 l (*.f64 l w))) (pow.f64 (cbrt.f64 (-.f64 l (*.f64 l w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 l (*.f64 l w))) 2) (cbrt.f64 (-.f64 l (*.f64 l w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 l (*.f64 l w))) (sqrt.f64 (-.f64 l (*.f64 l w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 l 3) (pow.f64 (*.f64 l w) 3)) (/.f64 1 (fma.f64 l l (*.f64 (*.f64 l w) (+.f64 l (*.f64 l w))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 l l) (pow.f64 (*.f64 l w) 2)) (/.f64 1 (+.f64 l (*.f64 l w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 l) (sqrt.f64 (*.f64 l w))) (-.f64 (sqrt.f64 l) (sqrt.f64 (*.f64 l w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 l l (*.f64 (*.f64 l w) (+.f64 l (*.f64 l w)))) (-.f64 (pow.f64 l 3) (pow.f64 (*.f64 l w) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 l (*.f64 l w)) (-.f64 (*.f64 l l) (pow.f64 (*.f64 l w) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 l 3) (pow.f64 (*.f64 l w) 3)) (fma.f64 l l (*.f64 (*.f64 l w) (+.f64 l (*.f64 l w)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 l l) (pow.f64 (*.f64 l w) 2)) (+.f64 l (*.f64 l w)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 l 3) (pow.f64 (*.f64 l w) 3))) (neg.f64 (fma.f64 l l (*.f64 (*.f64 l w) (+.f64 l (*.f64 l w))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 l l) (pow.f64 (*.f64 l w) 2))) (neg.f64 (+.f64 l (*.f64 l w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 l 3) (pow.f64 (*.f64 l (neg.f64 w)) 3)) (+.f64 (*.f64 l l) (-.f64 (*.f64 (*.f64 l (neg.f64 w)) (*.f64 l (neg.f64 w))) (*.f64 l (*.f64 l (neg.f64 w))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 l l) (*.f64 (*.f64 l (neg.f64 w)) (*.f64 l (neg.f64 w)))) (-.f64 l (*.f64 l (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 l (*.f64 l w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 l (*.f64 l w)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 l (*.f64 l w))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 l (*.f64 l w))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 l (*.f64 l w)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 l (*.f64 l w))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 l (*.f64 l w)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 l (*.f64 l w))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 l (*.f64 l w))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 l (*.f64 l w))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 l (*.f64 l (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 l) 2) (cbrt.f64 l) (*.f64 l (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 l) (sqrt.f64 l) (*.f64 l (neg.f64 w))))))) |
| 1× | egg-herbie |
| 124× | fma-def_binary64 |
| 69× | fma-neg_binary64 |
| 20× | cancel-sign-sub-inv_binary64 |
| 18× | associate-*r*_binary64 |
| 18× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 160 |
| 1 | 34 | 160 |
| 2 | 51 | 160 |
| 3 | 88 | 160 |
| 4 | 122 | 160 |
| 5 | 201 | 160 |
| 6 | 340 | 160 |
| 7 | 418 | 160 |
| 8 | 488 | 160 |
| 9 | 494 | 160 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (-.f64 1 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 l (+.f64 1 (*.f64 -1 w))) |
(*.f64 l (+.f64 1 (*.f64 -1 w))) |
(*.f64 l (+.f64 1 (*.f64 -1 w))) |
(*.f64 l (+.f64 1 (*.f64 -1 w))) |
l |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(*.f64 -1 (*.f64 l w)) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(*.f64 -1 (*.f64 l w)) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
| Outputs |
|---|
(*.f64 (-.f64 1 w) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(*.f64 (-.f64 1 w) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(*.f64 l (+.f64 1 (*.f64 -1 w))) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(*.f64 l (+.f64 1 (*.f64 -1 w))) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(*.f64 l (+.f64 1 (*.f64 -1 w))) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(*.f64 l (+.f64 1 (*.f64 -1 w))) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
l |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(*.f64 -1 (*.f64 l w)) |
(neg.f64 (*.f64 w l)) |
(*.f64 l (neg.f64 w)) |
(*.f64 w (neg.f64 l)) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(*.f64 -1 (*.f64 l w)) |
(neg.f64 (*.f64 w l)) |
(*.f64 l (neg.f64 w)) |
(*.f64 w (neg.f64 l)) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(*.f64 l (-.f64 1 w)) |
(-.f64 l (*.f64 w l)) |
(fma.f64 l (neg.f64 w) l) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (exp.f64 (neg.f64 w)) l) |
Compiled 14 to 5 computations (64.3% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | w | @ | 0 | (*.f64 (exp.f64 (neg.f64 w)) l) |
| 0.0ms | l | @ | 0 | (*.f64 (exp.f64 (neg.f64 w)) l) |
| 0.0ms | l | @ | inf | (*.f64 (exp.f64 (neg.f64 w)) l) |
| 0.0ms | w | @ | inf | (*.f64 (exp.f64 (neg.f64 w)) l) |
| 0.0ms | l | @ | -inf | (*.f64 (exp.f64 (neg.f64 w)) l) |
| 1× | batch-egg-rewrite |
| 467× | pow1_binary64 |
| 447× | add-sqr-sqrt_binary64 |
| 441× | *-un-lft-identity_binary64 |
| 428× | add-log-exp_binary64 |
| 427× | log1p-expm1-u_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 8 |
| 1 | 118 | 6 |
| 2 | 1445 | 6 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (exp.f64 (neg.f64 w)) l) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (exp.f64 w) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 l (exp.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 w) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (exp.f64 w) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (exp.f64 w) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (exp.f64 w) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (exp.f64 w) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 l) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (exp.f64 w) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (exp.f64 w) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (exp.f64 w) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 w (log.f64 l))))))) |
| 1× | egg-herbie |
| 741× | distribute-rgt-neg-in_binary64 |
| 633× | distribute-lft-neg-in_binary64 |
| 483× | cancel-sign-sub-inv_binary64 |
| 432× | fma-def_binary64 |
| 391× | fma-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 89 |
| 1 | 70 | 84 |
| 2 | 169 | 84 |
| 3 | 524 | 68 |
| 4 | 2017 | 68 |
| 5 | 5411 | 68 |
| 1× | node limit |
| Inputs |
|---|
l |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(+.f64 (*.f64 -1 (*.f64 l w)) (+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) l)) |
(+.f64 (*.f64 -1 (*.f64 l w)) (+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 l (*.f64 -1/6 (*.f64 l (pow.f64 w 3)))))) |
(*.f64 l (exp.f64 (*.f64 -1 w))) |
(*.f64 l (exp.f64 (*.f64 -1 w))) |
(*.f64 l (exp.f64 (*.f64 -1 w))) |
(*.f64 l (exp.f64 (*.f64 -1 w))) |
| Outputs |
|---|
l |
(+.f64 (*.f64 -1 (*.f64 l w)) l) |
(fma.f64 -1 (*.f64 l w) l) |
(-.f64 l (*.f64 l w)) |
(+.f64 (*.f64 -1 (*.f64 l w)) (+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) l)) |
(fma.f64 -1 (*.f64 l w) (fma.f64 1/2 (*.f64 l (*.f64 w w)) l)) |
(-.f64 (fma.f64 1/2 (*.f64 l (*.f64 w w)) l) (*.f64 l w)) |
(fma.f64 l (*.f64 1/2 (*.f64 w w)) (-.f64 l (*.f64 l w))) |
(fma.f64 l (fma.f64 w (*.f64 w 1/2) (neg.f64 w)) l) |
(*.f64 l (-.f64 (fma.f64 w (*.f64 w 1/2) 1) w)) |
(+.f64 (*.f64 -1 (*.f64 l w)) (+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 l (*.f64 -1/6 (*.f64 l (pow.f64 w 3)))))) |
(fma.f64 -1 (*.f64 l w) (fma.f64 1/2 (*.f64 l (*.f64 w w)) (+.f64 l (*.f64 -1/6 (*.f64 l (pow.f64 w 3)))))) |
(-.f64 (fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) l)) (*.f64 l w)) |
(-.f64 (fma.f64 l (*.f64 1/2 (*.f64 w w)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) l)) (*.f64 l w)) |
(+.f64 l (*.f64 l (-.f64 (*.f64 (*.f64 w w) (+.f64 (*.f64 w -1/6) 1/2)) w))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) |
(*.f64 l (exp.f64 (*.f64 -1 w))) |
(*.f64 l (exp.f64 (neg.f64 w))) |
(/.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 (*.f64 -1 w))) |
(*.f64 l (exp.f64 (neg.f64 w))) |
(/.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 (*.f64 -1 w))) |
(*.f64 l (exp.f64 (neg.f64 w))) |
(/.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 (*.f64 -1 w))) |
(*.f64 l (exp.f64 (neg.f64 w))) |
(/.f64 l (exp.f64 w)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (fma.f64 (log.f64 l) w (-.f64 1 w)) |
| ✓ | 0.3b | (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
Compiled 26 to 13 computations (50% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 29.0ms | w | @ | -inf | (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
| 1.0ms | l | @ | -inf | (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
| 1.0ms | l | @ | 0 | (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
| 1.0ms | l | @ | inf | (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
| 0.0ms | w | @ | inf | (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
| 1× | batch-egg-rewrite |
| 804× | pow1_binary64 |
| 742× | add-log-exp_binary64 |
| 742× | log1p-expm1-u_binary64 |
| 742× | expm1-log1p-u_binary64 |
| 727× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 23 |
| 1 | 160 | 23 |
| 2 | 1962 | 23 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(fma.f64 (log.f64 l) w (-.f64 1 w)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (log.f64 l) w) l) (*.f64 (-.f64 1 w) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 l (*.f64 (log.f64 l) w)) (*.f64 l (-.f64 1 w)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 l) (fma.f64 (log.f64 l) w (-.f64 1 w))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 l 3) (pow.f64 (fma.f64 (log.f64 l) w (-.f64 1 w)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 (log.f64 l) w (-.f64 1 w)) 3) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 w) (*.f64 (log.f64 l) w))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 l) w) (-.f64 1 w))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (log.f64 l) w) 1) (-.f64 1 w))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (log.f64 l) w) 1) (neg.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 (log.f64 l) w (-.f64 1 w))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (log.f64 l) w) 1) w)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (log.f64 l) w (-.f64 1 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (log.f64 l) w (-.f64 1 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (log.f64 l) w (-.f64 1 w))) (pow.f64 (cbrt.f64 (fma.f64 (log.f64 l) w (-.f64 1 w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (log.f64 l) w (-.f64 1 w))) 2) (cbrt.f64 (fma.f64 (log.f64 l) w (-.f64 1 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (log.f64 l) w (-.f64 1 w))) (sqrt.f64 (fma.f64 (log.f64 l) w (-.f64 1 w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (log.f64 l) w) 3) (pow.f64 (-.f64 1 w) 3)) (+.f64 (*.f64 (*.f64 (log.f64 l) w) (*.f64 (log.f64 l) w)) (-.f64 (pow.f64 (-.f64 1 w) 2) (*.f64 (*.f64 (log.f64 l) w) (-.f64 1 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (log.f64 l) w) (*.f64 (log.f64 l) w)) (pow.f64 (-.f64 1 w) 2)) (-.f64 (*.f64 (log.f64 l) w) (-.f64 1 w)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (log.f64 l) w (-.f64 1 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (log.f64 l) w (-.f64 1 w)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (log.f64 l) w (-.f64 1 w))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (log.f64 l) w (-.f64 1 w))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (log.f64 l) w (-.f64 1 w)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (log.f64 l) w (-.f64 1 w))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (log.f64 l) w (-.f64 1 w)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (log.f64 l) w (-.f64 1 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (log.f64 l) w (-.f64 1 w))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (log.f64 l) w (-.f64 1 w)))))))) |
| 1× | egg-herbie |
| 1185× | unsub-neg_binary64 |
| 797× | distribute-rgt-in_binary64 |
| 525× | fma-def_binary64 |
| 453× | distribute-neg-in_binary64 |
| 364× | fma-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 41 | 611 |
| 1 | 115 | 527 |
| 2 | 327 | 527 |
| 3 | 928 | 527 |
| 4 | 2212 | 527 |
| 5 | 4359 | 527 |
| 6 | 6435 | 527 |
| 7 | 7129 | 527 |
| 8 | 7437 | 527 |
| 9 | 7561 | 527 |
| 10 | 7613 | 527 |
| 11 | 7633 | 527 |
| 12 | 7633 | 527 |
| 13 | 7633 | 527 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) l) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w)) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w)) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w)) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w)) |
l |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(*.f64 -1 (*.f64 l (*.f64 (+.f64 (*.f64 -1 (log.f64 l)) 1) w))) |
(+.f64 l (*.f64 -1 (*.f64 l (*.f64 (+.f64 (*.f64 -1 (log.f64 l)) 1) w)))) |
(+.f64 l (*.f64 -1 (*.f64 l (*.f64 (+.f64 (*.f64 -1 (log.f64 l)) 1) w)))) |
(+.f64 l (*.f64 -1 (*.f64 l (*.f64 (+.f64 (*.f64 -1 (log.f64 l)) 1) w)))) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) |
(-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) |
(-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) |
(-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) |
(-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) |
(-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) |
(-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) |
(-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) |
1 |
(+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w)) |
(+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w)) |
(+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w)) |
(*.f64 (-.f64 (log.f64 l) 1) w) |
(+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w)) |
(+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w)) |
(+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w)) |
(*.f64 -1 (*.f64 w (+.f64 (*.f64 -1 (log.f64 l)) 1))) |
(+.f64 1 (*.f64 -1 (*.f64 w (+.f64 (*.f64 -1 (log.f64 l)) 1)))) |
(+.f64 1 (*.f64 -1 (*.f64 w (+.f64 (*.f64 -1 (log.f64 l)) 1)))) |
(+.f64 1 (*.f64 -1 (*.f64 w (+.f64 (*.f64 -1 (log.f64 l)) 1)))) |
| Outputs |
|---|
(*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) l) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) l) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) l) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(*.f64 (-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) l) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w)) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w)) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w)) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w)) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
l |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 w l)) |
(*.f64 l (-.f64 (*.f64 w (log.f64 l)) w)) |
(*.f64 w (*.f64 l (+.f64 (log.f64 l) -1))) |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(*.f64 -1 (*.f64 l (*.f64 (+.f64 (*.f64 -1 (log.f64 l)) 1) w))) |
(*.f64 (+.f64 (log.f64 l) -1) (*.f64 w l)) |
(*.f64 l (-.f64 (*.f64 w (log.f64 l)) w)) |
(*.f64 w (*.f64 l (+.f64 (log.f64 l) -1))) |
(+.f64 l (*.f64 -1 (*.f64 l (*.f64 (+.f64 (*.f64 -1 (log.f64 l)) 1) w)))) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(+.f64 l (*.f64 -1 (*.f64 l (*.f64 (+.f64 (*.f64 -1 (log.f64 l)) 1) w)))) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(+.f64 l (*.f64 -1 (*.f64 l (*.f64 (+.f64 (*.f64 -1 (log.f64 l)) 1) w)))) |
(*.f64 l (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w)) |
(*.f64 l (-.f64 (fma.f64 w (log.f64 l) 1) w)) |
(fma.f64 l (-.f64 (*.f64 w (log.f64 l)) w) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(-.f64 (+.f64 1 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) w))) w) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(-.f64 (+.f64 1 (*.f64 w (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))))) w) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
1 |
(+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w)) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w)) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w)) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(*.f64 (-.f64 (log.f64 l) 1) w) |
(*.f64 w (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 w (log.f64 l)) w) |
(fma.f64 w (log.f64 l) (neg.f64 w)) |
(+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w)) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w)) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(+.f64 1 (*.f64 (-.f64 (log.f64 l) 1) w)) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(*.f64 -1 (*.f64 w (+.f64 (*.f64 -1 (log.f64 l)) 1))) |
(*.f64 w (+.f64 (log.f64 l) -1)) |
(-.f64 (*.f64 w (log.f64 l)) w) |
(fma.f64 w (log.f64 l) (neg.f64 w)) |
(+.f64 1 (*.f64 -1 (*.f64 w (+.f64 (*.f64 -1 (log.f64 l)) 1)))) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(+.f64 1 (*.f64 -1 (*.f64 w (+.f64 (*.f64 -1 (log.f64 l)) 1)))) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
(+.f64 1 (*.f64 -1 (*.f64 w (+.f64 (*.f64 -1 (log.f64 l)) 1)))) |
(-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) |
(-.f64 (fma.f64 w (log.f64 l) 1) w) |
(fma.f64 w (log.f64 l) (-.f64 1 w)) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (/.f64 (expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) (exp.f64 w)) |
| 0.2b | (pow.f64 l (exp.f64 w)) | |
| ✓ | 2.1b | (expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) |
Compiled 30 to 7 computations (76.7% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | l | @ | 0 | (expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) |
| 0.0ms | w | @ | 0 | (/.f64 (expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) (exp.f64 w)) |
| 0.0ms | w | @ | 0 | (expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) |
| 0.0ms | l | @ | -inf | (expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) |
| 0.0ms | l | @ | inf | (expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) |
| 1× | batch-egg-rewrite |
| 738× | pow1_binary64 |
| 682× | add-log-exp_binary64 |
| 682× | expm1-log1p-u_binary64 |
| 681× | log1p-expm1-u_binary64 |
| 664× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 17 |
| 1 | 145 | 17 |
| 2 | 1846 | 17 |
| 1× | node limit |
| Inputs |
|---|
(expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) |
(/.f64 (expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) (exp.f64 w)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (pow.f64 l (exp.f64 w)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 l (exp.f64 w)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 l (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) (cbrt.f64 (pow.f64 (*.f64 l l) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 l l) (exp.f64 w))) (cbrt.f64 (pow.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (sqrt.f64 (pow.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 (exp.f64 w)) (pow.f64 l (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 l) 2) (exp.f64 w)) (pow.f64 (cbrt.f64 l) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 l) (exp.f64 w)) (pow.f64 (sqrt.f64 l) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 l (exp.f64 w)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (pow.f64 l (exp.f64 w)) 1) (+.f64 (pow.f64 l (exp.f64 w)) 1)) (+.f64 1 (*.f64 (+.f64 (pow.f64 l (exp.f64 w)) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (pow.f64 l (exp.f64 w)) 1) (+.f64 (pow.f64 l (exp.f64 w)) 1)) 1) (+.f64 (+.f64 (pow.f64 l (exp.f64 w)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 l (exp.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 l (+.f64 (*.f64 (exp.f64 w) 1/2) (*.f64 (exp.f64 w) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 l (*.f64 2 (*.f64 (exp.f64 w) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 l (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 l (exp.f64 w)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l l) (*.f64 (exp.f64 w) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 l (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (cbrt.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 l (sqrt.f64 (exp.f64 w))) (sqrt.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 l l) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 l (exp.f64 w)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (exp.f64 w) (log.f64 l))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (pow.f64 l (exp.f64 w)) 1) (exp.f64 w)) (exp.f64 (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 l l) (exp.f64 w))) (*.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) (exp.f64 (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 l (exp.f64 w))) (/.f64 1 (neg.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (*.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (exp.f64 (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 l l) (exp.f64 w))) 1) (/.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) 1) (/.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (/.f64 (pow.f64 l (exp.f64 w)) (cbrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 l l) (exp.f64 w))) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (/.f64 (sqrt.f64 (pow.f64 l (exp.f64 w))) (cbrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (exp.f64 w))) (/.f64 (pow.f64 l (exp.f64 w)) (sqrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 l l) (exp.f64 w))) (sqrt.f64 (exp.f64 w))) (/.f64 (cbrt.f64 (pow.f64 l (exp.f64 w))) (sqrt.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (exp.f64 w) (pow.f64 l (exp.f64 w))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 l (exp.f64 w)) (neg.f64 (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (pow.f64 l (exp.f64 w)) 3) (pow.f64 (exp.f64 w) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)))))) |
| 1× | egg-herbie |
| 711× | cancel-sign-sub-inv_binary64 |
| 498× | fma-def_binary64 |
| 481× | fma-neg_binary64 |
| 395× | distribute-rgt-out_binary64 |
| 301× | distribute-lft-out_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 75 | 652 |
| 1 | 230 | 634 |
| 2 | 795 | 621 |
| 3 | 4198 | 604 |
| 1× | node limit |
| Inputs |
|---|
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
l |
(+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) |
(+.f64 l (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2))))) (*.f64 l (*.f64 w (log.f64 l))))) |
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (*.f64 l (pow.f64 w 3))) (+.f64 l (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2))))) (*.f64 l (*.f64 w (log.f64 l)))))) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
l |
(+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l))) (pow.f64 w 2)) (+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)))) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l))) (pow.f64 w 2)) (+.f64 l (+.f64 (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) (*.f64 (-.f64 (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (*.f64 1/2 l))) (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 l (+.f64 (*.f64 1/6 l) (*.f64 1/2 (-.f64 (*.f64 l (log.f64 l)) l)))))) (pow.f64 w 3))))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
| Outputs |
|---|
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
(exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) |
(pow.f64 l (exp.f64 w)) |
l |
(+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) |
(+.f64 l (*.f64 l (*.f64 (log.f64 l) w))) |
(fma.f64 l (*.f64 (log.f64 l) w) l) |
(fma.f64 (log.f64 l) (*.f64 l w) l) |
(*.f64 l (fma.f64 (log.f64 l) w 1)) |
(+.f64 l (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2))))) (*.f64 l (*.f64 w (log.f64 l))))) |
(+.f64 l (*.f64 l (+.f64 (*.f64 (*.f64 w w) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)))) (*.f64 (log.f64 l) w)))) |
(fma.f64 l (fma.f64 (*.f64 w w) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (*.f64 (log.f64 l) w)) l) |
(fma.f64 l (*.f64 w (+.f64 (log.f64 l) (*.f64 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)) (*.f64 1/2 w)))) l) |
(fma.f64 l (*.f64 (log.f64 l) (+.f64 (*.f64 (*.f64 w (*.f64 w 1/2)) (+.f64 (log.f64 l) 1)) w)) l) |
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (*.f64 l (pow.f64 w 3))) (+.f64 l (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2))))) (*.f64 l (*.f64 w (log.f64 l)))))) |
(fma.f64 (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 1/6 (log.f64 l) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (*.f64 l (pow.f64 w 3)) (+.f64 l (*.f64 l (+.f64 (*.f64 (*.f64 w w) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)))) (*.f64 (log.f64 l) w))))) |
(fma.f64 (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 (log.f64 l) 1/6 (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (*.f64 l (pow.f64 w 3)) (fma.f64 l (fma.f64 (*.f64 w w) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (*.f64 (log.f64 l) w)) l)) |
(fma.f64 l (*.f64 w (+.f64 (log.f64 l) (*.f64 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)) (*.f64 1/2 w)))) (fma.f64 (pow.f64 w 3) (*.f64 l (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (*.f64 (log.f64 l) (+.f64 (*.f64 (log.f64 l) 1/2) 1/6)))) l)) |
(fma.f64 l (*.f64 (log.f64 l) (+.f64 (*.f64 (*.f64 w (*.f64 w 1/2)) (+.f64 (log.f64 l) 1)) w)) (fma.f64 l (*.f64 (*.f64 (log.f64 l) (+.f64 1/6 (*.f64 (log.f64 l) (+.f64 (*.f64 (log.f64 l) 1/6) 1/2)))) (pow.f64 w 3)) l)) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(pow.f64 l (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (log.f64 l) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w)))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
l |
(+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
(+.f64 l (*.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)))) |
(fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) l) |
(fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l))) (pow.f64 w 2)) (+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)))) |
(fma.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 l (log.f64 l) (*.f64 l 1/2))) (*.f64 w w) (+.f64 l (*.f64 w (fma.f64 l (log.f64 l) (neg.f64 l))))) |
(fma.f64 (*.f64 w w) (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (-.f64 l (*.f64 l (+.f64 (log.f64 l) 1/2)))) (fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) l)) |
(fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) (fma.f64 w (*.f64 w (+.f64 l (*.f64 l (-.f64 (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/2))) (+.f64 (log.f64 l) 1/2))))) l)) |
(fma.f64 w (*.f64 w (-.f64 (*.f64 l 1/2) (*.f64 l (*.f64 (log.f64 l) (-.f64 1 (*.f64 1/2 (+.f64 (log.f64 l) 1))))))) (fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) l)) |
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (+.f64 (*.f64 l (log.f64 l)) (*.f64 1/2 l))) (pow.f64 w 2)) (+.f64 l (+.f64 (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l)) (*.f64 (-.f64 (+.f64 (*.f64 l (log.f64 l)) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (log.f64 l) 3)) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) l) (*.f64 1/2 l))) (+.f64 (*.f64 l (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) (+.f64 l (+.f64 (*.f64 1/6 l) (*.f64 1/2 (-.f64 (*.f64 l (log.f64 l)) l)))))) (pow.f64 w 3))))) |
(fma.f64 (-.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 l (log.f64 l) (*.f64 l 1/2))) (*.f64 w w) (+.f64 l (fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) (*.f64 (pow.f64 w 3) (-.f64 (fma.f64 l (log.f64 l) (*.f64 l (+.f64 (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 1/6 (log.f64 l) (*.f64 1/2 (pow.f64 (log.f64 l) 2)))) 1/2))) (+.f64 (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) l) (fma.f64 1/6 l (*.f64 1/2 (fma.f64 l (log.f64 l) (neg.f64 l)))))))))) |
(+.f64 (fma.f64 (*.f64 w w) (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (-.f64 l (*.f64 l (+.f64 (log.f64 l) 1/2)))) (fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) l)) (*.f64 (pow.f64 w 3) (-.f64 (*.f64 l (+.f64 (log.f64 l) (+.f64 1/2 (fma.f64 1/6 (pow.f64 (log.f64 l) 3) (fma.f64 (log.f64 l) 1/6 (*.f64 1/2 (pow.f64 (log.f64 l) 2))))))) (fma.f64 l (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (+.f64 (*.f64 1/2 (fma.f64 l (log.f64 l) (neg.f64 l))) (*.f64 7/6 l)))))) |
(fma.f64 w (*.f64 w (+.f64 l (*.f64 l (-.f64 (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/2))) (+.f64 (log.f64 l) 1/2))))) (fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) (fma.f64 (pow.f64 w 3) (-.f64 (*.f64 l (+.f64 (log.f64 l) (fma.f64 1/6 (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 3)) (fma.f64 1/2 (pow.f64 (log.f64 l) 2) 1/2)))) (fma.f64 7/6 l (*.f64 1/2 (+.f64 (-.f64 (*.f64 l (log.f64 l)) l) (*.f64 l (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))))))) l))) |
(fma.f64 w (*.f64 w (-.f64 (*.f64 l 1/2) (*.f64 l (*.f64 (log.f64 l) (-.f64 1 (*.f64 1/2 (+.f64 (log.f64 l) 1))))))) (fma.f64 w (fma.f64 l (log.f64 l) (neg.f64 l)) (fma.f64 (pow.f64 w 3) (+.f64 (*.f64 l (-.f64 (+.f64 (log.f64 l) (*.f64 (+.f64 (pow.f64 (log.f64 l) 2) 1) (+.f64 (*.f64 (log.f64 l) 1/6) 1/2))) 7/6)) (*.f64 -1/2 (*.f64 l (+.f64 (+.f64 (log.f64 l) -1) (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2)))))) l))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
Compiled 4785 to 2062 computations (56.9% saved)
24 alts after pruning (18 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 371 | 10 | 381 |
| Fresh | 4 | 8 | 12 |
| Picked | 0 | 1 | 1 |
| Done | 2 | 5 | 7 |
| Total | 377 | 24 | 401 |
| Status | Error | Program |
|---|---|---|
| ▶ | 4.6b | (pow.f64 (exp.f64 1) (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| ✓ | 14.8b | (-.f64 l (*.f64 l w)) |
| ▶ | 61.2b | (*.f64 w (neg.f64 l)) |
| 6.6b | (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) 2)) (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w))) | |
| ✓ | 1.5b | (/.f64 l (exp.f64 w)) |
| ▶ | 38.5b | (-.f64 (+.f64 1 (*.f64 (exp.f64 w) l)) 1) |
| 47.3b | (exp.f64 (neg.f64 w)) | |
| ✓ | 1.4b | (/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
| ✓ | 2.3b | (/.f64 (expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) (exp.f64 w)) |
| ▶ | 15.0b | (+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) |
| ▶ | 5.0b | (exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) w)) |
| 14.4b | (+.f64 l (*.f64 w (*.f64 (-.f64 (log.f64 l) 1) l))) | |
| 14.4b | (*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) | |
| 43.8b | (/.f64 (pow.f64 l 3) (*.f64 l l)) | |
| 61.3b | (*.f64 w (*.f64 l (+.f64 (log.f64 l) -1))) | |
| 31.5b | (/.f64 (*.f64 l l) l) | |
| 14.5b | l | |
| 14.9b | (+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 l 1/2)) l))) | |
| 43.8b | (/.f64 1 (/.f64 (*.f64 l l) (pow.f64 l 3))) | |
| 4.6b | (exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) | |
| ✓ | 0.2b | (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
| ✓ | 1.4b | (*.f64 (exp.f64 (neg.f64 w)) (+.f64 l (*.f64 l (*.f64 w (log.f64 l))))) |
| 10.4b | (/.f64 (fma.f64 l (*.f64 (*.f64 (log.f64 l) (+.f64 1/6 (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/6))))) (pow.f64 w 3)) (fma.f64 l (*.f64 (log.f64 l) (+.f64 w (*.f64 (*.f64 w (*.f64 w 1/2)) (+.f64 (log.f64 l) 1)))) l)) (exp.f64 w)) | |
| 31.6b | (/.f64 1 (/.f64 l (*.f64 l l))) |
Compiled 521 to 339 computations (34.9% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w) | |
| 0.0b | (*.f64 (exp.f64 w) (log.f64 l)) | |
| ✓ | 4.6b | (pow.f64 (exp.f64 1) (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
Compiled 33 to 12 computations (63.6% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 12.0ms | l | @ | 0 | (pow.f64 (exp.f64 1) (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| 1.0ms | w | @ | 0 | (pow.f64 (exp.f64 1) (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| 1.0ms | l | @ | -inf | (pow.f64 (exp.f64 1) (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| 1.0ms | l | @ | inf | (pow.f64 (exp.f64 1) (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| 0.0ms | w | @ | inf | (pow.f64 (exp.f64 1) (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| 1× | batch-egg-rewrite |
| 986× | pow1_binary64 |
| 915× | add-log-exp_binary64 |
| 912× | log1p-expm1-u_binary64 |
| 912× | expm1-log1p-u_binary64 |
| 101× | add-sqr-sqrt_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 13 |
| 1 | 200 | 11 |
| 2 | 2540 | 11 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 (exp.f64 1) (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l (exp.f64 w)) (exp.f64 (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l (exp.f64 w)) (/.f64 1 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l (exp.f64 w)) (pow.f64 (E.f64) (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 (fma.f64 (exp.f64 w) (log.f64 l) (neg.f64 w))) (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (exp.f64 2)) (fma.f64 (exp.f64 w) (log.f64 l) (neg.f64 w))) (pow.f64 (cbrt.f64 (E.f64)) (fma.f64 (exp.f64 w) (log.f64 l) (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (E.f64)) (fma.f64 (exp.f64 w) (log.f64 l) (neg.f64 w))) (pow.f64 (sqrt.f64 (E.f64)) (fma.f64 (exp.f64 w) (log.f64 l) (neg.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (exp.f64 w) (pow.f64 l (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 l (exp.f64 w))) (neg.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 (exp.f64 w) (log.f64 l) (neg.f64 w))))))) |
| 1× | egg-herbie |
| 692× | associate-+l+_binary64 |
| 658× | distribute-rgt-in_binary64 |
| 633× | distribute-lft-in_binary64 |
| 513× | associate-+r+_binary64 |
| 419× | *-commutative_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 57 | 398 |
| 1 | 163 | 356 |
| 2 | 459 | 348 |
| 3 | 2238 | 342 |
| 1× | node limit |
| Inputs |
|---|
l |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(+.f64 l (+.f64 (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (-.f64 (log.f64 l) 1) 2))))))) |
(+.f64 l (+.f64 (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (-.f64 (log.f64 l) 1) 2))))) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (log.f64 l) 1) (log.f64 l))) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/6 (pow.f64 (-.f64 (log.f64 l) 1) 3)))) (*.f64 l (pow.f64 w 3)))))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
| Outputs |
|---|
l |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(+.f64 l (*.f64 (+.f64 (log.f64 l) -1) (*.f64 l w))) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 l w) l) |
(+.f64 l (+.f64 (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (-.f64 (log.f64 l) 1) 2))))))) |
(+.f64 l (fma.f64 (+.f64 (log.f64 l) -1) (*.f64 l w) (*.f64 l (*.f64 (*.f64 w w) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2))))))) |
(+.f64 l (fma.f64 l (*.f64 (*.f64 (*.f64 w w) 1/2) (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2))) (*.f64 l (*.f64 w (+.f64 (log.f64 l) -1))))) |
(fma.f64 (*.f64 l (*.f64 w (*.f64 w 1/2))) (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)) (fma.f64 (+.f64 (log.f64 l) -1) (*.f64 l w) l)) |
(+.f64 l (*.f64 l (*.f64 w (+.f64 (*.f64 1/2 (*.f64 w (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)))) (+.f64 (log.f64 l) -1))))) |
(+.f64 l (+.f64 (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (-.f64 (log.f64 l) 1) 2))))) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (log.f64 l) 1) (log.f64 l))) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/6 (pow.f64 (-.f64 (log.f64 l) 1) 3)))) (*.f64 l (pow.f64 w 3)))))) |
(+.f64 l (fma.f64 (+.f64 (log.f64 l) -1) (*.f64 l w) (fma.f64 l (*.f64 (*.f64 w w) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)))) (*.f64 (fma.f64 1/2 (*.f64 (log.f64 l) (+.f64 (log.f64 l) -1)) (*.f64 1/6 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 3)))) (*.f64 l (pow.f64 w 3)))))) |
(+.f64 (fma.f64 (+.f64 (log.f64 l) -1) (*.f64 l w) l) (fma.f64 l (*.f64 (*.f64 (*.f64 w w) 1/2) (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2))) (*.f64 (fma.f64 1/2 (*.f64 (log.f64 l) (+.f64 (log.f64 l) -1)) (*.f64 1/6 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 3)))) (*.f64 l (pow.f64 w 3))))) |
(+.f64 (fma.f64 (+.f64 (log.f64 l) -1) (*.f64 l w) l) (*.f64 l (+.f64 (*.f64 w (*.f64 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)) (*.f64 1/2 w))) (*.f64 (fma.f64 (log.f64 l) (+.f64 (*.f64 (log.f64 l) 1/2) -1/3) (*.f64 1/6 (pow.f64 (+.f64 (log.f64 l) -1) 3))) (pow.f64 w 3))))) |
(+.f64 l (*.f64 l (+.f64 (-.f64 (*.f64 (log.f64 l) w) w) (*.f64 (*.f64 w w) (+.f64 (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2))) (*.f64 w (fma.f64 (log.f64 l) (+.f64 (*.f64 (log.f64 l) 1/2) -1/3) (*.f64 1/6 (pow.f64 (+.f64 (log.f64 l) -1) 3))))))))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (exp.f64 w)) (*.f64 -1 w))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (exp.f64 w))) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (exp.f64 w)) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (exp.f64 w)) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
Compiled 10 to 4 computations (60% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 1/2 (*.f64 w -1/6)) |
| ✓ | 0.0b | (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l)) |
| ✓ | 0.1b | (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) |
| ✓ | 0.4b | (*.f64 w -1/6) |
Compiled 65 to 37 computations (43.1% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | l | @ | 0 | (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) |
| 1.0ms | w | @ | inf | (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) |
| 1.0ms | w | @ | -inf | (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) |
| 1.0ms | l | @ | -inf | (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l)) |
| 1.0ms | w | @ | -inf | (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l)) |
| 1× | batch-egg-rewrite |
| 654× | log-prod_binary64 |
| 485× | fma-def_binary64 |
| 330× | pow2_binary64 |
| 243× | fma-neg_binary64 |
| 231× | pow1/3_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 43 |
| 1 | 251 | 37 |
| 2 | 3539 | 37 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 w -1/6) |
(*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) |
(*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l)) |
(+.f64 1/2 (*.f64 w -1/6)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 w -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) w)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) w))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) w))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) w))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 w -1/6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 w -1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 w -1/6) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 w -1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 w -1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 w 3) -1/216) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 w -1/6) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/6) w))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 w -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 w 3) -1/216))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 w -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 w -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 w -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 w -1/6)) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 w l) 1/2) (*.f64 (*.f64 w -1/6) (*.f64 w l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 w -1/6) (*.f64 w l)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 w l) 1/2) 1) (*.f64 (*.f64 (*.f64 w -1/6) (*.f64 w l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (*.f64 w (fma.f64 w -1/6 1/2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 l) (*.f64 w (fma.f64 w -1/6 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (*.f64 w (fma.f64 w -1/6 1/2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 l) (*.f64 w (fma.f64 w -1/6 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (*.f64 w l) 1/2) 3) (pow.f64 (*.f64 (*.f64 w -1/6) (*.f64 w l)) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 w l) 1/2) 2) (-.f64 (pow.f64 (*.f64 (*.f64 w -1/6) (*.f64 w l)) 2) (*.f64 (*.f64 (*.f64 w l) 1/2) (*.f64 (*.f64 w -1/6) (*.f64 w l))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 w l) 1/2) 2) (pow.f64 (*.f64 (*.f64 w -1/6) (*.f64 w l)) 2)) (-.f64 (*.f64 (*.f64 w l) 1/2) (*.f64 (*.f64 w -1/6) (*.f64 w l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 w 3) -1/216 1/8) (*.f64 w l)) (fma.f64 (*.f64 w -1/6) (fma.f64 w -1/6 -1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1/4 (pow.f64 (*.f64 w -1/6) 2)) (*.f64 w l)) (-.f64 1/2 (*.f64 w -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 w l) (fma.f64 (pow.f64 w 3) -1/216 1/8)) (fma.f64 (*.f64 w -1/6) (fma.f64 w -1/6 -1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 w l) (-.f64 1/4 (pow.f64 (*.f64 w -1/6) 2))) (-.f64 1/2 (*.f64 w -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 l) (*.f64 w (fma.f64 w -1/6 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 w -1/6) (*.f64 w l))) (exp.f64 (*.f64 (*.f64 w l) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 w (*.f64 l (*.f64 w -1/6)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 w (*.f64 -1/6 (*.f64 w l)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 w (*.f64 l 1/2) (*.f64 (*.f64 w -1/6) (*.f64 w l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/6 (*.f64 w (*.f64 w l)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 w -1/6) (*.f64 w l) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l (*.f64 w (*.f64 w -1/6)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l (*.f64 w 1/2) (*.f64 (*.f64 w -1/6) (*.f64 w l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 w l) (*.f64 w -1/6) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 w l) 1/2 (*.f64 (*.f64 w -1/6) (*.f64 w l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 w l) (*.f64 (*.f64 w -1/6) (*.f64 w l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 w l) 1/2) (*.f64 (*.f64 w -1/6) (*.f64 w l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 w -1/6) (*.f64 w l)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 w l) 2)) (*.f64 (cbrt.f64 (*.f64 w l)) (*.f64 w -1/6)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 w l) 2)) (*.f64 (cbrt.f64 (*.f64 w l)) 1/2) (*.f64 (*.f64 w -1/6) (*.f64 w l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 w -1/6)) 2) (*.f64 (cbrt.f64 (*.f64 w -1/6)) (*.f64 w l)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 w l)) (*.f64 (sqrt.f64 (*.f64 w l)) (*.f64 w -1/6)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 w l)) (*.f64 (sqrt.f64 (*.f64 w l)) 1/2) (*.f64 (*.f64 w -1/6) (*.f64 w l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 w -1/6)) (*.f64 (sqrt.f64 (*.f64 w -1/6)) (*.f64 w l)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 w l) 1/2) 1 (*.f64 (*.f64 (*.f64 w -1/6) (*.f64 w l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 w -1/6) (*.f64 w l))) 2) (cbrt.f64 (*.f64 (*.f64 w -1/6) (*.f64 w l))) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 w l) 1/2)) 2) (cbrt.f64 (*.f64 (*.f64 w l) 1/2)) (*.f64 (*.f64 w -1/6) (*.f64 w l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 w -1/6) (*.f64 w l))) (sqrt.f64 (*.f64 (*.f64 w -1/6) (*.f64 w l))) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 w l) 1/2)) (sqrt.f64 (*.f64 (*.f64 w l) 1/2)) (*.f64 (*.f64 w -1/6) (*.f64 w l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 w l)) (sqrt.f64 (*.f64 w -1/6))) (*.f64 (sqrt.f64 (*.f64 w l)) (sqrt.f64 (*.f64 w -1/6))) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 w -1/6)) (sqrt.f64 (*.f64 w l))) (*.f64 (sqrt.f64 (*.f64 w -1/6)) (sqrt.f64 (*.f64 w l))) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 w -1/6) w) l (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 w) l (*.f64 (*.f64 w -1/6) (*.f64 w l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 w l) w) -1/6 (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 w l) -1/6) w (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 w l) (pow.f64 (cbrt.f64 (*.f64 w -1/6)) 2)) (cbrt.f64 (*.f64 w -1/6)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 w l) (sqrt.f64 (*.f64 w -1/6))) (sqrt.f64 (*.f64 w -1/6)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 w -1/6) l) w (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 w -1/6) (cbrt.f64 (pow.f64 (*.f64 w l) 2))) (cbrt.f64 (*.f64 w l)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 w -1/6) (sqrt.f64 (*.f64 w l))) (sqrt.f64 (*.f64 w l)) (*.f64 (*.f64 w l) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 l) w (*.f64 (*.f64 w -1/6) (*.f64 w l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 w l) 2))) (cbrt.f64 (*.f64 w l)) (*.f64 (*.f64 w -1/6) (*.f64 w l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (sqrt.f64 (*.f64 w l))) (sqrt.f64 (*.f64 w l)) (*.f64 (*.f64 w -1/6) (*.f64 w l))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) w) (*.f64 (neg.f64 l) w))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 w (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2)))) (*.f64 w (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 w) (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 w) (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 w) (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 w) (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) 3) (pow.f64 l 3)) w) (fma.f64 l (fma.f64 w (*.f64 l (fma.f64 w -1/6 1/2)) l) (pow.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) 2) (*.f64 l l)) w) (fma.f64 w (*.f64 l (fma.f64 w -1/6 1/2)) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 w (-.f64 (pow.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) 3) (pow.f64 l 3))) (fma.f64 l (fma.f64 w (*.f64 l (fma.f64 w -1/6 1/2)) l) (pow.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 w (-.f64 (pow.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) 2) (*.f64 l l))) (fma.f64 w (*.f64 l (fma.f64 w -1/6 1/2)) l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 w 3) (pow.f64 (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l)) 3) (pow.f64 w 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 w) (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 w 3) (pow.f64 (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l)) 3) (pow.f64 w 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 w (fma.f64 l (*.f64 w (fma.f64 w -1/6 1/2)) (neg.f64 l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 w (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) (*.f64 w (neg.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 l (*.f64 w (fma.f64 w -1/6 1/2))) w (*.f64 (neg.f64 l) w)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 w -1/6 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/4 (-.f64 1/2 (*.f64 w -1/6))) (/.f64 (pow.f64 (*.f64 w -1/6) 2) (-.f64 1/2 (*.f64 w -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 w -1/6 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 w -1/6 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 w -1/6 1/2)) (pow.f64 (cbrt.f64 (fma.f64 w -1/6 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 w -1/6 1/2)) 2) (cbrt.f64 (fma.f64 w -1/6 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 w -1/6 1/2)) (sqrt.f64 (fma.f64 w -1/6 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 w 3) -1/216 1/8) (/.f64 1 (fma.f64 (*.f64 w -1/6) (fma.f64 w -1/6 -1/2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1/4 (pow.f64 (*.f64 w -1/6) 2)) (/.f64 1 (-.f64 1/2 (*.f64 w -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 w -1/6) (fma.f64 w -1/6 -1/2) 1/4) (fma.f64 (pow.f64 w 3) -1/216 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1/2 (*.f64 w -1/6)) (-.f64 1/4 (pow.f64 (*.f64 w -1/6) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 w 3) -1/216 1/8) (fma.f64 (*.f64 w -1/6) (fma.f64 w -1/6 -1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 w 3) -1/216 1/8) (fma.f64 (*.f64 w w) 1/36 (-.f64 1/4 (*.f64 -1/12 w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1/4 (pow.f64 (*.f64 w -1/6) 2)) (-.f64 1/2 (*.f64 w -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 w 3) -1/216 1/8)) (neg.f64 (fma.f64 (*.f64 w -1/6) (fma.f64 w -1/6 -1/2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1/4 (pow.f64 (*.f64 w -1/6) 2))) (neg.f64 (-.f64 1/2 (*.f64 w -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 w w) 1/36 -1/4) (fma.f64 w -1/6 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 w -1/6 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 w -1/6 1/2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 w -1/6 1/2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 w -1/6 1/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 w -1/6 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 w -1/6) (fma.f64 w -1/6 -1/2) 1/4) (fma.f64 (pow.f64 w 3) -1/216 1/8)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1/2 (*.f64 w -1/6)) (-.f64 1/4 (pow.f64 (*.f64 w -1/6) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 w -1/6 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 w -1/6 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 w -1/6 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 w -1/6 1/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 w -1/6 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 w -1/6 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 w -1/6 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 w -1/6 1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 w -1/6 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/6 w 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 w -1/6) 1 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 w -1/6) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 w) 2) (*.f64 (cbrt.f64 w) -1/6) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 w -1/6)) (pow.f64 (cbrt.f64 (*.f64 w -1/6)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 w -1/6)) 2) (cbrt.f64 (*.f64 w -1/6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 w) (*.f64 (sqrt.f64 w) -1/6) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 w -1/6)) (sqrt.f64 (*.f64 w -1/6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (pow.f64 (cbrt.f64 w) 2)) (cbrt.f64 w) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (sqrt.f64 w)) (sqrt.f64 w) 1/2))))) |
| 1× | egg-herbie |
| 557× | fma-def_binary64 |
| 474× | unswap-sqr_binary64 |
| 438× | distribute-rgt-neg-in_binary64 |
| 411× | fma-neg_binary64 |
| 336× | cancel-sign-sub-inv_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 988 |
| 1 | 113 | 910 |
| 2 | 363 | 697 |
| 3 | 1238 | 695 |
| 4 | 3321 | 695 |
| 5 | 5556 | 695 |
| 6 | 6829 | 695 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 1/2 (*.f64 l w)) |
(+.f64 (*.f64 -1/6 (*.f64 l (pow.f64 w 2))) (*.f64 1/2 (*.f64 l w))) |
(+.f64 (*.f64 -1/6 (*.f64 l (pow.f64 w 2))) (*.f64 1/2 (*.f64 l w))) |
(+.f64 (*.f64 -1/6 (*.f64 l (pow.f64 w 2))) (*.f64 1/2 (*.f64 l w))) |
(*.f64 -1/6 (*.f64 l (pow.f64 w 2))) |
(+.f64 (*.f64 1/2 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 2)))) |
(+.f64 (*.f64 1/2 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 2)))) |
(+.f64 (*.f64 1/2 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 2)))) |
(*.f64 -1/6 (*.f64 l (pow.f64 w 2))) |
(+.f64 (*.f64 1/2 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 2)))) |
(+.f64 (*.f64 1/2 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 2)))) |
(+.f64 (*.f64 1/2 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 2)))) |
(*.f64 -1 (*.f64 l w)) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (*.f64 -1 (*.f64 l w))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 (*.f64 -1 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 (*.f64 -1 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(*.f64 -1/6 (*.f64 l (pow.f64 w 3))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (*.f64 -1/6 (*.f64 l (pow.f64 w 3)))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 (*.f64 -1 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 (*.f64 -1 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(*.f64 -1/6 (*.f64 l (pow.f64 w 3))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (*.f64 -1/6 (*.f64 l (pow.f64 w 3)))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 (*.f64 -1 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 (*.f64 -1 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(*.f64 -1 (*.f64 l (*.f64 w (+.f64 (*.f64 -1 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) 1)))) |
(*.f64 -1 (*.f64 l (*.f64 w (+.f64 (*.f64 -1 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) 1)))) |
(*.f64 -1 (*.f64 l (*.f64 w (+.f64 (*.f64 -1 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) 1)))) |
(*.f64 -1 (*.f64 l (*.f64 w (+.f64 (*.f64 -1 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) 1)))) |
1/2 |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(*.f64 -1/6 w) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(*.f64 -1/6 w) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 1/2 (*.f64 -1/6 w)) |
| Outputs |
|---|
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 -1/6 w) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 l (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 1/2 (*.f64 l w)) |
(*.f64 1/2 (*.f64 w l)) |
(*.f64 w (*.f64 l 1/2)) |
(*.f64 l (*.f64 w 1/2)) |
(+.f64 (*.f64 -1/6 (*.f64 l (pow.f64 w 2))) (*.f64 1/2 (*.f64 l w))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(+.f64 (*.f64 -1/6 (*.f64 l (pow.f64 w 2))) (*.f64 1/2 (*.f64 l w))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(+.f64 (*.f64 -1/6 (*.f64 l (pow.f64 w 2))) (*.f64 1/2 (*.f64 l w))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 -1/6 (*.f64 l (pow.f64 w 2))) |
(*.f64 -1/6 (*.f64 l (*.f64 w w))) |
(*.f64 -1/6 (*.f64 w (*.f64 w l))) |
(*.f64 w (*.f64 -1/6 (*.f64 w l))) |
(+.f64 (*.f64 1/2 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 2)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(+.f64 (*.f64 1/2 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 2)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(+.f64 (*.f64 1/2 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 2)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 -1/6 (*.f64 l (pow.f64 w 2))) |
(*.f64 -1/6 (*.f64 l (*.f64 w w))) |
(*.f64 -1/6 (*.f64 w (*.f64 w l))) |
(*.f64 w (*.f64 -1/6 (*.f64 w l))) |
(+.f64 (*.f64 1/2 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 2)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(+.f64 (*.f64 1/2 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 2)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(+.f64 (*.f64 1/2 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 2)))) |
(*.f64 l (*.f64 w (+.f64 (*.f64 -1/6 w) 1/2))) |
(*.f64 w (*.f64 l (fma.f64 -1/6 w 1/2))) |
(*.f64 -1 (*.f64 l w)) |
(neg.f64 (*.f64 w l)) |
(*.f64 w (neg.f64 l)) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (*.f64 -1 (*.f64 l w))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (neg.f64 (*.f64 w l))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (*.f64 w (neg.f64 l))) |
(*.f64 w (-.f64 (*.f64 l (*.f64 w 1/2)) l)) |
(*.f64 (*.f64 w l) (fma.f64 w 1/2 -1)) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 (*.f64 -1 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 (*.f64 -1 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 -1/6 (*.f64 l (pow.f64 w 3))) |
(*.f64 l (*.f64 -1/6 (pow.f64 w 3))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (*.f64 -1/6 (*.f64 l (pow.f64 w 3)))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3)))) |
(fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 l (*.f64 (*.f64 w w) 1/2))) |
(*.f64 (fma.f64 -1/6 w 1/2) (*.f64 w (*.f64 w l))) |
(*.f64 l (*.f64 (fma.f64 -1/6 w 1/2) (*.f64 w w))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 (*.f64 -1 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 (*.f64 -1 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 -1/6 (*.f64 l (pow.f64 w 3))) |
(*.f64 l (*.f64 -1/6 (pow.f64 w 3))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (*.f64 -1/6 (*.f64 l (pow.f64 w 3)))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3)))) |
(fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 l (*.f64 (*.f64 w w) 1/2))) |
(*.f64 (fma.f64 -1/6 w 1/2) (*.f64 w (*.f64 w l))) |
(*.f64 l (*.f64 (fma.f64 -1/6 w 1/2) (*.f64 w w))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 (*.f64 -1 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 (*.f64 -1 (*.f64 l w)) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w))) 1))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 -1 (*.f64 l (*.f64 w (+.f64 (*.f64 -1 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) 1)))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 -1 (*.f64 l (*.f64 w (+.f64 (*.f64 -1 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) 1)))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 -1 (*.f64 l (*.f64 w (+.f64 (*.f64 -1 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) 1)))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 -1 (*.f64 l (*.f64 w (+.f64 (*.f64 -1 (*.f64 w (+.f64 1/2 (*.f64 -1/6 w)))) 1)))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 -1 (*.f64 w l) (*.f64 -1/6 (*.f64 l (pow.f64 w 3))))) |
(fma.f64 1/2 (*.f64 w (*.f64 w l)) (fma.f64 -1/6 (*.f64 l (pow.f64 w 3)) (*.f64 w (neg.f64 l)))) |
(*.f64 w (*.f64 l (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
(*.f64 l (*.f64 w (fma.f64 w (fma.f64 -1/6 w 1/2) -1))) |
1/2 |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 (*.f64 -1/6 w) 1/2) |
(fma.f64 -1/6 w 1/2) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 (*.f64 -1/6 w) 1/2) |
(fma.f64 -1/6 w 1/2) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 (*.f64 -1/6 w) 1/2) |
(fma.f64 -1/6 w 1/2) |
(*.f64 -1/6 w) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 (*.f64 -1/6 w) 1/2) |
(fma.f64 -1/6 w 1/2) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 (*.f64 -1/6 w) 1/2) |
(fma.f64 -1/6 w 1/2) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 (*.f64 -1/6 w) 1/2) |
(fma.f64 -1/6 w 1/2) |
(*.f64 -1/6 w) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 (*.f64 -1/6 w) 1/2) |
(fma.f64 -1/6 w 1/2) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 (*.f64 -1/6 w) 1/2) |
(fma.f64 -1/6 w 1/2) |
(+.f64 1/2 (*.f64 -1/6 w)) |
(+.f64 (*.f64 -1/6 w) 1/2) |
(fma.f64 -1/6 w 1/2) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (exp.f64 w) l) |
| ✓ | 1.6b | (-.f64 (+.f64 1 (*.f64 (exp.f64 w) l)) 1) |
Compiled 25 to 11 computations (56% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | l | @ | inf | (-.f64 (+.f64 1 (*.f64 (exp.f64 w) l)) 1) |
| 0.0ms | l | @ | -inf | (-.f64 (+.f64 1 (*.f64 (exp.f64 w) l)) 1) |
| 0.0ms | w | @ | 0 | (-.f64 (+.f64 1 (*.f64 (exp.f64 w) l)) 1) |
| 0.0ms | w | @ | -inf | (-.f64 (+.f64 1 (*.f64 (exp.f64 w) l)) 1) |
| 0.0ms | w | @ | inf | (-.f64 (+.f64 1 (*.f64 (exp.f64 w) l)) 1) |
| 1× | batch-egg-rewrite |
| 815× | pow1_binary64 |
| 758× | add-log-exp_binary64 |
| 758× | log1p-expm1-u_binary64 |
| 758× | expm1-log1p-u_binary64 |
| 744× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 24 |
| 1 | 170 | 12 |
| 2 | 2329 | 12 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 1 (*.f64 (exp.f64 w) l)) 1) |
(*.f64 (exp.f64 w) l) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (fma.f64 (exp.f64 w) l -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (fma.f64 (exp.f64 w) l -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 w) l) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (exp.f64 w) l 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (fma.f64 (exp.f64 w) l 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (exp.f64 w) l -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (exp.f64 w) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 w) l)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (exp.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 w) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (exp.f64 w) l)) (pow.f64 (cbrt.f64 (*.f64 (exp.f64 w) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 w) l)) 2) (cbrt.f64 (*.f64 (exp.f64 w) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (exp.f64 w)) 2) (*.f64 (cbrt.f64 (exp.f64 w)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (exp.f64 w) l)) (sqrt.f64 (*.f64 (exp.f64 w) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 w)) (*.f64 (sqrt.f64 (exp.f64 w)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) (+.f64 (*.f64 (exp.f64 w) l) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) -1) (/.f64 1 (+.f64 (*.f64 (exp.f64 w) l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 (exp.f64 w) l 1)) 1) (-.f64 (sqrt.f64 (fma.f64 (exp.f64 w) l 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 w) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 w) (sqrt.f64 l)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (pow.f64 (cbrt.f64 (exp.f64 w)) 2)) (cbrt.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (sqrt.f64 (exp.f64 w))) (sqrt.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) (+.f64 (*.f64 (exp.f64 w) l) 2)) (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 (exp.f64 w) l) 2) (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 3) -1) (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) (+.f64 (*.f64 (exp.f64 w) l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 3) -1) (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) (-.f64 1 (*.f64 (fma.f64 (exp.f64 w) l 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) -1) (+.f64 (*.f64 (exp.f64 w) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) -1) (-.f64 (fma.f64 (exp.f64 w) l 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 3) -1)) (neg.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) (+.f64 (*.f64 (exp.f64 w) l) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) -1)) (neg.f64 (+.f64 (*.f64 (exp.f64 w) l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 (exp.f64 w) l -1) 3)) (+.f64 1 (-.f64 (*.f64 (fma.f64 (exp.f64 w) l -1) (fma.f64 (exp.f64 w) l -1)) (fma.f64 (exp.f64 w) l -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (fma.f64 (exp.f64 w) l -1) (fma.f64 (exp.f64 w) l -1))) (-.f64 1 (fma.f64 (exp.f64 w) l -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 w) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (exp.f64 w) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (exp.f64 w) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (exp.f64 w) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (exp.f64 w) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 l) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (exp.f64 w) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (exp.f64 w) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (exp.f64 w) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 w (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (exp.f64 w) l 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (exp.f64 w) l 1)) 2) (cbrt.f64 (fma.f64 (exp.f64 w) l 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (exp.f64 w) l 1)) (sqrt.f64 (fma.f64 (exp.f64 w) l 1)) -1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (fma.f64 (exp.f64 w) l -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (fma.f64 (exp.f64 w) l -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 w) l) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (exp.f64 w) l 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (fma.f64 (exp.f64 w) l 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (exp.f64 w) l -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (exp.f64 w) l 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 3) (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) (+.f64 (*.f64 (exp.f64 w) l) 2))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) (+.f64 (*.f64 (exp.f64 w) l) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) (+.f64 (*.f64 (exp.f64 w) l) 2)) (/.f64 1 (+.f64 (*.f64 (exp.f64 w) l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) (+.f64 (*.f64 (exp.f64 w) l) 2)) (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 (exp.f64 w) l) 2) (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 3) -1) (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) (+.f64 (*.f64 (exp.f64 w) l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 3) -1) (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) (-.f64 1 (*.f64 (fma.f64 (exp.f64 w) l 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) -1) (+.f64 (*.f64 (exp.f64 w) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) -1) (-.f64 (fma.f64 (exp.f64 w) l 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 3) -1)) (neg.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) (+.f64 (*.f64 (exp.f64 w) l) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 (exp.f64 w) l 1) 2) -1)) (neg.f64 (+.f64 (*.f64 (exp.f64 w) l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 (exp.f64 w) l -1) 3)) (+.f64 1 (-.f64 (*.f64 (fma.f64 (exp.f64 w) l -1) (fma.f64 (exp.f64 w) l -1)) (fma.f64 (exp.f64 w) l -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (fma.f64 (exp.f64 w) l -1) (fma.f64 (exp.f64 w) l -1))) (-.f64 1 (fma.f64 (exp.f64 w) l -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 w) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (exp.f64 w) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (exp.f64 w) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (exp.f64 w) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (exp.f64 w) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 l) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (exp.f64 w) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (exp.f64 w) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (exp.f64 w) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 w (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (exp.f64 w) l 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (exp.f64 w) l 1)) 2) (cbrt.f64 (fma.f64 (exp.f64 w) l 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (exp.f64 w) l 1)) (sqrt.f64 (fma.f64 (exp.f64 w) l 1)) -1))))) |
| 1× | egg-herbie |
| 478× | associate-/l/_binary64 |
| 412× | associate-/r/_binary64 |
| 364× | fma-def_binary64 |
| 336× | sqr-pow_binary64 |
| 334× | *-commutative_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 344 |
| 1 | 56 | 336 |
| 2 | 139 | 332 |
| 3 | 401 | 320 |
| 4 | 1405 | 318 |
| 5 | 2163 | 318 |
| 6 | 2987 | 318 |
| 7 | 3237 | 318 |
| 8 | 3885 | 318 |
| 9 | 6528 | 318 |
| 1× | node limit |
| Inputs |
|---|
l |
(+.f64 l (*.f64 l w)) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 l (*.f64 l w))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 l (+.f64 (*.f64 1/6 (*.f64 l (pow.f64 w 3))) (*.f64 l w)))) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
l |
(+.f64 l (*.f64 l w)) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 l (*.f64 l w))) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 l (+.f64 (*.f64 1/6 (*.f64 l (pow.f64 w 3))) (*.f64 l w)))) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
| Outputs |
|---|
l |
(+.f64 l (*.f64 l w)) |
(fma.f64 l w l) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 l (*.f64 l w))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (+.f64 l (*.f64 l w))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 l w l)) |
(fma.f64 l w (fma.f64 1/2 (*.f64 l (*.f64 w w)) l)) |
(fma.f64 l (fma.f64 w (*.f64 w 1/2) w) l) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 l (+.f64 (*.f64 1/6 (*.f64 l (pow.f64 w 3))) (*.f64 l w)))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (+.f64 l (fma.f64 1/6 (*.f64 l (pow.f64 w 3)) (*.f64 l w)))) |
(+.f64 (fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 l w l)) (*.f64 l (*.f64 (pow.f64 w 3) 1/6))) |
(fma.f64 l (*.f64 w (*.f64 w 1/2)) (fma.f64 l (*.f64 1/6 (pow.f64 w 3)) (fma.f64 l w l))) |
(fma.f64 w (fma.f64 l (*.f64 w 1/2) l) (fma.f64 1/6 (*.f64 l (pow.f64 w 3)) l)) |
(*.f64 l (+.f64 (fma.f64 w (*.f64 w 1/2) 1) (fma.f64 1/6 (pow.f64 w 3) w))) |
(*.f64 l (+.f64 (fma.f64 1/6 (pow.f64 w 3) 1) (fma.f64 w (*.f64 w 1/2) w))) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
l |
(+.f64 l (*.f64 l w)) |
(fma.f64 l w l) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 l (*.f64 l w))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (+.f64 l (*.f64 l w))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 l w l)) |
(fma.f64 l w (fma.f64 1/2 (*.f64 l (*.f64 w w)) l)) |
(fma.f64 l (fma.f64 w (*.f64 w 1/2) w) l) |
(+.f64 (*.f64 1/2 (*.f64 l (pow.f64 w 2))) (+.f64 l (+.f64 (*.f64 1/6 (*.f64 l (pow.f64 w 3))) (*.f64 l w)))) |
(fma.f64 1/2 (*.f64 l (*.f64 w w)) (+.f64 l (fma.f64 1/6 (*.f64 l (pow.f64 w 3)) (*.f64 l w)))) |
(+.f64 (fma.f64 1/2 (*.f64 l (*.f64 w w)) (fma.f64 l w l)) (*.f64 l (*.f64 (pow.f64 w 3) 1/6))) |
(fma.f64 l (*.f64 w (*.f64 w 1/2)) (fma.f64 l (*.f64 1/6 (pow.f64 w 3)) (fma.f64 l w l))) |
(fma.f64 w (fma.f64 l (*.f64 w 1/2) l) (fma.f64 1/6 (*.f64 l (pow.f64 w 3)) l)) |
(*.f64 l (+.f64 (fma.f64 w (*.f64 w 1/2) 1) (fma.f64 1/6 (pow.f64 w 3) w))) |
(*.f64 l (+.f64 (fma.f64 1/6 (pow.f64 w 3) 1) (fma.f64 w (*.f64 w 1/2) w))) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
(*.f64 l (exp.f64 w)) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 w (+.f64 (*.f64 w 1/6) 1/2)) |
| ✓ | 0.1b | (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) |
| ✓ | 0.4b | (*.f64 w 1/6) |
| ✓ | 4.6b | (exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) w)) |
Compiled 102 to 67 computations (34.3% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | w | @ | inf | (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) |
| 1.0ms | l | @ | 0 | (exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) w)) |
| 1.0ms | l | @ | inf | (exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) w)) |
| 1.0ms | l | @ | -inf | (exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) w)) |
| 1.0ms | w | @ | inf | (exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) w)) |
| 1× | batch-egg-rewrite |
| 896× | log-prod_binary64 |
| 454× | fma-neg_binary64 |
| 318× | expm1-udef_binary64 |
| 317× | log1p-udef_binary64 |
| 254× | log-pow_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 61 |
| 1 | 364 | 55 |
| 2 | 5301 | 55 |
| 1× | node limit |
| Inputs |
|---|
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) w)) |
(*.f64 w 1/6) |
(*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) |
(*.f64 w (+.f64 (*.f64 w 1/6) 1/2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w)))) (cbrt.f64 (exp.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 (neg.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (/.f64 1 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))) 2) (cbrt.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))) (sqrt.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (exp.f64 w) (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w)))) (neg.f64 (exp.f64 w)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (-.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) w))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) w)) 2)) (cbrt.f64 (-.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) w)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) w))) (sqrt.f64 (-.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) w)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) (exp.f64 w)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 w 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 w) 1/6)) (cbrt.f64 (pow.f64 (exp.f64 w) 1/6)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 w) 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 w) 1/6))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 w) 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 w 1/6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 w 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 w 1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 w 1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 w 1/6) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 w w) 1/36))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 w) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 w 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 w 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 w 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 w 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 w 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 w 1/6)) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 l) (*.f64 (*.f64 (+.f64 (*.f64 w (fma.f64 w 1/6 1/2)) 1) w) (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 l) (*.f64 (log.f64 l) (*.f64 (+.f64 (*.f64 w (fma.f64 w 1/6 1/2)) 1) w)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 l) (+.f64 1 w)) (*.f64 (*.f64 w (fma.f64 w 1/6 1/2)) (*.f64 w (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 w (fma.f64 w 1/6 1/2)) (*.f64 w (log.f64 l))) (*.f64 (log.f64 l) (+.f64 1 w)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (log.f64 l) (+.f64 1 w)) 1) (*.f64 (*.f64 (*.f64 w (fma.f64 w 1/6 1/2)) (*.f64 w (log.f64 l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))))) (log.f64 (sqrt.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w)))) (cbrt.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w)))))) (log.f64 (cbrt.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (log.f64 l) (+.f64 1 w)) 3) (pow.f64 (*.f64 (*.f64 w (fma.f64 w 1/6 1/2)) (*.f64 w (log.f64 l))) 3)) (+.f64 (*.f64 (*.f64 (log.f64 l) (+.f64 1 w)) (*.f64 (log.f64 l) (+.f64 1 w))) (-.f64 (*.f64 (*.f64 (*.f64 w (fma.f64 w 1/6 1/2)) (*.f64 w (log.f64 l))) (*.f64 (*.f64 w (fma.f64 w 1/6 1/2)) (*.f64 w (log.f64 l)))) (*.f64 (*.f64 (log.f64 l) (+.f64 1 w)) (*.f64 (*.f64 w (fma.f64 w 1/6 1/2)) (*.f64 w (log.f64 l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (log.f64 l) (+.f64 1 w)) (*.f64 (log.f64 l) (+.f64 1 w))) (*.f64 (*.f64 (*.f64 w (fma.f64 w 1/6 1/2)) (*.f64 w (log.f64 l))) (*.f64 (*.f64 w (fma.f64 w 1/6 1/2)) (*.f64 w (log.f64 l))))) (-.f64 (*.f64 (log.f64 l) (+.f64 1 w)) (*.f64 (*.f64 w (fma.f64 w 1/6 1/2)) (*.f64 w (log.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (+.f64 1 w) 3) (pow.f64 (*.f64 w (*.f64 w (fma.f64 w 1/6 1/2))) 3)) (log.f64 l)) (+.f64 (pow.f64 (+.f64 1 w) 2) (*.f64 (*.f64 w (*.f64 w (fma.f64 w 1/6 1/2))) (-.f64 (*.f64 w (*.f64 w (fma.f64 w 1/6 1/2))) (+.f64 1 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (+.f64 1 w) 2) (pow.f64 (*.f64 w (*.f64 w (fma.f64 w 1/6 1/2))) 2)) (log.f64 l)) (+.f64 1 (-.f64 w (*.f64 w (*.f64 w (fma.f64 w 1/6 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 l) (+.f64 (pow.f64 (+.f64 1 w) 3) (pow.f64 (*.f64 w (*.f64 w (fma.f64 w 1/6 1/2))) 3))) (+.f64 (pow.f64 (+.f64 1 w) 2) (*.f64 (*.f64 w (*.f64 w (fma.f64 w 1/6 1/2))) (-.f64 (*.f64 w (*.f64 w (fma.f64 w 1/6 1/2))) (+.f64 1 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 l) (-.f64 (pow.f64 (+.f64 1 w) 2) (pow.f64 (*.f64 w (*.f64 w (fma.f64 w 1/6 1/2))) 2))) (+.f64 1 (-.f64 w (*.f64 w (*.f64 w (fma.f64 w 1/6 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (-.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 w (fma.f64 w 1/6 1/2)) (*.f64 w (log.f64 l)))) (exp.f64 (*.f64 (log.f64 l) (+.f64 1 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (log.f64 l) (fma.f64 w (*.f64 w (fma.f64 w 1/6 1/2)) (+.f64 1 w)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 l) (+.f64 1 w) (*.f64 (*.f64 w (fma.f64 w 1/6 1/2)) (*.f64 w (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 w) (log.f64 l) (*.f64 (*.f64 w (fma.f64 w 1/6 1/2)) (*.f64 w (log.f64 l)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 w (fma.f64 w 1/6 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/6 (*.f64 w w)) (*.f64 w 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 w 1/2) (*.f64 1/6 (*.f64 w w)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/6 (*.f64 w w)) 1) (*.f64 (*.f64 w 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 w) (fma.f64 w 1/6 1/2))) (cbrt.f64 (pow.f64 (exp.f64 w) (fma.f64 w 1/6 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 w) (fma.f64 w 1/6 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 w) (fma.f64 w 1/6 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 w) (fma.f64 w 1/6 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 w (fma.f64 w 1/6 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/6 (*.f64 w w)) 3) (pow.f64 (*.f64 w 1/2) 3)) (+.f64 (*.f64 (*.f64 1/6 (*.f64 w w)) (*.f64 1/6 (*.f64 w w))) (-.f64 (*.f64 (*.f64 w 1/2) (*.f64 w 1/2)) (*.f64 (*.f64 1/6 (*.f64 w w)) (*.f64 w 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 1/6 (*.f64 w w)) (*.f64 1/6 (*.f64 w w))) (*.f64 (*.f64 w 1/2) (*.f64 w 1/2))) (-.f64 (*.f64 1/6 (*.f64 w w)) (*.f64 w 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1/8 (pow.f64 (*.f64 w 1/6) 3)) w) (+.f64 (*.f64 (*.f64 w w) 1/36) (-.f64 1/4 (*.f64 w 1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (*.f64 w w) 1/36 -1/4) w) (fma.f64 w 1/6 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 w (+.f64 1/8 (pow.f64 (*.f64 w 1/6) 3))) (+.f64 (*.f64 (*.f64 w w) 1/36) (-.f64 1/4 (*.f64 w 1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 w (fma.f64 (*.f64 w w) 1/36 -1/4)) (fma.f64 w 1/6 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 w (fma.f64 w 1/6 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 w (fma.f64 w 1/6 1/2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 w (fma.f64 w 1/6 1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 w (fma.f64 w 1/6 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 w (fma.f64 w 1/6 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 w) (fma.f64 w 1/6 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 w (fma.f64 w 1/6 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 w 1/2)) (exp.f64 (*.f64 1/6 (*.f64 w w)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 w (fma.f64 w 1/6 1/2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 w 3) (pow.f64 (fma.f64 w 1/6 1/2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 w 1/6 1/2) 3) (pow.f64 w 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 w (fma.f64 w 1/6 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 w (fma.f64 w 1/6 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 w (fma.f64 w 1/6 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 w (fma.f64 w 1/6 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 w (*.f64 w 1/6) (*.f64 w 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 w 1/6) w (*.f64 w 1/2)))))) |
| 1× | egg-herbie |
| 556× | fma-def_binary64 |
| 487× | exp-sum_binary64 |
| 343× | fma-neg_binary64 |
| 320× | exp-prod_binary64 |
| 312× | associate-*l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 92 | 1338 |
| 1 | 298 | 1193 |
| 2 | 987 | 1144 |
| 3 | 4756 | 1144 |
| 1× | node limit |
| Inputs |
|---|
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) w)) |
l |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(+.f64 l (+.f64 (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (-.f64 (log.f64 l) 1) 2))))))) |
(+.f64 l (+.f64 (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (-.f64 (log.f64 l) 1) 2))))) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (log.f64 l) 1) (log.f64 l))) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/6 (pow.f64 (-.f64 (log.f64 l) 1) 3)))) (*.f64 l (pow.f64 w 3)))))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (*.f64 1/6 (pow.f64 w 3)) (+.f64 (*.f64 1/2 (pow.f64 w 2)) (+.f64 1 w)))) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (*.f64 1/6 (pow.f64 w 3)) (+.f64 (*.f64 1/2 (pow.f64 w 2)) (+.f64 1 w)))) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (*.f64 1/6 (pow.f64 w 3)) (+.f64 (*.f64 1/2 (pow.f64 w 2)) (+.f64 1 w)))) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (*.f64 1/6 (pow.f64 w 3)) (+.f64 (*.f64 1/2 (pow.f64 w 2)) (+.f64 1 w)))) w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (-.f64 (+.f64 1 (*.f64 1/2 (pow.f64 w 2))) (+.f64 (*.f64 -1/6 (pow.f64 w 3)) (*.f64 -1 w)))) (*.f64 -1 w))) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (-.f64 (+.f64 1 (*.f64 1/2 (pow.f64 w 2))) (+.f64 (*.f64 -1/6 (pow.f64 w 3)) (*.f64 -1 w)))) (*.f64 -1 w))) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (-.f64 (+.f64 1 (*.f64 1/2 (pow.f64 w 2))) (+.f64 (*.f64 -1/6 (pow.f64 w 3)) (*.f64 -1 w)))) (*.f64 -1 w))) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (-.f64 (+.f64 1 (*.f64 1/2 (pow.f64 w 2))) (+.f64 (*.f64 -1/6 (pow.f64 w 3)) (*.f64 -1 w)))) (*.f64 -1 w))) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w))) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w))) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w))) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w))) |
(log.f64 l) |
(+.f64 (*.f64 w (log.f64 l)) (log.f64 l)) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 w (log.f64 l)) (log.f64 l))) |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 w (log.f64 l)) (log.f64 l)))) |
(*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l)))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (*.f64 w (log.f64 l)))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (+.f64 (*.f64 w (log.f64 l)) (log.f64 l)))) |
(*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l)))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (*.f64 w (log.f64 l)))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (+.f64 (*.f64 w (log.f64 l)) (log.f64 l)))) |
(*.f64 1/2 w) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(*.f64 1/6 (pow.f64 w 2)) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(*.f64 1/6 (pow.f64 w 2)) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
| Outputs |
|---|
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l))))) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
l |
(+.f64 l (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w))) |
(+.f64 l (*.f64 (+.f64 (log.f64 l) -1) (*.f64 w l))) |
(fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) l) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(+.f64 l (+.f64 (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (-.f64 (log.f64 l) 1) 2))))))) |
(+.f64 l (fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) (*.f64 (*.f64 l (*.f64 w w)) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)))))) |
(+.f64 l (fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) (*.f64 (*.f64 (*.f64 (*.f64 w w) l) 1/2) (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2))))) |
(fma.f64 (*.f64 w w) (*.f64 1/2 (*.f64 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)) l)) (fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l)) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) (fma.f64 (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2))) (*.f64 w (*.f64 w l)) l)) |
(+.f64 l (+.f64 (*.f64 (-.f64 (log.f64 l) 1) (*.f64 l w)) (+.f64 (*.f64 l (*.f64 (pow.f64 w 2) (+.f64 (*.f64 1/2 (log.f64 l)) (*.f64 1/2 (pow.f64 (-.f64 (log.f64 l) 1) 2))))) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (log.f64 l) 1) (log.f64 l))) (+.f64 (*.f64 1/6 (log.f64 l)) (*.f64 1/6 (pow.f64 (-.f64 (log.f64 l) 1) 3)))) (*.f64 l (pow.f64 w 3)))))) |
(+.f64 l (fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) (fma.f64 l (*.f64 (*.f64 w w) (*.f64 1/2 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)))) (*.f64 (fma.f64 1/2 (*.f64 (log.f64 l) (+.f64 (log.f64 l) -1)) (*.f64 1/6 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 3)))) (*.f64 l (pow.f64 w 3)))))) |
(+.f64 l (fma.f64 (+.f64 (log.f64 l) -1) (*.f64 w l) (fma.f64 (fma.f64 1/2 (*.f64 (log.f64 l) (+.f64 (log.f64 l) -1)) (*.f64 1/6 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 3)))) (*.f64 l (pow.f64 w 3)) (*.f64 (*.f64 (*.f64 (*.f64 w w) l) 1/2) (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)))))) |
(+.f64 l (fma.f64 (*.f64 w w) (*.f64 1/2 (*.f64 (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)) l)) (*.f64 l (+.f64 (*.f64 w (+.f64 (log.f64 l) -1)) (*.f64 (fma.f64 (log.f64 l) (+.f64 (*.f64 1/2 (log.f64 l)) -1/3) (*.f64 1/6 (pow.f64 (+.f64 (log.f64 l) -1) 3))) (pow.f64 w 3)))))) |
(+.f64 l (fma.f64 l (*.f64 (fma.f64 1/6 (pow.f64 (+.f64 (log.f64 l) -1) 3) (*.f64 (log.f64 l) (+.f64 (*.f64 1/2 (log.f64 l)) -1/3))) (pow.f64 w 3)) (*.f64 l (+.f64 (*.f64 w (+.f64 (log.f64 l) -1)) (*.f64 1/2 (*.f64 (*.f64 w w) (+.f64 (log.f64 l) (pow.f64 (+.f64 (log.f64 l) -1) 2)))))))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (*.f64 1/6 (pow.f64 w 3)) (+.f64 (*.f64 1/2 (pow.f64 w 2)) (+.f64 1 w)))) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (*.f64 1/6 (pow.f64 w 3)) (+.f64 (*.f64 1/2 (pow.f64 w 2)) (+.f64 1 w)))) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (*.f64 1/6 (pow.f64 w 3)) (+.f64 (*.f64 1/2 (pow.f64 w 2)) (+.f64 1 w)))) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (*.f64 1/6 (pow.f64 w 3)) (+.f64 (*.f64 1/2 (pow.f64 w 2)) (+.f64 1 w)))) w)) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (-.f64 (+.f64 1 (*.f64 1/2 (pow.f64 w 2))) (+.f64 (*.f64 -1/6 (pow.f64 w 3)) (*.f64 -1 w)))) (*.f64 -1 w))) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (-.f64 (+.f64 1 (*.f64 1/2 (pow.f64 w 2))) (+.f64 (*.f64 -1/6 (pow.f64 w 3)) (*.f64 -1 w)))) (*.f64 -1 w))) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (-.f64 (+.f64 1 (*.f64 1/2 (pow.f64 w 2))) (+.f64 (*.f64 -1/6 (pow.f64 w 3)) (*.f64 -1 w)))) (*.f64 -1 w))) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(exp.f64 (+.f64 (*.f64 (log.f64 l) (-.f64 (+.f64 1 (*.f64 1/2 (pow.f64 w 2))) (+.f64 (*.f64 -1/6 (pow.f64 w 3)) (*.f64 -1 w)))) (*.f64 -1 w))) |
(exp.f64 (fma.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l) (neg.f64 w))) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (+.f64 1 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w))) (exp.f64 w)) |
(/.f64 (pow.f64 l (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w))) (exp.f64 w)) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 1/6 w) |
(*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 l)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w)))) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w))) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w))) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w))) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 l)))) (+.f64 1 (+.f64 (*.f64 (+.f64 1/2 (*.f64 1/6 w)) (pow.f64 w 2)) w))) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(log.f64 l) |
(+.f64 (*.f64 w (log.f64 l)) (log.f64 l)) |
(*.f64 (+.f64 1 w) (log.f64 l)) |
(*.f64 (log.f64 l) (+.f64 1 w)) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 w (log.f64 l)) (log.f64 l))) |
(fma.f64 1/2 (*.f64 (*.f64 w w) (log.f64 l)) (*.f64 (+.f64 1 w) (log.f64 l))) |
(*.f64 (log.f64 l) (fma.f64 1/2 (*.f64 w w) (+.f64 1 w))) |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 w (log.f64 l)) (log.f64 l)))) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) |
(*.f64 1/6 (*.f64 (log.f64 l) (pow.f64 w 3))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l)))) |
(fma.f64 1/2 (*.f64 (*.f64 w w) (log.f64 l)) (*.f64 1/6 (*.f64 (log.f64 l) (pow.f64 w 3)))) |
(*.f64 (log.f64 l) (*.f64 w (*.f64 w (fma.f64 1/6 w 1/2)))) |
(*.f64 (*.f64 w w) (*.f64 (fma.f64 1/6 w 1/2) (log.f64 l))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (*.f64 w (log.f64 l)))) |
(fma.f64 1/2 (*.f64 (*.f64 w w) (log.f64 l)) (fma.f64 1/6 (*.f64 (log.f64 l) (pow.f64 w 3)) (*.f64 w (log.f64 l)))) |
(+.f64 (*.f64 w (log.f64 l)) (*.f64 (log.f64 l) (*.f64 w (*.f64 w (fma.f64 1/6 w 1/2))))) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l)) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (+.f64 (*.f64 w (log.f64 l)) (log.f64 l)))) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) |
(*.f64 1/6 (*.f64 (log.f64 l) (pow.f64 w 3))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l)))) |
(fma.f64 1/2 (*.f64 (*.f64 w w) (log.f64 l)) (*.f64 1/6 (*.f64 (log.f64 l) (pow.f64 w 3)))) |
(*.f64 (log.f64 l) (*.f64 w (*.f64 w (fma.f64 1/6 w 1/2)))) |
(*.f64 (*.f64 w w) (*.f64 (fma.f64 1/6 w 1/2) (log.f64 l))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (*.f64 w (log.f64 l)))) |
(fma.f64 1/2 (*.f64 (*.f64 w w) (log.f64 l)) (fma.f64 1/6 (*.f64 (log.f64 l) (pow.f64 w 3)) (*.f64 w (log.f64 l)))) |
(+.f64 (*.f64 w (log.f64 l)) (*.f64 (log.f64 l) (*.f64 w (*.f64 w (fma.f64 1/6 w 1/2))))) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l)) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 w 2) (log.f64 l))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 w 3) (log.f64 l))) (+.f64 (*.f64 w (log.f64 l)) (log.f64 l)))) |
(*.f64 (+.f64 1 (fma.f64 (+.f64 1/2 (*.f64 1/6 w)) (*.f64 w w) w)) (log.f64 l)) |
(*.f64 (+.f64 1 (fma.f64 (fma.f64 1/6 w 1/2) (*.f64 w w) w)) (log.f64 l)) |
(fma.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) w) (log.f64 l) (log.f64 l)) |
(*.f64 (fma.f64 w (*.f64 w (fma.f64 1/6 w 1/2)) (+.f64 1 w)) (log.f64 l)) |
(*.f64 1/2 w) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(fma.f64 1/2 w (*.f64 1/6 (*.f64 w w))) |
(*.f64 w (fma.f64 1/6 w 1/2)) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(fma.f64 1/2 w (*.f64 1/6 (*.f64 w w))) |
(*.f64 w (fma.f64 1/6 w 1/2)) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(fma.f64 1/2 w (*.f64 1/6 (*.f64 w w))) |
(*.f64 w (fma.f64 1/6 w 1/2)) |
(*.f64 1/6 (pow.f64 w 2)) |
(*.f64 1/6 (*.f64 w w)) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(fma.f64 1/2 w (*.f64 1/6 (*.f64 w w))) |
(*.f64 w (fma.f64 1/6 w 1/2)) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(fma.f64 1/2 w (*.f64 1/6 (*.f64 w w))) |
(*.f64 w (fma.f64 1/6 w 1/2)) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(fma.f64 1/2 w (*.f64 1/6 (*.f64 w w))) |
(*.f64 w (fma.f64 1/6 w 1/2)) |
(*.f64 1/6 (pow.f64 w 2)) |
(*.f64 1/6 (*.f64 w w)) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(fma.f64 1/2 w (*.f64 1/6 (*.f64 w w))) |
(*.f64 w (fma.f64 1/6 w 1/2)) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(fma.f64 1/2 w (*.f64 1/6 (*.f64 w w))) |
(*.f64 w (fma.f64 1/6 w 1/2)) |
(+.f64 (*.f64 1/2 w) (*.f64 1/6 (pow.f64 w 2))) |
(fma.f64 1/2 w (*.f64 1/6 (*.f64 w w))) |
(*.f64 w (fma.f64 1/6 w 1/2)) |
Compiled 9247 to 5229 computations (43.5% saved)
26 alts after pruning (17 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 471 | 7 | 478 |
| Fresh | 3 | 10 | 13 |
| Picked | 0 | 1 | 1 |
| Done | 2 | 8 | 10 |
| Total | 476 | 26 | 502 |
| Status | Error | Program |
|---|---|---|
| ✓ | 4.6b | (pow.f64 (exp.f64 1) (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| ✓ | 14.8b | (-.f64 l (*.f64 l w)) |
| 15.0b | (+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 -1/6 (*.f64 w l))) l))) | |
| ✓ | 61.2b | (*.f64 w (neg.f64 l)) |
| 6.6b | (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) 2)) (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w))) | |
| ✓ | 1.5b | (/.f64 l (exp.f64 w)) |
| 47.3b | (exp.f64 (neg.f64 w)) | |
| 14.5b | l | |
| ✓ | 1.4b | (/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
| ✓ | 2.3b | (/.f64 (expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) (exp.f64 w)) |
| ✓ | 15.0b | (+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) |
| ✓ | 5.0b | (exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) w)) |
| 14.4b | (+.f64 l (*.f64 w (*.f64 (-.f64 (log.f64 l) 1) l))) | |
| 14.4b | (*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) | |
| 14.8b | (+.f64 l (*.f64 l w)) | |
| 10.4b | (/.f64 (fma.f64 l (*.f64 (*.f64 (log.f64 l) (+.f64 1/6 (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/6))))) (pow.f64 w 3)) (fma.f64 l (*.f64 (log.f64 l) (+.f64 w (*.f64 (*.f64 w (*.f64 w 1/2)) (+.f64 (log.f64 l) 1)))) l)) (exp.f64 w)) | |
| 15.2b | (*.f64 (exp.f64 w) l) | |
| 61.3b | (*.f64 w (*.f64 l (+.f64 (log.f64 l) -1))) | |
| 5.3b | (exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 1 w)) w)) | |
| 31.6b | (/.f64 1 (/.f64 l (*.f64 l l))) | |
| 4.6b | (exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) | |
| 43.8b | (/.f64 1 (/.f64 (*.f64 l l) (pow.f64 l 3))) | |
| ✓ | 0.2b | (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
| 5.1b | (exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 1/2 w)))) w)) | |
| 14.9b | (+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) 1/2) l))) | |
| 31.5b | (/.f64 (*.f64 l l) l) |
Compiled 315 to 203 computations (35.6% saved)
| Inputs |
|---|
l |
l |
l |
l |
(*.f64 w (neg.f64 l)) |
(+.f64 l (*.f64 l w)) |
(/.f64 (*.f64 l l) l) |
(-.f64 l (*.f64 l w)) |
(/.f64 1 (/.f64 l (*.f64 l l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) 1/2) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 l 1/2)) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 -1/6 (*.f64 w l))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 (*.f64 l 1/2) (*.f64 w (*.f64 l -1/6)))) l))) |
(exp.f64 (neg.f64 w)) |
(*.f64 (exp.f64 w) l) |
(/.f64 l (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) l) |
(*.f64 (exp.f64 (neg.f64 w)) l) |
(/.f64 (pow.f64 l 3) (*.f64 l l)) |
(-.f64 (+.f64 1 (*.f64 (exp.f64 w) l)) 1) |
(*.f64 w (*.f64 l (+.f64 (log.f64 l) -1))) |
(-.f64 (+.f64 1 (/.f64 l (exp.f64 w))) 1) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(/.f64 1 (/.f64 (*.f64 l l) (pow.f64 l 3))) |
(*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) |
(+.f64 l (*.f64 w (*.f64 (-.f64 (log.f64 l) 1) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 1 w)) w)) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 l (*.f64 l (*.f64 w (log.f64 l))))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 1/2 w)))) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
(*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w))) |
(exp.f64 (fma.f64 (log.f64 l) (exp.f64 w) (neg.f64 w))) |
(pow.f64 (exp.f64 1) (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
(/.f64 (expm1.f64 (log1p.f64 (pow.f64 l (exp.f64 w)))) (exp.f64 w)) |
(pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 3) |
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 2) |
(pow.f64 (pow.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) 3) 1/3) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) 2)) (cbrt.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w))) |
(/.f64 (fma.f64 l (*.f64 (*.f64 (log.f64 l) (+.f64 1/6 (*.f64 (log.f64 l) (+.f64 1/2 (*.f64 (log.f64 l) 1/6))))) (pow.f64 w 3)) (fma.f64 l (*.f64 (log.f64 l) (+.f64 w (*.f64 (*.f64 w (*.f64 w 1/2)) (+.f64 (log.f64 l) 1)))) l)) (exp.f64 w)) |
| Outputs |
|---|
(*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w))) |
3 calls:
| 23.0ms | l |
| 21.0ms | w |
| 15.0ms | (*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w))) |
| Error | Segments | Branch |
|---|---|---|
| 0.2b | 1 | w |
| 0.2b | 1 | l |
| 0.2b | 1 | (*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w))) |
Compiled 440 to 193 computations (56.1% saved)
| Inputs |
|---|
l |
l |
l |
l |
(*.f64 w (neg.f64 l)) |
(+.f64 l (*.f64 l w)) |
(/.f64 (*.f64 l l) l) |
(-.f64 l (*.f64 l w)) |
(/.f64 1 (/.f64 l (*.f64 l l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) 1/2) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 l 1/2)) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 -1/6 (*.f64 w l))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 (*.f64 l 1/2) (*.f64 w (*.f64 l -1/6)))) l))) |
(exp.f64 (neg.f64 w)) |
(*.f64 (exp.f64 w) l) |
(/.f64 l (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) l) |
(*.f64 (exp.f64 (neg.f64 w)) l) |
(/.f64 (pow.f64 l 3) (*.f64 l l)) |
(-.f64 (+.f64 1 (*.f64 (exp.f64 w) l)) 1) |
(*.f64 w (*.f64 l (+.f64 (log.f64 l) -1))) |
(-.f64 (+.f64 1 (/.f64 l (exp.f64 w))) 1) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(/.f64 1 (/.f64 (*.f64 l l) (pow.f64 l 3))) |
(*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) |
(+.f64 l (*.f64 w (*.f64 (-.f64 (log.f64 l) 1) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 1 w)) w)) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 l (*.f64 l (*.f64 w (log.f64 l))))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 1/2 w)))) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) w)) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(exp.f64 (-.f64 (*.f64 (exp.f64 w) (log.f64 l)) w)) |
| Outputs |
|---|
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
2 calls:
| 18.0ms | l |
| 17.0ms | w |
| Error | Segments | Branch |
|---|---|---|
| 0.2b | 1 | w |
| 0.2b | 1 | l |
Compiled 303 to 140 computations (53.8% saved)
| Inputs |
|---|
l |
l |
l |
l |
(*.f64 w (neg.f64 l)) |
(+.f64 l (*.f64 l w)) |
(/.f64 (*.f64 l l) l) |
(-.f64 l (*.f64 l w)) |
(/.f64 1 (/.f64 l (*.f64 l l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) 1/2) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 l 1/2)) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 -1/6 (*.f64 w l))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 (*.f64 l 1/2) (*.f64 w (*.f64 l -1/6)))) l))) |
(exp.f64 (neg.f64 w)) |
(*.f64 (exp.f64 w) l) |
(/.f64 l (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) l) |
(*.f64 (exp.f64 (neg.f64 w)) l) |
(/.f64 (pow.f64 l 3) (*.f64 l l)) |
(-.f64 (+.f64 1 (*.f64 (exp.f64 w) l)) 1) |
(*.f64 w (*.f64 l (+.f64 (log.f64 l) -1))) |
(-.f64 (+.f64 1 (/.f64 l (exp.f64 w))) 1) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(/.f64 1 (/.f64 (*.f64 l l) (pow.f64 l 3))) |
(*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) |
(+.f64 l (*.f64 w (*.f64 (-.f64 (log.f64 l) 1) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 1 w)) w)) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
(/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) (+.f64 l (*.f64 l (*.f64 w (log.f64 l))))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 1/2 w)))) w)) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 (+.f64 1 w) (*.f64 w (*.f64 w (+.f64 (*.f64 w 1/6) 1/2))))) w)) |
| Outputs |
|---|
(/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
2 calls:
| 17.0ms | l |
| 17.0ms | w |
| Error | Segments | Branch |
|---|---|---|
| 1.4b | 1 | w |
| 1.4b | 1 | l |
Compiled 288 to 135 computations (53.1% saved)
| Inputs |
|---|
l |
l |
l |
l |
(*.f64 w (neg.f64 l)) |
(+.f64 l (*.f64 l w)) |
(/.f64 (*.f64 l l) l) |
(-.f64 l (*.f64 l w)) |
(/.f64 1 (/.f64 l (*.f64 l l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) 1/2) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 l 1/2)) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 -1/6 (*.f64 w l))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 (*.f64 l 1/2) (*.f64 w (*.f64 l -1/6)))) l))) |
(exp.f64 (neg.f64 w)) |
(*.f64 (exp.f64 w) l) |
(/.f64 l (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) l) |
(*.f64 (exp.f64 (neg.f64 w)) l) |
(/.f64 (pow.f64 l 3) (*.f64 l l)) |
(-.f64 (+.f64 1 (*.f64 (exp.f64 w) l)) 1) |
(*.f64 w (*.f64 l (+.f64 (log.f64 l) -1))) |
(-.f64 (+.f64 1 (/.f64 l (exp.f64 w))) 1) |
(*.f64 l (*.f64 (+.f64 -1 (log.f64 l)) w)) |
(/.f64 1 (/.f64 (*.f64 l l) (pow.f64 l 3))) |
(*.f64 (-.f64 (+.f64 1 (*.f64 w (log.f64 l))) w) l) |
(+.f64 l (*.f64 w (*.f64 (-.f64 (log.f64 l) 1) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 l (log.f64 l)) l))) |
(exp.f64 (-.f64 (*.f64 (log.f64 l) (+.f64 1 w)) w)) |
(*.f64 l (fma.f64 (log.f64 l) w (-.f64 1 w))) |
(fma.f64 w (*.f64 l (+.f64 (log.f64 l) -1)) l) |
| Outputs |
|---|
(*.f64 (exp.f64 (neg.f64 w)) l) |
2 calls:
| 15.0ms | w |
| 15.0ms | l |
| Error | Segments | Branch |
|---|---|---|
| 1.5b | 1 | w |
| 1.5b | 1 | l |
Compiled 231 to 110 computations (52.4% saved)
| Inputs |
|---|
l |
l |
l |
l |
(*.f64 w (neg.f64 l)) |
(+.f64 l (*.f64 l w)) |
(/.f64 (*.f64 l l) l) |
(-.f64 l (*.f64 l w)) |
(/.f64 1 (/.f64 l (*.f64 l l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) 1/2) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 l 1/2)) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 -1/6 (*.f64 w l))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 (*.f64 l 1/2) (*.f64 w (*.f64 l -1/6)))) l))) |
(exp.f64 (neg.f64 w)) |
(*.f64 (exp.f64 w) l) |
(/.f64 l (exp.f64 w)) |
| Outputs |
|---|
(/.f64 l (exp.f64 w)) |
2 calls:
| 9.0ms | l |
| 8.0ms | w |
| Error | Segments | Branch |
|---|---|---|
| 1.5b | 1 | w |
| 1.5b | 1 | l |
Compiled 116 to 57 computations (50.9% saved)
| Inputs |
|---|
l |
l |
l |
l |
(*.f64 w (neg.f64 l)) |
(+.f64 l (*.f64 l w)) |
(/.f64 (*.f64 l l) l) |
(-.f64 l (*.f64 l w)) |
(/.f64 1 (/.f64 l (*.f64 l l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) 1/2) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 l 1/2)) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 -1/6 (*.f64 w l))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 (*.f64 l 1/2) (*.f64 w (*.f64 l -1/6)))) l))) |
(exp.f64 (neg.f64 w)) |
(*.f64 (exp.f64 w) l) |
| Outputs |
|---|
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) |
(exp.f64 (neg.f64 w)) |
2 calls:
| 15.0ms | w |
| 8.0ms | l |
| Error | Segments | Branch |
|---|---|---|
| 1.5b | 2 | w |
| 14.5b | 1 | l |
Compiled 112 to 56 computations (50% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 51.0ms | 6.867806708833399 | 123711867759540.53 |
Compiled 255 to 181 computations (29% saved)
| Inputs |
|---|
l |
l |
l |
l |
(*.f64 w (neg.f64 l)) |
(+.f64 l (*.f64 l w)) |
(/.f64 (*.f64 l l) l) |
(-.f64 l (*.f64 l w)) |
(/.f64 1 (/.f64 l (*.f64 l l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) 1/2) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 l 1/2)) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 -1/6 (*.f64 w l))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (+.f64 (*.f64 l 1/2) (*.f64 w (*.f64 l -1/6)))) l))) |
| Outputs |
|---|
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) |
(/.f64 (*.f64 l l) l) |
2 calls:
| 14.0ms | w |
| 8.0ms | l |
| Error | Segments | Branch |
|---|---|---|
| 8.9b | 2 | w |
| 14.5b | 1 | l |
Compiled 105 to 52 computations (50.5% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 3.989686033603621e-11 | 1.0019481598517457e-5 |
Compiled 15 to 11 computations (26.7% saved)
| Inputs |
|---|
l |
l |
l |
l |
(*.f64 w (neg.f64 l)) |
(+.f64 l (*.f64 l w)) |
(/.f64 (*.f64 l l) l) |
(-.f64 l (*.f64 l w)) |
(/.f64 1 (/.f64 l (*.f64 l l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) 1/2) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 l 1/2)) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 -1/6 (*.f64 w l))) l))) |
| Outputs |
|---|
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 -1/6 (*.f64 w l))) l))) |
(/.f64 (*.f64 l l) l) |
2 calls:
| 13.0ms | w |
| 9.0ms | l |
| Error | Segments | Branch |
|---|---|---|
| 8.9b | 2 | w |
| 14.5b | 1 | l |
Compiled 73 to 34 computations (53.4% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 3.989686033603621e-11 | 1.0019481598517457e-5 |
Compiled 15 to 11 computations (26.7% saved)
| Inputs |
|---|
l |
l |
l |
l |
(*.f64 w (neg.f64 l)) |
(+.f64 l (*.f64 l w)) |
(/.f64 (*.f64 l l) l) |
(-.f64 l (*.f64 l w)) |
(/.f64 1 (/.f64 l (*.f64 l l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) 1/2) l))) |
(+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 l 1/2)) l))) |
| Outputs |
|---|
(+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) 1/2) l))) |
(/.f64 (*.f64 l l) l) |
2 calls:
| 12.0ms | w |
| 6.0ms | l |
| Error | Segments | Branch |
|---|---|---|
| 8.9b | 2 | w |
| 14.5b | 1 | l |
Compiled 60 to 27 computations (55% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 3.989686033603621e-11 | 1.0019481598517457e-5 |
Compiled 15 to 11 computations (26.7% saved)
| Inputs |
|---|
l |
l |
l |
l |
(*.f64 w (neg.f64 l)) |
(+.f64 l (*.f64 l w)) |
(/.f64 (*.f64 l l) l) |
(-.f64 l (*.f64 l w)) |
(/.f64 1 (/.f64 l (*.f64 l l))) |
| Outputs |
|---|
(-.f64 l (*.f64 l w)) |
(/.f64 (*.f64 l l) l) |
2 calls:
| 10.0ms | w |
| 5.0ms | l |
| Error | Segments | Branch |
|---|---|---|
| 8.9b | 2 | w |
| 14.5b | 1 | l |
Compiled 38 to 16 computations (57.9% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 3.989686033603621e-11 | 1.0019481598517457e-5 |
Compiled 15 to 11 computations (26.7% saved)
| Inputs |
|---|
l |
l |
l |
l |
(*.f64 w (neg.f64 l)) |
(+.f64 l (*.f64 l w)) |
(/.f64 (*.f64 l l) l) |
| Outputs |
|---|
l |
(/.f64 (*.f64 l l) l) |
2 calls:
| 8.0ms | w |
| 5.0ms | l |
| Error | Segments | Branch |
|---|---|---|
| 8.9b | 2 | w |
| 14.5b | 1 | l |
Compiled 26 to 12 computations (53.8% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 37.0ms | 0.24719377961522787 | 6.867806708833399 |
Compiled 99 to 67 computations (32.3% saved)
Total -46.7b remaining (-321.1%)
Threshold costs -46.7b (-321.1%)
| Inputs |
|---|
l |
l |
l |
l |
(*.f64 w (neg.f64 l)) |
(+.f64 l (*.f64 l w)) |
| Outputs |
|---|
l |
2 calls:
| 4.0ms | w |
| 4.0ms | l |
| Error | Segments | Branch |
|---|---|---|
| 14.5b | 1 | w |
| 14.5b | 1 | l |
Compiled 21 to 10 computations (52.4% saved)
| 1× | egg-herbie |
| 16× | *-commutative_binary64 |
| 12× | +-commutative_binary64 |
| 7× | sub-neg_binary64 |
| 3× | neg-sub0_binary64 |
| 3× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 51 | 219 |
| 1 | 81 | 219 |
| 2 | 95 | 219 |
| 3 | 100 | 219 |
| 4 | 102 | 219 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) l) |
(/.f64 l (exp.f64 w)) |
(if (<=.f64 w 7) (+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) (exp.f64 (neg.f64 w))) |
(if (<=.f64 w 3160954934512383488/79228162514264337593543950336) (+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) (/.f64 (*.f64 l l) l)) |
(if (<=.f64 w 3160954934512383488/79228162514264337593543950336) (+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 -1/6 (*.f64 w l))) l))) (/.f64 (*.f64 l l) l)) |
(if (<=.f64 w 3160954934512383488/79228162514264337593543950336) (+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) 1/2) l))) (/.f64 (*.f64 l l) l)) |
(if (<=.f64 w 3160954934512383488/79228162514264337593543950336) (-.f64 l (*.f64 l w)) (/.f64 (*.f64 l l) l)) |
(if (<=.f64 w 7656119366529843/1125899906842624) l (/.f64 (*.f64 l l) l)) |
l |
| Outputs |
|---|
(*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w))) |
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)) |
(/.f64 (+.f64 l (*.f64 l (*.f64 w (log.f64 l)))) (exp.f64 w)) |
(*.f64 (exp.f64 (neg.f64 w)) l) |
(/.f64 l (exp.f64 w)) |
(if (<=.f64 w 7) (+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) (exp.f64 (neg.f64 w))) |
(if (<=.f64 w 7) (+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 w l) (+.f64 1/2 (*.f64 w -1/6))) l))) (exp.f64 (neg.f64 w))) |
(if (<=.f64 w 3160954934512383488/79228162514264337593543950336) (+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) (+.f64 1/2 (*.f64 w -1/6))) l))) (/.f64 (*.f64 l l) l)) |
(if (<=.f64 w 6173740106469499/154742504910672534362390528) (+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 w l) (+.f64 1/2 (*.f64 w -1/6))) l))) (/.f64 (*.f64 l l) l)) |
(if (<=.f64 w 3160954934512383488/79228162514264337593543950336) (+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 -1/6 (*.f64 w l))) l))) (/.f64 (*.f64 l l) l)) |
(if (<=.f64 w 6173740106469499/154742504910672534362390528) (+.f64 l (*.f64 w (-.f64 (*.f64 w (*.f64 (*.f64 w l) -1/6)) l))) (/.f64 (*.f64 l l) l)) |
(if (<=.f64 w 3160954934512383488/79228162514264337593543950336) (+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 l w) 1/2) l))) (/.f64 (*.f64 l l) l)) |
(if (<=.f64 w 6173740106469499/154742504910672534362390528) (+.f64 l (*.f64 w (-.f64 (*.f64 (*.f64 w l) 1/2) l))) (/.f64 (*.f64 l l) l)) |
(if (<=.f64 w 3160954934512383488/79228162514264337593543950336) (-.f64 l (*.f64 l w)) (/.f64 (*.f64 l l) l)) |
(if (<=.f64 w 6173740106469499/154742504910672534362390528) (-.f64 l (*.f64 w l)) (/.f64 (*.f64 l l) l)) |
(if (<=.f64 w 7656119366529843/1125899906842624) l (/.f64 (*.f64 l l) l)) |
l |
Compiled 172 to 106 computations (38.4% saved)
Compiled 150 to 64 computations (57.3% saved)
Loading profile data...