Details

Time bar (total: 7.6s)

analyze742.0ms (9.8%)

Algorithm
search
Search
TrueOtherFalseIter
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
18.7%81.2%0.1%6
28.1%71.8%0.1%7
32.8%67.1%0.1%8
38.2%61.7%0.1%9
41%58.9%0.1%10
43.9%56%0.1%11
45.4%54.5%0.1%12
46.9%53%0.1%13
47.6%52.3%0.1%14
Compiler

Compiled 19 to 9 computations (52.6% saved)

sample3.8s (50.6%)

Results
2.1s3754×body8192exit
752.0ms6802×body128valid
591.0ms3930×body128invalid
188.0ms700×body512valid
148.0ms736×body256valid
7.0ms18×body1024valid
Compiler

Compiled 38 to 18 computations (52.6% saved)

preprocess35.0ms (0.5%)

Algorithm
egg-herbie
Rules
385×div-sub_binary64
340×times-frac_binary64
270×distribute-rgt-in_binary64
248×distribute-rgt-neg-in_binary64
229×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01546
14046
210946
330342
483136
5325736
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(-.f64 x (/.f64 (-.f64 (*.f64 x (exp.f64 x)) wj) (+.f64 (exp.f64 x) (*.f64 x (exp.f64 x)))))
Outputs
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (*.f64 (+.f64 wj 1) (exp.f64 wj))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (*.f64 (exp.f64 wj) (+.f64 wj 1))))
(-.f64 wj (/.f64 (-.f64 (/.f64 wj 1) (/.f64 x (exp.f64 wj))) (+.f64 wj 1)))
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
(+.f64 wj (/.f64 (-.f64 wj (/.f64 x (exp.f64 wj))) (-.f64 -1 wj)))
(-.f64 x (/.f64 (-.f64 (*.f64 x (exp.f64 x)) wj) (+.f64 (exp.f64 x) (*.f64 x (exp.f64 x)))))
(-.f64 x (/.f64 (fma.f64 x (exp.f64 x) (neg.f64 wj)) (*.f64 (+.f64 x 1) (exp.f64 x))))
(-.f64 x (/.f64 (-.f64 (*.f64 x (exp.f64 x)) wj) (*.f64 (exp.f64 x) (+.f64 x 1))))
(-.f64 x (/.f64 (/.f64 (fma.f64 x (exp.f64 x) (neg.f64 wj)) (+.f64 x 1)) (exp.f64 x)))
(-.f64 x (/.f64 (-.f64 (/.f64 x 1) (/.f64 wj (exp.f64 x))) (+.f64 x 1)))
(-.f64 x (/.f64 (-.f64 x (/.f64 wj (exp.f64 x))) (+.f64 x 1)))
Compiler

Compiled 18 to 8 computations (55.6% saved)

simplify28.0ms (0.4%)

Algorithm
egg-herbie
Rules
503×fma-def_binary64
481×div-sub_binary64
467×fma-neg_binary64
288×associate-/r*_binary64
282×associate-/l/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0923
12223
25823
315521
443218
5149518
6469018
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
Outputs
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (*.f64 (+.f64 wj 1) (exp.f64 wj))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (*.f64 (exp.f64 wj) (+.f64 wj 1))))
(-.f64 wj (/.f64 (-.f64 (/.f64 wj 1) (/.f64 x (exp.f64 wj))) (+.f64 wj 1)))
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
13.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
13.6b
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
13.9b
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
Compiler

Compiled 94 to 48 computations (48.9% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))
0.0b
(/.f64 x (exp.f64 wj))
5.2b
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))

series44.0ms (0.6%)

Counts
3 → 52
Calls

18 calls:

TimeVariablePointExpression
5.0ms
x
@inf
(/.f64 x (exp.f64 wj))
4.0ms
x
@-inf
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
4.0ms
x
@inf
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
3.0ms
x
@0
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
3.0ms
x
@-inf
(/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))

rewrite72.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
528×fma-def_binary64
354×fma-neg_binary64
218×log1p-udef_binary64
217×expm1-udef_binary64
125×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01039
123239
2372339
Stop Event
node limit
Counts
3 → 159
Calls
Call 1
Inputs
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
(/.f64 x (exp.f64 wj))
(/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (-.f64 (/.f64 wj (+.f64 wj 1)) wj))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 wj wj) (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (/.f64 (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2) (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 wj (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) 2) (cbrt.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (sqrt.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 wj 3) (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 3)) (/.f64 1 (fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) (-.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) wj) (*.f64 wj wj))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 wj wj) (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2)) (/.f64 1 (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) (-.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) wj) (*.f64 wj wj)) (+.f64 (pow.f64 wj 3) (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) (-.f64 (*.f64 wj wj) (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 wj 3) (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 3)) (fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) (-.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) wj) (*.f64 wj wj)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 wj 3) (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 3)) (+.f64 (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2) (-.f64 (*.f64 wj wj) (/.f64 wj (/.f64 (+.f64 wj 1) (-.f64 (/.f64 x (exp.f64 wj)) wj))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 wj wj) (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2)) (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 wj 3) (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 3))) (neg.f64 (fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) (-.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) wj) (*.f64 wj wj))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 wj wj) (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2))) (neg.f64 (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2) (*.f64 wj wj)) (-.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) wj))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 wj 1 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (exp.f64 wj)) (/.f64 1 (+.f64 wj 1)) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (/.f64 1 (+.f64 wj 1)) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 1 wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 wj) (pow.f64 (cbrt.f64 wj) 2) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 wj) 2) (cbrt.f64 wj) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 wj) 2) (*.f64 (cbrt.f64 wj) 1) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) (pow.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) 2) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) 2) (cbrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) 2) (*.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (/.f64 1 (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 wj) (sqrt.f64 wj) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 wj) (*.f64 (sqrt.f64 wj) 1) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) (sqrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (*.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (/.f64 1 (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (/.f64 1 (fma.f64 -1 wj -1)) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (+.f64 wj 1)) (-.f64 (/.f64 x (exp.f64 wj)) wj) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))) (cbrt.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)))) (cbrt.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))) (sqrt.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (cbrt.f64 (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (/.f64 x (exp.f64 wj)) (cbrt.f64 (+.f64 wj 1))) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (hypot.f64 1 (sqrt.f64 wj))) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (hypot.f64 1 (sqrt.f64 wj))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (hypot.f64 1 (sqrt.f64 wj))) (/.f64 (/.f64 x (exp.f64 wj)) (hypot.f64 1 (sqrt.f64 wj))) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) 2) 1) (/.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (+.f64 wj 1)) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) 1) (/.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (+.f64 wj 1)) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) 2) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (cbrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (cbrt.f64 (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) 2) (hypot.f64 1 (sqrt.f64 wj))) (/.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (hypot.f64 1 (sqrt.f64 wj))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) 2) 1) (/.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) (+.f64 wj 1)) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) 1) (/.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) (+.f64 wj 1)) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (exp.f64 (neg.f64 wj)) (cbrt.f64 (+.f64 wj 1))) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) 2) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) (cbrt.f64 (+.f64 wj 1))) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) (cbrt.f64 (+.f64 wj 1))) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (hypot.f64 1 (sqrt.f64 wj))) (/.f64 (exp.f64 (neg.f64 wj)) (hypot.f64 1 (sqrt.f64 wj))) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) 2) (hypot.f64 1 (sqrt.f64 wj))) (/.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) (hypot.f64 1 (sqrt.f64 wj))) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) (hypot.f64 1 (sqrt.f64 wj))) (/.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) (hypot.f64 1 (sqrt.f64 wj))) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 1 (pow.f64 wj 3))) (-.f64 (fma.f64 wj wj 1) wj) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (fma.f64 wj wj -1)) (+.f64 wj -1) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 1 (pow.f64 wj 3))) (-.f64 (fma.f64 wj wj 1) wj) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 x (exp.f64 wj)) (fma.f64 wj wj -1)) (+.f64 wj -1) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 x (exp.f64 wj)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (exp.f64 (neg.f64 wj)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (exp.f64 wj)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 x (exp.f64 wj)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) (pow.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) 2) (cbrt.f64 (/.f64 x (exp.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (exp.f64 (neg.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) (sqrt.f64 (/.f64 x (exp.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (exp.f64 (neg.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (neg.f64 (exp.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 wj)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (exp.f64 wj)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (exp.f64 wj)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (exp.f64 wj) 2))) (/.f64 x (cbrt.f64 (exp.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (pow.f64 (exp.f64 wj) 2))) (cbrt.f64 (/.f64 x (exp.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) (cbrt.f64 (pow.f64 (exp.f64 wj) 2))) (/.f64 (sqrt.f64 x) (cbrt.f64 (exp.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (exp.f64 wj))) (/.f64 x (sqrt.f64 (exp.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (exp.f64 wj))) (/.f64 (cbrt.f64 x) (sqrt.f64 (exp.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (exp.f64 wj)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x (exp.f64 wj)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (exp.f64 wj) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (neg.f64 (exp.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 x (exp.f64 wj)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 x (exp.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 x (exp.f64 wj)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 x (exp.f64 wj)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 x (exp.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 x) wj))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log.f64 x) wj) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 x (exp.f64 wj))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (/.f64 1 (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) (pow.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) 2) (cbrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) 2) (*.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (/.f64 1 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) (sqrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (*.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (/.f64 1 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (/.f64 1 (fma.f64 -1 wj -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 wj 1)) (-.f64 (/.f64 x (exp.f64 wj)) wj))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (cbrt.f64 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 1 (sqrt.f64 wj))) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (hypot.f64 1 (sqrt.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) 2) 1) (/.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) 1) (/.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) 2) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (cbrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (cbrt.f64 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) 2) (hypot.f64 1 (sqrt.f64 wj))) (/.f64 (cbrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (hypot.f64 1 (sqrt.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 1 (pow.f64 wj 3))) (-.f64 (fma.f64 wj wj 1) wj))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (fma.f64 wj wj -1)) (+.f64 wj -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 wj 1) (-.f64 (/.f64 x (exp.f64 wj)) wj)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (fma.f64 -1 wj -1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (exp.f64 wj)) (/.f64 1 (+.f64 wj 1)) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))) (cbrt.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)))) (cbrt.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))) (sqrt.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (/.f64 x (exp.f64 wj)) (cbrt.f64 (+.f64 wj 1))) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (hypot.f64 1 (sqrt.f64 wj))) (/.f64 (/.f64 x (exp.f64 wj)) (hypot.f64 1 (sqrt.f64 wj))) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) 2) 1) (/.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) (+.f64 wj 1)) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) 1) (/.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) (+.f64 wj 1)) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (exp.f64 (neg.f64 wj)) (cbrt.f64 (+.f64 wj 1))) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) 2) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) (cbrt.f64 (+.f64 wj 1))) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) (cbrt.f64 (+.f64 wj 1))) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (hypot.f64 1 (sqrt.f64 wj))) (/.f64 (exp.f64 (neg.f64 wj)) (hypot.f64 1 (sqrt.f64 wj))) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) 2) (hypot.f64 1 (sqrt.f64 wj))) (/.f64 (cbrt.f64 (/.f64 x (exp.f64 wj))) (hypot.f64 1 (sqrt.f64 wj))) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) (hypot.f64 1 (sqrt.f64 wj))) (/.f64 (sqrt.f64 (/.f64 x (exp.f64 wj))) (hypot.f64 1 (sqrt.f64 wj))) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 1 (pow.f64 wj 3))) (-.f64 (fma.f64 wj wj 1) wj) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 x (exp.f64 wj)) (fma.f64 wj wj -1)) (+.f64 wj -1) (neg.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (log1p.f64 wj)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (log1p.f64 wj)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))))))

simplify45.0ms (0.6%)

Algorithm
egg-herbie
Rules
685×fma-neg_binary64
565×sub-neg_binary64
284×associate--l+_binary64
259×fma-def_binary64
242×associate--r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0791071
12451062
28061046
332971040
Stop Event
node limit
Counts
211 → 204
Calls
Call 1
Inputs
x
(-.f64 x (*.f64 2 (*.f64 wj x)))
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (*.f64 2 (*.f64 wj x)))
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (+.f64 (*.f64 2 (*.f64 wj x)) (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3))))
wj
(-.f64 wj 1)
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (+.f64 (/.f64 1 wj) wj)) 1)
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (+.f64 (/.f64 1 wj) wj)) (+.f64 1 (+.f64 (/.f64 1 (pow.f64 wj 2)) (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 2))))))
wj
(-.f64 wj 1)
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (+.f64 (/.f64 1 wj) wj)) 1)
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (+.f64 (/.f64 1 wj) wj)) (+.f64 1 (+.f64 (/.f64 1 (pow.f64 wj 2)) (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 2))))))
(-.f64 wj (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj)))
(-.f64 (+.f64 (/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj)))
(-.f64 (+.f64 (/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj))) wj) (/.f64 wj (+.f64 1 wj)))
x
(-.f64 x (*.f64 wj x))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 wj 2) x)) x) (*.f64 wj x))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 wj 2) x)) x) (+.f64 (*.f64 wj x) (*.f64 1/6 (*.f64 (pow.f64 wj 3) x))))
(*.f64 -1 (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
x
(-.f64 x (+.f64 (*.f64 2 (*.f64 wj x)) wj))
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (+.f64 (*.f64 2 (*.f64 wj x)) wj))
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (+.f64 (*.f64 2 (*.f64 wj x)) (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (+.f64 (pow.f64 wj 3) wj))))
-1
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (/.f64 1 wj)) 1)
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (/.f64 1 wj)) (+.f64 (/.f64 1 (pow.f64 wj 2)) (+.f64 1 (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 2))))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 wj 3)) (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (+.f64 (/.f64 1 wj) (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 3)))))) (+.f64 (/.f64 1 (pow.f64 wj 2)) (+.f64 1 (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 2))))))
-1
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (/.f64 1 wj)) 1)
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (/.f64 1 wj)) (+.f64 (/.f64 1 (pow.f64 wj 2)) (+.f64 1 (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 2))))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 wj 3)) (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (+.f64 (/.f64 1 wj) (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 3)))))) (+.f64 (/.f64 1 (pow.f64 wj 2)) (+.f64 1 (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 2))))))
Outputs
x
(-.f64 x (*.f64 2 (*.f64 wj x)))
(+.f64 x (*.f64 -2 (*.f64 x wj)))
(+.f64 x (*.f64 (*.f64 x wj) -2))
(fma.f64 (*.f64 x wj) -2 x)
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (*.f64 2 (*.f64 wj x)))
(+.f64 (fma.f64 5/2 (*.f64 x (*.f64 wj wj)) (+.f64 x (*.f64 wj wj))) (*.f64 -2 (*.f64 x wj)))
(+.f64 (fma.f64 5/2 (*.f64 x (*.f64 wj wj)) (fma.f64 wj wj x)) (*.f64 (*.f64 x wj) -2))
(fma.f64 (*.f64 x wj) -2 (fma.f64 x (*.f64 wj (*.f64 wj 5/2)) (fma.f64 wj wj x)))
(+.f64 (fma.f64 wj wj x) (*.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2))))
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (+.f64 (*.f64 2 (*.f64 wj x)) (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3))))
(-.f64 (fma.f64 5/2 (*.f64 x (*.f64 wj wj)) (+.f64 x (*.f64 wj wj))) (fma.f64 2 (*.f64 x wj) (fma.f64 8/3 (*.f64 x (pow.f64 wj 3)) (pow.f64 wj 3))))
(-.f64 (fma.f64 5/2 (*.f64 x (*.f64 wj wj)) (fma.f64 wj wj x)) (fma.f64 2 (*.f64 x wj) (fma.f64 8/3 (*.f64 x (pow.f64 wj 3)) (pow.f64 wj 3))))
(-.f64 (fma.f64 x (*.f64 wj (*.f64 wj 5/2)) (fma.f64 wj wj x)) (fma.f64 x (fma.f64 2 wj (*.f64 8/3 (pow.f64 wj 3))) (pow.f64 wj 3)))
(+.f64 (fma.f64 wj wj x) (fma.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2)) (*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))))
wj
(-.f64 wj 1)
(+.f64 wj -1)
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (+.f64 (/.f64 1 wj) wj)) 1)
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (-.f64 (+.f64 wj (/.f64 1 wj)) 1))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 wj (+.f64 (/.f64 1 wj) -1)))
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (+.f64 (/.f64 1 wj) wj)) (+.f64 1 (+.f64 (/.f64 1 (pow.f64 wj 2)) (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 2))))))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (-.f64 (+.f64 wj (/.f64 1 wj)) (+.f64 (+.f64 1 (/.f64 1 (*.f64 wj wj))) (/.f64 (/.f64 x (exp.f64 wj)) (*.f64 wj wj)))))
(+.f64 (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (/.f64 1 wj)) (-.f64 wj (+.f64 (/.f64 1 (*.f64 wj wj)) (+.f64 1 (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))))))
(+.f64 wj (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (-.f64 (+.f64 (/.f64 1 wj) -1) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))) (/.f64 -1 (*.f64 wj wj)))))
(+.f64 wj (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (+.f64 (/.f64 1 wj) -1) (-.f64 (/.f64 -1 (*.f64 wj wj)) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))))))
wj
(-.f64 wj 1)
(+.f64 wj -1)
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (+.f64 (/.f64 1 wj) wj)) 1)
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (-.f64 (+.f64 wj (/.f64 1 wj)) 1))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 wj (+.f64 (/.f64 1 wj) -1)))
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (+.f64 (/.f64 1 wj) wj)) (+.f64 1 (+.f64 (/.f64 1 (pow.f64 wj 2)) (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 2))))))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (-.f64 (+.f64 wj (/.f64 1 wj)) (+.f64 (+.f64 1 (/.f64 1 (*.f64 wj wj))) (/.f64 (/.f64 x (exp.f64 wj)) (*.f64 wj wj)))))
(+.f64 (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (/.f64 1 wj)) (-.f64 wj (+.f64 (/.f64 1 (*.f64 wj wj)) (+.f64 1 (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))))))
(+.f64 wj (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (-.f64 (+.f64 (/.f64 1 wj) -1) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))) (/.f64 -1 (*.f64 wj wj)))))
(+.f64 wj (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (+.f64 (/.f64 1 wj) -1) (-.f64 (/.f64 -1 (*.f64 wj wj)) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))))))
(-.f64 wj (/.f64 wj (+.f64 1 wj)))
(-.f64 wj (/.f64 wj (+.f64 wj 1)))
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(+.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj)))))
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(+.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj)))))
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(+.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj)))))
(/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj)))
(/.f64 x (fma.f64 (exp.f64 wj) wj (exp.f64 wj)))
(/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj)))
(-.f64 (+.f64 (/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(+.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj)))))
(-.f64 (+.f64 (/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(+.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj)))))
(-.f64 (+.f64 (/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(+.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj)))))
(/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj)))
(/.f64 x (fma.f64 (exp.f64 wj) wj (exp.f64 wj)))
(/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj)))
(-.f64 (+.f64 (/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(+.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj)))))
(-.f64 (+.f64 (/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(+.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj)))))
(-.f64 (+.f64 (/.f64 x (+.f64 (*.f64 (exp.f64 wj) wj) (exp.f64 wj))) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(+.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj)))))
x
(-.f64 x (*.f64 wj x))
(-.f64 x (*.f64 x wj))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 wj 2) x)) x) (*.f64 wj x))
(-.f64 (fma.f64 1/2 (*.f64 x (*.f64 wj wj)) x) (*.f64 x wj))
(-.f64 (fma.f64 (*.f64 x (*.f64 wj wj)) 1/2 x) (*.f64 x wj))
(*.f64 x (-.f64 (fma.f64 (*.f64 wj wj) 1/2 1) wj))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 wj 2) x)) x) (+.f64 (*.f64 wj x) (*.f64 1/6 (*.f64 (pow.f64 wj 3) x))))
(-.f64 (fma.f64 1/2 (*.f64 x (*.f64 wj wj)) x) (fma.f64 wj x (*.f64 (*.f64 x (pow.f64 wj 3)) 1/6)))
(-.f64 (fma.f64 (*.f64 x (*.f64 wj wj)) 1/2 x) (*.f64 x (+.f64 wj (*.f64 (pow.f64 wj 3) 1/6))))
(+.f64 x (*.f64 x (-.f64 (*.f64 wj (*.f64 wj 1/2)) (fma.f64 (pow.f64 wj 3) 1/6 wj))))
(*.f64 x (-.f64 (fma.f64 (*.f64 wj wj) 1/2 1) (fma.f64 (pow.f64 wj 3) 1/6 wj)))
(*.f64 -1 (/.f64 wj (+.f64 1 wj)))
(neg.f64 (/.f64 wj (+.f64 wj 1)))
(/.f64 (neg.f64 wj) (+.f64 wj 1))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1)))
(/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj)))
(/.f64 x (fma.f64 (exp.f64 wj) wj (exp.f64 wj)))
(/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1)))
(/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj)))
(/.f64 x (fma.f64 (exp.f64 wj) wj (exp.f64 wj)))
(/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (*.f64 (exp.f64 wj) (+.f64 1 wj))) (/.f64 wj (+.f64 1 wj)))
(-.f64 (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1)) (/.f64 wj (+.f64 wj 1)))
(-.f64 (/.f64 x (fma.f64 wj (exp.f64 wj) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1)))
x
(-.f64 x (+.f64 (*.f64 2 (*.f64 wj x)) wj))
(-.f64 x (fma.f64 2 (*.f64 x wj) wj))
(-.f64 x (fma.f64 x (*.f64 2 wj) wj))
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (+.f64 (*.f64 2 (*.f64 wj x)) wj))
(-.f64 (fma.f64 5/2 (*.f64 x (*.f64 wj wj)) (+.f64 x (*.f64 wj wj))) (fma.f64 2 (*.f64 x wj) wj))
(fma.f64 5/2 (*.f64 x (*.f64 wj wj)) (-.f64 (fma.f64 wj wj x) (fma.f64 2 (*.f64 x wj) wj)))
(-.f64 (fma.f64 x (*.f64 wj (*.f64 wj 5/2)) (fma.f64 wj wj x)) (fma.f64 x (*.f64 2 wj) wj))
(-.f64 (+.f64 (fma.f64 wj wj x) (*.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2)))) wj)
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (+.f64 (*.f64 2 (*.f64 wj x)) (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (+.f64 (pow.f64 wj 3) wj))))
(-.f64 (fma.f64 5/2 (*.f64 x (*.f64 wj wj)) (+.f64 x (*.f64 wj wj))) (fma.f64 2 (*.f64 x wj) (+.f64 (fma.f64 8/3 (*.f64 x (pow.f64 wj 3)) (pow.f64 wj 3)) wj)))
(-.f64 (fma.f64 5/2 (*.f64 x (*.f64 wj wj)) (fma.f64 wj wj x)) (+.f64 (fma.f64 8/3 (*.f64 x (pow.f64 wj 3)) (pow.f64 wj 3)) (fma.f64 2 (*.f64 x wj) wj)))
(-.f64 (fma.f64 x (*.f64 wj (*.f64 wj 5/2)) (fma.f64 wj wj x)) (fma.f64 x (fma.f64 2 wj (*.f64 8/3 (pow.f64 wj 3))) (+.f64 wj (pow.f64 wj 3))))
-1
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (/.f64 1 wj)) 1)
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (-.f64 (/.f64 1 wj) 1))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (/.f64 1 wj) -1))
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (/.f64 1 wj)) (+.f64 (/.f64 1 (pow.f64 wj 2)) (+.f64 1 (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 2))))))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (-.f64 (/.f64 1 wj) (+.f64 (+.f64 (/.f64 1 (*.f64 wj wj)) 1) (/.f64 (/.f64 x (exp.f64 wj)) (*.f64 wj wj)))))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (-.f64 (/.f64 1 wj) (+.f64 (/.f64 1 (*.f64 wj wj)) (+.f64 1 (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))))))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (-.f64 (+.f64 (/.f64 1 wj) -1) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))) (/.f64 -1 (*.f64 wj wj))))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (+.f64 (/.f64 1 wj) -1) (-.f64 (/.f64 -1 (*.f64 wj wj)) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj)))))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 wj 3)) (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (+.f64 (/.f64 1 wj) (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 3)))))) (+.f64 (/.f64 1 (pow.f64 wj 2)) (+.f64 1 (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 2))))))
(+.f64 (/.f64 1 (pow.f64 wj 3)) (-.f64 (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (/.f64 1 wj) (/.f64 x (*.f64 (pow.f64 wj 3) (exp.f64 wj))))) (+.f64 (+.f64 (/.f64 1 (*.f64 wj wj)) 1) (/.f64 (/.f64 x (exp.f64 wj)) (*.f64 wj wj)))))
(+.f64 (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (/.f64 1 wj) (/.f64 x (*.f64 (pow.f64 wj 3) (exp.f64 wj))))) (-.f64 (/.f64 1 (pow.f64 wj 3)) (+.f64 (/.f64 1 (*.f64 wj wj)) (+.f64 1 (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))))))
(+.f64 (/.f64 1 wj) (+.f64 (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (/.f64 x (*.f64 (pow.f64 wj 3) (exp.f64 wj)))) (-.f64 (-.f64 (/.f64 1 (pow.f64 wj 3)) (+.f64 1 (/.f64 1 (*.f64 wj wj)))) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj)))))))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (+.f64 (/.f64 1 wj) (+.f64 (/.f64 1 (pow.f64 wj 3)) (/.f64 x (*.f64 (pow.f64 wj 3) (exp.f64 wj))))) (+.f64 -1 (-.f64 (/.f64 -1 (*.f64 wj wj)) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))))))
-1
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (/.f64 1 wj)) 1)
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (-.f64 (/.f64 1 wj) 1))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (/.f64 1 wj) -1))
(-.f64 (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (/.f64 1 wj)) (+.f64 (/.f64 1 (pow.f64 wj 2)) (+.f64 1 (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 2))))))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (-.f64 (/.f64 1 wj) (+.f64 (+.f64 (/.f64 1 (*.f64 wj wj)) 1) (/.f64 (/.f64 x (exp.f64 wj)) (*.f64 wj wj)))))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (-.f64 (/.f64 1 wj) (+.f64 (/.f64 1 (*.f64 wj wj)) (+.f64 1 (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))))))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (-.f64 (+.f64 (/.f64 1 wj) -1) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))) (/.f64 -1 (*.f64 wj wj))))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (+.f64 (/.f64 1 wj) -1) (-.f64 (/.f64 -1 (*.f64 wj wj)) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj)))))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 wj 3)) (+.f64 (/.f64 x (*.f64 (exp.f64 wj) wj)) (+.f64 (/.f64 1 wj) (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 3)))))) (+.f64 (/.f64 1 (pow.f64 wj 2)) (+.f64 1 (/.f64 x (*.f64 (exp.f64 wj) (pow.f64 wj 2))))))
(+.f64 (/.f64 1 (pow.f64 wj 3)) (-.f64 (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (/.f64 1 wj) (/.f64 x (*.f64 (pow.f64 wj 3) (exp.f64 wj))))) (+.f64 (+.f64 (/.f64 1 (*.f64 wj wj)) 1) (/.f64 (/.f64 x (exp.f64 wj)) (*.f64 wj wj)))))
(+.f64 (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (/.f64 1 wj) (/.f64 x (*.f64 (pow.f64 wj 3) (exp.f64 wj))))) (-.f64 (/.f64 1 (pow.f64 wj 3)) (+.f64 (/.f64 1 (*.f64 wj wj)) (+.f64 1 (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))))))
(+.f64 (/.f64 1 wj) (+.f64 (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (/.f64 x (*.f64 (pow.f64 wj 3) (exp.f64 wj)))) (-.f64 (-.f64 (/.f64 1 (pow.f64 wj 3)) (+.f64 1 (/.f64 1 (*.f64 wj wj)))) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj)))))))
(+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (+.f64 (/.f64 1 wj) (+.f64 (/.f64 1 (pow.f64 wj 3)) (/.f64 x (*.f64 (pow.f64 wj 3) (exp.f64 wj))))) (+.f64 -1 (-.f64 (/.f64 -1 (*.f64 wj wj)) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj))))))))

prune172.0ms (2.3%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2004204
Fresh101
Picked101
Done000
Total2024206
Error
0.1b
Counts
206 → 4
Alt Table
StatusErrorProgram
6.2b
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))
1.4b
(+.f64 (fma.f64 wj wj x) (fma.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2)) (*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))))
32.9b
(-.f64 (/.f64 (*.f64 wj wj) (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (/.f64 (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2) (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))
13.6b
(fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (fma.f64 wj wj -1)) (+.f64 wj -1) wj)
Compiler

Compiled 4318 to 2075 computations (51.9% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 wj (-.f64 (*.f64 wj 5/2) 2))
0.0b
(-.f64 (*.f64 wj 5/2) 2)
0.3b
(*.f64 x 8/3)
4.9b
(*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))

series29.0ms (0.4%)

Counts
4 → 60
Calls

15 calls:

TimeVariablePointExpression
13.0ms
x
@-inf
(*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))
3.0ms
x
@inf
(*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))
3.0ms
x
@0
(*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))
2.0ms
wj
@inf
(*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))
2.0ms
wj
@0
(*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))

rewrite59.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
260×log1p-udef_binary64
252×prod-diff_binary64
166×add-sqr-sqrt_binary64
156×add-cbrt-cube_binary64
156×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01630
135028
2415128
Stop Event
node limit
Counts
4 → 93
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 x 8/3)
(-.f64 (*.f64 wj 5/2) 2)
(*.f64 wj (-.f64 (*.f64 wj 5/2) 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 wj 3) (*.f64 (*.f64 x 8/3) (pow.f64 wj 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 wj 3) (*.f64 (pow.f64 wj 3) (*.f64 x 8/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x 8/3) (pow.f64 wj 3)) (pow.f64 wj 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 wj 3) (*.f64 x 8/3)) (pow.f64 wj 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (fma.f64 x 8/3 1) (pow.f64 wj 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 x 8/3 1) (pow.f64 wj 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 x 8/3) 3)) (pow.f64 wj 3)) (+.f64 (*.f64 64/9 (*.f64 x x)) (-.f64 1 (*.f64 x 8/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 64/9 (*.f64 x x)) -1) (pow.f64 wj 3)) (fma.f64 x 8/3 -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 wj 3) (+.f64 1 (pow.f64 (*.f64 x 8/3) 3))) (+.f64 (*.f64 64/9 (*.f64 x x)) (-.f64 1 (*.f64 x 8/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 wj 3) (+.f64 (*.f64 64/9 (*.f64 x x)) -1)) (fma.f64 x 8/3 -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 x 8/3 1) (pow.f64 wj 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 x 8/3 1) (pow.f64 wj 3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 wj (cbrt.f64 (fma.f64 x 8/3 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (fma.f64 x 8/3 1)) (pow.f64 wj 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (fma.f64 x 8/3 1) (pow.f64 wj 3)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 wj 6) (pow.f64 (fma.f64 x 8/3 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 x 8/3 1)) (pow.f64 wj 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 x 8/3 1) (pow.f64 wj 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 x 8/3 1) (pow.f64 wj 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 x 8/3 1) 3) (pow.f64 (pow.f64 wj 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 wj 3) 3) (pow.f64 (fma.f64 x 8/3 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 x 8/3 1) (pow.f64 wj 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 x 8/3 1) (pow.f64 wj 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 x 8/3 1) (pow.f64 wj 3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 x 8/3 1) (pow.f64 wj 3))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 x 8/3 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 8/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x 8/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x 8/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x 8/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 64/9 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 8/3) x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x 8/3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x 8/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x 8/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x 8/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x 8/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x 8/3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 wj 5/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (*.f64 wj 5/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 wj 5/2 -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 wj 5/2 -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 wj 5/2 -2)) (cbrt.f64 (pow.f64 (fma.f64 wj 5/2 -2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 wj 5/2 -2) 2)) (cbrt.f64 (fma.f64 wj 5/2 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 wj 5/2 -2)) (sqrt.f64 (fma.f64 wj 5/2 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 wj 3) 125/8) -8) (/.f64 1 (+.f64 (*.f64 25/4 (*.f64 wj wj)) (+.f64 4 (*.f64 wj 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 25/4 (*.f64 wj wj)) -4) (/.f64 1 (fma.f64 wj 5/2 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 25/4 (*.f64 wj wj)) (+.f64 4 (*.f64 wj 5))) (+.f64 (*.f64 (pow.f64 wj 3) 125/8) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 wj 5/2 2) (+.f64 (*.f64 25/4 (*.f64 wj wj)) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 wj 3) 125/8) -8) (+.f64 (*.f64 25/4 (*.f64 wj wj)) (+.f64 4 (*.f64 wj 5))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 wj 3) 125/8) -8) (+.f64 (*.f64 25/4 (*.f64 wj wj)) (-.f64 4 (*.f64 (*.f64 wj 5/2) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 25/4 (*.f64 wj wj)) -4) (fma.f64 wj 5/2 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 25/4 (*.f64 wj wj)) -4) (-.f64 (*.f64 wj 5/2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 wj 3) 125/8) -8)) (neg.f64 (+.f64 (*.f64 25/4 (*.f64 wj wj)) (+.f64 4 (*.f64 wj 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 25/4 (*.f64 wj wj)) -4)) (neg.f64 (fma.f64 wj 5/2 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 wj 5/2 -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 wj 5/2 -2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 wj 5/2 -2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 wj 5/2 -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 wj 5/2 -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 wj 5/2 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 wj 5/2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 wj 5/2 -2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 wj 5/2 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 wj 5/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 wj 5/2 -2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 5/2 wj -2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 25/4 (*.f64 wj wj))) (cbrt.f64 (*.f64 wj 5/2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 wj 5/2)) (sqrt.f64 (*.f64 wj 5/2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 wj 5/2 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 wj 5/2 -2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 wj 5/2 -2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 wj 5/2) wj) (*.f64 -2 wj))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 wj (*.f64 wj 5/2)) (*.f64 wj -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 wj (fma.f64 wj 5/2 -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 wj 3) 125/8) -8) wj) (+.f64 (*.f64 25/4 (*.f64 wj wj)) (+.f64 4 (*.f64 wj 5))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 25/4 (*.f64 wj wj)) -4) wj) (fma.f64 wj 5/2 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 wj (+.f64 (*.f64 (pow.f64 wj 3) 125/8) -8)) (+.f64 (*.f64 25/4 (*.f64 wj wj)) (+.f64 4 (*.f64 wj 5))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 wj (+.f64 (*.f64 25/4 (*.f64 wj wj)) -4)) (fma.f64 wj 5/2 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 wj (fma.f64 wj 5/2 -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 wj (fma.f64 wj 5/2 -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 wj (fma.f64 wj 5/2 -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 wj (fma.f64 wj 5/2 -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 wj (fma.f64 wj 5/2 -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 wj 5/2 -2)) wj))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 wj (fma.f64 wj 5/2 -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 wj (fma.f64 wj 5/2 -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 wj 3) (pow.f64 (fma.f64 wj 5/2 -2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 wj 5/2 -2) 3) (pow.f64 wj 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 wj (fma.f64 wj 5/2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 wj (fma.f64 wj 5/2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 wj (fma.f64 wj 5/2 -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 wj (fma.f64 wj 5/2 -2))))))))

simplify53.0ms (0.7%)

Algorithm
egg-herbie
Rules
840×fma-neg_binary64
402×distribute-rgt-neg-in_binary64
306×cancel-sign-sub-inv_binary64
290×distribute-lft-neg-in_binary64
266×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
029599
180518
2260491
3997449
42196449
53468449
64881449
Stop Event
node limit
Counts
153 → 111
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 wj 3))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(*.f64 -8/3 (*.f64 (pow.f64 wj 3) x))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(*.f64 -8/3 (*.f64 (pow.f64 wj 3) x))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
-2
(-.f64 (*.f64 5/2 wj) 2)
(-.f64 (*.f64 5/2 wj) 2)
(-.f64 (*.f64 5/2 wj) 2)
(*.f64 5/2 wj)
(-.f64 (*.f64 5/2 wj) 2)
(-.f64 (*.f64 5/2 wj) 2)
(-.f64 (*.f64 5/2 wj) 2)
(*.f64 5/2 wj)
(-.f64 (*.f64 5/2 wj) 2)
(-.f64 (*.f64 5/2 wj) 2)
(-.f64 (*.f64 5/2 wj) 2)
(*.f64 -2 wj)
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(*.f64 5/2 (pow.f64 wj 2))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(*.f64 5/2 (pow.f64 wj 2))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
Outputs
(*.f64 -1 (pow.f64 wj 3))
(neg.f64 (pow.f64 wj 3))
(pow.f64 (neg.f64 wj) 3)
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -8/3 (*.f64 (pow.f64 wj 3) x))
(*.f64 (*.f64 (pow.f64 wj 3) x) -8/3)
(*.f64 x (*.f64 (pow.f64 wj 3) -8/3))
(*.f64 (pow.f64 wj 3) (*.f64 x -8/3))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -8/3 (*.f64 (pow.f64 wj 3) x))
(*.f64 (*.f64 (pow.f64 wj 3) x) -8/3)
(*.f64 x (*.f64 (pow.f64 wj 3) -8/3))
(*.f64 (pow.f64 wj 3) (*.f64 x -8/3))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(neg.f64 (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3)))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 -1 (*.f64 (pow.f64 wj 3) (+.f64 1 (*.f64 8/3 x))))
(neg.f64 (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3)))
(*.f64 (fma.f64 8/3 x 1) (neg.f64 (pow.f64 wj 3)))
(*.f64 (pow.f64 wj 3) (-.f64 (*.f64 x -8/3) 1))
(*.f64 (pow.f64 wj 3) (fma.f64 x -8/3 -1))
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
(*.f64 8/3 x)
-2
(-.f64 (*.f64 5/2 wj) 2)
(fma.f64 5/2 wj -2)
(fma.f64 wj 5/2 -2)
(-.f64 (*.f64 5/2 wj) 2)
(fma.f64 5/2 wj -2)
(fma.f64 wj 5/2 -2)
(-.f64 (*.f64 5/2 wj) 2)
(fma.f64 5/2 wj -2)
(fma.f64 wj 5/2 -2)
(*.f64 5/2 wj)
(*.f64 wj 5/2)
(-.f64 (*.f64 5/2 wj) 2)
(fma.f64 5/2 wj -2)
(fma.f64 wj 5/2 -2)
(-.f64 (*.f64 5/2 wj) 2)
(fma.f64 5/2 wj -2)
(fma.f64 wj 5/2 -2)
(-.f64 (*.f64 5/2 wj) 2)
(fma.f64 5/2 wj -2)
(fma.f64 wj 5/2 -2)
(*.f64 5/2 wj)
(*.f64 wj 5/2)
(-.f64 (*.f64 5/2 wj) 2)
(fma.f64 5/2 wj -2)
(fma.f64 wj 5/2 -2)
(-.f64 (*.f64 5/2 wj) 2)
(fma.f64 5/2 wj -2)
(fma.f64 wj 5/2 -2)
(-.f64 (*.f64 5/2 wj) 2)
(fma.f64 5/2 wj -2)
(fma.f64 wj 5/2 -2)
(*.f64 -2 wj)
(*.f64 wj -2)
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(+.f64 (*.f64 5/2 (*.f64 wj wj)) (*.f64 wj -2))
(fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))
(*.f64 wj (fma.f64 wj 5/2 -2))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(+.f64 (*.f64 5/2 (*.f64 wj wj)) (*.f64 wj -2))
(fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))
(*.f64 wj (fma.f64 wj 5/2 -2))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(+.f64 (*.f64 5/2 (*.f64 wj wj)) (*.f64 wj -2))
(fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))
(*.f64 wj (fma.f64 wj 5/2 -2))
(*.f64 5/2 (pow.f64 wj 2))
(*.f64 5/2 (*.f64 wj wj))
(*.f64 wj (*.f64 wj 5/2))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(+.f64 (*.f64 5/2 (*.f64 wj wj)) (*.f64 wj -2))
(fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))
(*.f64 wj (fma.f64 wj 5/2 -2))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(+.f64 (*.f64 5/2 (*.f64 wj wj)) (*.f64 wj -2))
(fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))
(*.f64 wj (fma.f64 wj 5/2 -2))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(+.f64 (*.f64 5/2 (*.f64 wj wj)) (*.f64 wj -2))
(fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))
(*.f64 wj (fma.f64 wj 5/2 -2))
(*.f64 5/2 (pow.f64 wj 2))
(*.f64 5/2 (*.f64 wj wj))
(*.f64 wj (*.f64 wj 5/2))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(+.f64 (*.f64 5/2 (*.f64 wj wj)) (*.f64 wj -2))
(fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))
(*.f64 wj (fma.f64 wj 5/2 -2))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(+.f64 (*.f64 5/2 (*.f64 wj wj)) (*.f64 wj -2))
(fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))
(*.f64 wj (fma.f64 wj 5/2 -2))
(-.f64 (*.f64 5/2 (pow.f64 wj 2)) (*.f64 2 wj))
(+.f64 (*.f64 5/2 (*.f64 wj wj)) (*.f64 wj -2))
(fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))
(*.f64 wj (fma.f64 wj 5/2 -2))

prune131.0ms (1.7%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1110111
Fresh033
Picked011
Done000
Total1114115
Error
0.1b
Counts
115 → 4
Alt Table
StatusErrorProgram
6.2b
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))
1.4b
(+.f64 (fma.f64 wj wj x) (fma.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2)) (*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))))
32.9b
(-.f64 (/.f64 (*.f64 wj wj) (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (/.f64 (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2) (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))
13.6b
(fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (fma.f64 wj wj -1)) (+.f64 wj -1) wj)
Compiler

Compiled 3173 to 2026 computations (36.1% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))
0.0b
(/.f64 wj (+.f64 wj 1))
0.0b
(/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1))
6.0b
(-.f64 (/.f64 wj (+.f64 wj 1)) wj)

series18.0ms (0.2%)

Counts
4 → 60
Calls

15 calls:

TimeVariablePointExpression
3.0ms
x
@-inf
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))
3.0ms
x
@inf
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))
3.0ms
x
@0
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))
1.0ms
wj
@-inf
(/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1))
1.0ms
wj
@inf
(/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1))

rewrite69.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
340×fma-def_binary64
239×fma-neg_binary64
197×log1p-udef_binary64
196×expm1-udef_binary64
137×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01354
129146
2402846
Stop Event
node limit
Counts
4 → 210
Calls
Call 1
Inputs
(-.f64 (/.f64 wj (+.f64 wj 1)) wj)
(/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1))
(/.f64 wj (+.f64 wj 1))
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 wj (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 wj (+.f64 wj 1)) wj)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 wj (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 wj (+.f64 wj 1)) -1) wj)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1 (/.f64 wj (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (/.f64 wj (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 wj (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 2) (/.f64 1 (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2) (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2) (neg.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (neg.f64 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 wj (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (/.f64 wj (+.f64 wj 1)) 3) (pow.f64 wj 3)) (/.f64 1 (fma.f64 wj (+.f64 wj (/.f64 wj (+.f64 wj 1))) (pow.f64 (/.f64 wj (+.f64 wj 1)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (/.f64 wj (+.f64 wj 1))) (sqrt.f64 wj)) (-.f64 (sqrt.f64 (/.f64 wj (+.f64 wj 1))) (sqrt.f64 wj)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2)) (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))) (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2)) (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))) (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 wj (+.f64 wj (/.f64 wj (+.f64 wj 1))) (pow.f64 (/.f64 wj (+.f64 wj 1)) 2)) (+.f64 (pow.f64 (/.f64 wj (+.f64 wj 1)) 3) (pow.f64 wj 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 2) (+.f64 wj (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 wj (+.f64 wj 1)) 3) (pow.f64 wj 3)) (fma.f64 wj (+.f64 wj (/.f64 wj (+.f64 wj 1))) (pow.f64 (/.f64 wj (+.f64 wj 1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 wj (+.f64 wj 1)) 3) (pow.f64 wj 3)) (+.f64 (pow.f64 (/.f64 wj (+.f64 wj 1)) 2) (-.f64 (*.f64 wj wj) (*.f64 wj (/.f64 wj (+.f64 wj 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (/.f64 wj (+.f64 wj 1)) 3) (pow.f64 wj 3))) (fma.f64 wj (+.f64 wj (/.f64 wj (+.f64 wj 1))) (pow.f64 (/.f64 wj (+.f64 wj 1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (/.f64 wj (+.f64 wj 1)) 3) (pow.f64 wj 3))) (neg.f64 (fma.f64 wj (+.f64 wj (/.f64 wj (+.f64 wj 1))) (pow.f64 (/.f64 wj (+.f64 wj 1)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 3)) (+.f64 0 (+.f64 (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 2) (*.f64 0 (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 2)) (+.f64 wj (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 wj (+.f64 wj 1)) 3) (pow.f64 wj 3))) (fma.f64 wj (+.f64 wj (/.f64 wj (+.f64 wj 1))) (pow.f64 (/.f64 wj (+.f64 wj 1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 wj 1 (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 wj -1 (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 wj (/.f64 1 (+.f64 wj 1)) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 wj (/.f64 1 (+.f64 wj -1)) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 wj (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 wj (+.f64 wj 1)) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 wj (/.f64 wj (+.f64 wj 1))) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 wj (/.f64 wj (+.f64 wj 1))) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 wj (+.f64 wj 1)) 1 wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 wj (+.f64 wj 1)) -1 wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 1 (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 1 (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) -1 (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) -1 (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 2) (/.f64 1 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 2) (/.f64 1 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 wj (+.f64 wj 1))) (pow.f64 (cbrt.f64 (/.f64 wj (+.f64 wj 1))) 2) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 wj (+.f64 wj 1))) 2) (cbrt.f64 (/.f64 wj (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 wj) (pow.f64 (cbrt.f64 wj) 2) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 wj) 2) (cbrt.f64 wj) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 wj) 2) (neg.f64 (cbrt.f64 wj)) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 wj) 2) (*.f64 (cbrt.f64 wj) (/.f64 1 (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 wj) 2) (*.f64 (cbrt.f64 wj) 1) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2) (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2) (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2) (neg.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2) (neg.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 wj (+.f64 wj 1))) (sqrt.f64 (/.f64 wj (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 wj) (sqrt.f64 wj) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 wj) (neg.f64 (sqrt.f64 wj)) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 wj) (*.f64 (sqrt.f64 wj) (/.f64 1 (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 wj) (*.f64 (sqrt.f64 wj) 1) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (neg.f64 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (neg.f64 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 wj (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (/.f64 wj (+.f64 wj 1)) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (+.f64 wj (/.f64 wj (+.f64 wj 1))) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (+.f64 wj (/.f64 wj (+.f64 wj 1))) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (/.f64 wj (+.f64 wj 1)) 3) (pow.f64 wj 3)) (/.f64 1 (fma.f64 wj (+.f64 wj (/.f64 wj (+.f64 wj 1))) (pow.f64 (/.f64 wj (+.f64 wj 1)) 2))) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (/.f64 wj (+.f64 wj 1)) 3) (pow.f64 wj 3)) (/.f64 1 (fma.f64 wj (+.f64 wj (/.f64 wj (+.f64 wj 1))) (pow.f64 (/.f64 wj (+.f64 wj 1)) 2))) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (+.f64 wj 1)) wj wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 wj)) (sqrt.f64 wj) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 wj) 2) 1) (/.f64 (cbrt.f64 wj) (+.f64 wj 1)) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 wj) 1) (/.f64 (sqrt.f64 wj) (+.f64 wj 1)) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 wj (cbrt.f64 (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 wj) 2) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (cbrt.f64 (/.f64 wj (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 wj) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (sqrt.f64 wj) (cbrt.f64 (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (sqrt.f64 (+.f64 wj 1))) (/.f64 wj (sqrt.f64 (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 wj) 2) (sqrt.f64 (+.f64 wj 1))) (/.f64 (cbrt.f64 wj) (sqrt.f64 (+.f64 wj 1))) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (/.f64 wj (+.f64 wj 1))) (sqrt.f64 wj)) (-.f64 (sqrt.f64 (/.f64 wj (+.f64 wj 1))) (sqrt.f64 wj)) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (/.f64 wj (+.f64 wj 1))) (sqrt.f64 wj)) (-.f64 (sqrt.f64 (/.f64 wj (+.f64 wj 1))) (sqrt.f64 wj)) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2)) (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2)) (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))) (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))) (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 wj) 2)) (cbrt.f64 wj) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 wj (+.f64 1 (pow.f64 wj 3))) (-.f64 (fma.f64 wj wj 1) wj) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 wj (fma.f64 wj wj -1)) (+.f64 wj -1) wj)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2)) (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2)) (cbrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))) (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))))) (sqrt.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) (+.f64 wj wj))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 wj) 2)) (cbrt.f64 wj) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 wj)) (sqrt.f64 wj) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (exp.f64 (-.f64 wj (log1p.f64 wj))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 wj) (/.f64 1 (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (exp.f64 wj)) 2) (*.f64 (cbrt.f64 (exp.f64 wj)) (/.f64 1 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 (-.f64 wj (log1p.f64 wj)))) (pow.f64 (cbrt.f64 (exp.f64 (-.f64 wj (log1p.f64 wj)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 wj (log1p.f64 wj)))) 2) (cbrt.f64 (exp.f64 (-.f64 wj (log1p.f64 wj)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 wj)) (*.f64 (sqrt.f64 (exp.f64 wj)) (/.f64 1 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 (-.f64 wj (log1p.f64 wj)))) (sqrt.f64 (exp.f64 (-.f64 wj (log1p.f64 wj)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (exp.f64 wj)) (/.f64 1 (+.f64 wj -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 wj 1)) (exp.f64 wj))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (exp.f64 wj) (cbrt.f64 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (+.f64 wj 1))) (/.f64 (exp.f64 wj) (sqrt.f64 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (exp.f64 wj)) 2) 1) (/.f64 (cbrt.f64 (exp.f64 wj)) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (exp.f64 wj)) 1) (/.f64 (sqrt.f64 (exp.f64 wj)) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (exp.f64 wj)) 2) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (cbrt.f64 (exp.f64 (-.f64 wj (log1p.f64 wj)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (exp.f64 wj)) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (sqrt.f64 (exp.f64 wj)) (cbrt.f64 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (exp.f64 wj)) 2) (sqrt.f64 (+.f64 wj 1))) (/.f64 (cbrt.f64 (exp.f64 wj)) (sqrt.f64 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 wj) (+.f64 1 (pow.f64 wj 3))) (-.f64 (fma.f64 wj wj 1) wj))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 wj) (fma.f64 wj wj -1)) (+.f64 wj -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (exp.f64 (-.f64 wj (log1p.f64 wj)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (exp.f64 (-.f64 wj (log1p.f64 wj)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (-.f64 (log1p.f64 wj) wj)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (exp.f64 wj) (+.f64 wj -1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (exp.f64 (-.f64 wj (log1p.f64 wj)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (exp.f64 wj) 3) (pow.f64 (+.f64 wj 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (exp.f64 (-.f64 wj (log1p.f64 wj)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 wj (log1p.f64 wj)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 wj (log1p.f64 wj)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (exp.f64 (-.f64 wj (log1p.f64 wj)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 wj (+.f64 wj 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (+.f64 wj -1)) (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 wj (/.f64 1 (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 wj (/.f64 1 (+.f64 wj -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 wj (+.f64 wj 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 wj (+.f64 wj 1))) (pow.f64 (cbrt.f64 (/.f64 wj (+.f64 wj 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 wj (+.f64 wj 1))) 2) (cbrt.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 wj) 2) (*.f64 (cbrt.f64 wj) (/.f64 1 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 wj (+.f64 wj 1))) (sqrt.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 wj) (*.f64 (sqrt.f64 wj) (/.f64 1 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 wj 1)) wj)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 wj) 2) 1) (/.f64 (cbrt.f64 wj) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 wj) 1) (/.f64 (sqrt.f64 wj) (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 wj (cbrt.f64 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 wj) 2) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (cbrt.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 wj) (pow.f64 (cbrt.f64 (+.f64 wj 1)) 2)) (/.f64 (sqrt.f64 wj) (cbrt.f64 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (+.f64 wj 1))) (/.f64 wj (sqrt.f64 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 wj) 2) (sqrt.f64 (+.f64 wj 1))) (/.f64 (cbrt.f64 wj) (sqrt.f64 (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 wj (+.f64 1 (pow.f64 wj 3))) (-.f64 (fma.f64 wj wj 1) wj))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 wj (fma.f64 wj wj -1)) (+.f64 wj -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 wj (+.f64 wj 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 wj (+.f64 wj 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 wj (+.f64 wj 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 wj (+.f64 wj 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 wj 1) wj) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 wj (+.f64 wj 1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 wj (+.f64 wj 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 wj (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 wj (+.f64 wj 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 wj) (log1p.f64 wj)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log.f64 wj) (log1p.f64 wj)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 wj (+.f64 wj 1))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) (*.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x) (+.f64 wj (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x) 1) (+.f64 wj (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x) (+.f64 wj (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x 0) (+.f64 wj (/.f64 wj (+.f64 wj 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1))))) (pow.f64 (cbrt.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1))))) 2) (cbrt.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1))))) (sqrt.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x) 3) (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 3)) (fma.f64 (*.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x) (*.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x) (-.f64 (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 2) (*.f64 (*.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x) (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x) (*.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x) (pow.f64 (+.f64 wj (/.f64 wj (+.f64 wj 1))) 2)) (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (exp.f64 (-.f64 wj (log1p.f64 wj))) x (+.f64 wj (/.f64 wj (+.f64 wj 1))))))))))

simplify43.0ms (0.6%)

Algorithm
egg-herbie
Rules
673×fma-neg_binary64
469×sub-neg_binary64
290×times-frac_binary64
268×fma-def_binary64
178×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01061032
13291017
2851966
32876944
Stop Event
node limit
Counts
270 → 277
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 wj 2))
(-.f64 (pow.f64 wj 3) (pow.f64 wj 2))
(-.f64 (pow.f64 wj 3) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))
(-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))
(*.f64 -1 wj)
(-.f64 1 wj)
(-.f64 1 (+.f64 (/.f64 1 wj) wj))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 wj 2))) (+.f64 (/.f64 1 wj) wj))
(*.f64 -1 wj)
(-.f64 1 wj)
(-.f64 1 (+.f64 (/.f64 1 wj) wj))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 wj 2))) (+.f64 (/.f64 1 wj) wj))
1
(-.f64 1 (*.f64 2 wj))
(-.f64 (+.f64 1 (*.f64 5/2 (pow.f64 wj 2))) (*.f64 2 wj))
(-.f64 (+.f64 1 (*.f64 5/2 (pow.f64 wj 2))) (+.f64 (*.f64 8/3 (pow.f64 wj 3)) (*.f64 2 wj)))
(/.f64 (exp.f64 (neg.f64 wj)) wj)
(-.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 2)))
(-.f64 (+.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 3))) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 2)))
(-.f64 (+.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 3))) (+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 4)) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 2))))
(/.f64 (exp.f64 (*.f64 -1 wj)) wj)
(-.f64 (/.f64 (exp.f64 (*.f64 -1 wj)) wj) (/.f64 (exp.f64 (*.f64 -1 wj)) (pow.f64 wj 2)))
(-.f64 (+.f64 (/.f64 (exp.f64 (*.f64 -1 wj)) (pow.f64 wj 3)) (/.f64 (exp.f64 (*.f64 -1 wj)) wj)) (/.f64 (exp.f64 (*.f64 -1 wj)) (pow.f64 wj 2)))
(-.f64 (+.f64 (/.f64 (exp.f64 (*.f64 -1 wj)) (pow.f64 wj 3)) (/.f64 (exp.f64 (*.f64 -1 wj)) wj)) (+.f64 (/.f64 (exp.f64 (*.f64 -1 wj)) (pow.f64 wj 4)) (/.f64 (exp.f64 (*.f64 -1 wj)) (pow.f64 wj 2))))
wj
(-.f64 wj (pow.f64 wj 2))
(-.f64 (+.f64 (pow.f64 wj 3) wj) (pow.f64 wj 2))
(-.f64 (+.f64 (pow.f64 wj 3) wj) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))
1
(-.f64 1 (/.f64 1 wj))
(-.f64 (+.f64 (/.f64 1 (pow.f64 wj 2)) 1) (/.f64 1 wj))
(-.f64 (+.f64 (/.f64 1 (pow.f64 wj 2)) 1) (+.f64 (/.f64 1 (pow.f64 wj 3)) (/.f64 1 wj)))
1
(-.f64 1 (/.f64 1 wj))
(-.f64 (+.f64 (/.f64 1 (pow.f64 wj 2)) 1) (/.f64 1 wj))
(-.f64 (+.f64 (/.f64 1 (pow.f64 wj 2)) 1) (+.f64 (/.f64 1 (pow.f64 wj 3)) (/.f64 1 wj)))
(-.f64 wj (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
x
(-.f64 x (*.f64 2 (*.f64 wj x)))
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (*.f64 2 (*.f64 wj x)))
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (+.f64 (*.f64 2 (*.f64 wj x)) (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3))))
wj
(-.f64 wj 1)
(-.f64 (+.f64 (/.f64 1 wj) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) wj) wj)) 1)
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) wj) (+.f64 (/.f64 1 wj) wj)) (+.f64 1 (+.f64 (/.f64 1 (pow.f64 wj 2)) (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (pow.f64 wj 2)))))
wj
(-.f64 wj 1)
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 -1 wj)) x) wj) (+.f64 (/.f64 1 wj) wj)) 1)
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 -1 wj)) x) wj) (+.f64 (/.f64 1 wj) wj)) (+.f64 1 (+.f64 (/.f64 1 (pow.f64 wj 2)) (/.f64 (*.f64 (exp.f64 (*.f64 -1 wj)) x) (pow.f64 wj 2)))))
Outputs
(*.f64 -1 (pow.f64 wj 2))
(neg.f64 (*.f64 wj wj))
(*.f64 wj (neg.f64 wj))
(-.f64 (pow.f64 wj 3) (pow.f64 wj 2))
(-.f64 (pow.f64 wj 3) (*.f64 wj wj))
(-.f64 (pow.f64 wj 3) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))
(-.f64 (-.f64 (pow.f64 wj 3) (pow.f64 wj 4)) (*.f64 wj wj))
(-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))
(*.f64 (*.f64 wj wj) (-.f64 wj (fma.f64 wj wj 1)))
(-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))
(+.f64 (pow.f64 wj 5) (-.f64 (-.f64 (pow.f64 wj 3) (pow.f64 wj 4)) (*.f64 wj wj)))
(+.f64 (pow.f64 wj 3) (-.f64 (pow.f64 wj 5) (fma.f64 wj wj (pow.f64 wj 4))))
(+.f64 (pow.f64 wj 5) (*.f64 (*.f64 wj wj) (-.f64 wj (fma.f64 wj wj 1))))
(*.f64 -1 wj)
(neg.f64 wj)
(-.f64 1 wj)
(-.f64 1 (+.f64 (/.f64 1 wj) wj))
(-.f64 1 (+.f64 wj (/.f64 1 wj)))
(+.f64 1 (-.f64 (/.f64 -1 wj) wj))
(+.f64 (/.f64 -1 wj) (-.f64 1 wj))
(-.f64 (+.f64 1 (/.f64 -1 wj)) wj)
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 wj 2))) (+.f64 (/.f64 1 wj) wj))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 wj wj)) (+.f64 wj (/.f64 1 wj))))
(+.f64 (-.f64 1 (/.f64 1 wj)) (-.f64 (/.f64 1 (*.f64 wj wj)) wj))
(+.f64 (/.f64 1 (*.f64 wj wj)) (-.f64 (+.f64 1 (/.f64 -1 wj)) wj))
(*.f64 -1 wj)
(neg.f64 wj)
(-.f64 1 wj)
(-.f64 1 (+.f64 (/.f64 1 wj) wj))
(-.f64 1 (+.f64 wj (/.f64 1 wj)))
(+.f64 1 (-.f64 (/.f64 -1 wj) wj))
(+.f64 (/.f64 -1 wj) (-.f64 1 wj))
(-.f64 (+.f64 1 (/.f64 -1 wj)) wj)
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 wj 2))) (+.f64 (/.f64 1 wj) wj))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 wj wj)) (+.f64 wj (/.f64 1 wj))))
(+.f64 (-.f64 1 (/.f64 1 wj)) (-.f64 (/.f64 1 (*.f64 wj wj)) wj))
(+.f64 (/.f64 1 (*.f64 wj wj)) (-.f64 (+.f64 1 (/.f64 -1 wj)) wj))
1
(-.f64 1 (*.f64 2 wj))
(+.f64 1 (*.f64 -2 wj))
(+.f64 1 (*.f64 wj -2))
(fma.f64 wj -2 1)
(-.f64 (+.f64 1 (*.f64 5/2 (pow.f64 wj 2))) (*.f64 2 wj))
(+.f64 1 (-.f64 (*.f64 (*.f64 wj wj) 5/2) (*.f64 wj 2)))
(+.f64 1 (fma.f64 (*.f64 wj wj) 5/2 (*.f64 wj -2)))
(fma.f64 wj -2 (fma.f64 wj (*.f64 wj 5/2) 1))
(+.f64 1 (*.f64 wj (fma.f64 wj 5/2 -2)))
(-.f64 (+.f64 1 (*.f64 5/2 (pow.f64 wj 2))) (+.f64 (*.f64 8/3 (pow.f64 wj 3)) (*.f64 2 wj)))
(-.f64 (+.f64 1 (*.f64 (*.f64 wj wj) 5/2)) (fma.f64 8/3 (pow.f64 wj 3) (*.f64 wj 2)))
(-.f64 (fma.f64 (*.f64 wj wj) 5/2 1) (fma.f64 wj 2 (*.f64 (pow.f64 wj 3) 8/3)))
(-.f64 (fma.f64 wj (*.f64 wj 5/2) 1) (fma.f64 (pow.f64 wj 3) 8/3 (*.f64 wj 2)))
(+.f64 1 (fma.f64 wj (fma.f64 wj 5/2 -2) (*.f64 (pow.f64 wj 3) -8/3)))
(/.f64 (exp.f64 (neg.f64 wj)) wj)
(-.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 2)))
(-.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (/.f64 (exp.f64 (neg.f64 wj)) (*.f64 wj wj)))
(-.f64 (+.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 3))) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 2)))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (-.f64 (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 3)) (/.f64 (exp.f64 (neg.f64 wj)) (*.f64 wj wj))))
(-.f64 (+.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 3))) (+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 4)) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 2))))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 3)) (-.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (*.f64 wj wj)) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 4)))))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (-.f64 (-.f64 (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 3)) (/.f64 (exp.f64 (neg.f64 wj)) (*.f64 wj wj))) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 4))))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (-.f64 (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 3)) (+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (*.f64 wj wj)) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 4)))))
(/.f64 (exp.f64 (*.f64 -1 wj)) wj)
(/.f64 (exp.f64 (neg.f64 wj)) wj)
(-.f64 (/.f64 (exp.f64 (*.f64 -1 wj)) wj) (/.f64 (exp.f64 (*.f64 -1 wj)) (pow.f64 wj 2)))
(-.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (/.f64 (exp.f64 (neg.f64 wj)) (*.f64 wj wj)))
(-.f64 (+.f64 (/.f64 (exp.f64 (*.f64 -1 wj)) (pow.f64 wj 3)) (/.f64 (exp.f64 (*.f64 -1 wj)) wj)) (/.f64 (exp.f64 (*.f64 -1 wj)) (pow.f64 wj 2)))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (-.f64 (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 3)) (/.f64 (exp.f64 (neg.f64 wj)) (*.f64 wj wj))))
(-.f64 (+.f64 (/.f64 (exp.f64 (*.f64 -1 wj)) (pow.f64 wj 3)) (/.f64 (exp.f64 (*.f64 -1 wj)) wj)) (+.f64 (/.f64 (exp.f64 (*.f64 -1 wj)) (pow.f64 wj 4)) (/.f64 (exp.f64 (*.f64 -1 wj)) (pow.f64 wj 2))))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 3)) (-.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (*.f64 wj wj)) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 4)))))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (-.f64 (-.f64 (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 3)) (/.f64 (exp.f64 (neg.f64 wj)) (*.f64 wj wj))) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 4))))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (-.f64 (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 3)) (+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (*.f64 wj wj)) (/.f64 (exp.f64 (neg.f64 wj)) (pow.f64 wj 4)))))
wj
(-.f64 wj (pow.f64 wj 2))
(-.f64 wj (*.f64 wj wj))
(-.f64 (+.f64 (pow.f64 wj 3) wj) (pow.f64 wj 2))
(+.f64 (pow.f64 wj 3) (-.f64 wj (*.f64 wj wj)))
(+.f64 wj (-.f64 (pow.f64 wj 3) (*.f64 wj wj)))
(*.f64 wj (-.f64 (fma.f64 wj wj 1) wj))
(-.f64 (+.f64 (pow.f64 wj 3) wj) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))
(+.f64 (pow.f64 wj 3) (-.f64 wj (+.f64 (*.f64 wj wj) (pow.f64 wj 4))))
(+.f64 wj (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))
(*.f64 (fma.f64 wj wj 1) (-.f64 wj (*.f64 wj wj)))
1
(-.f64 1 (/.f64 1 wj))
(+.f64 1 (/.f64 -1 wj))
(-.f64 (+.f64 (/.f64 1 (pow.f64 wj 2)) 1) (/.f64 1 wj))
(+.f64 (/.f64 1 (*.f64 wj wj)) (-.f64 1 (/.f64 1 wj)))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 wj wj)) (/.f64 1 wj)))
(+.f64 (/.f64 1 (*.f64 wj wj)) (+.f64 1 (/.f64 -1 wj)))
(-.f64 (+.f64 (/.f64 1 (pow.f64 wj 2)) 1) (+.f64 (/.f64 1 (pow.f64 wj 3)) (/.f64 1 wj)))
(-.f64 (+.f64 1 (/.f64 1 (*.f64 wj wj))) (+.f64 (/.f64 1 wj) (/.f64 1 (pow.f64 wj 3))))
(+.f64 (/.f64 1 (*.f64 wj wj)) (-.f64 (+.f64 1 (/.f64 -1 wj)) (/.f64 1 (pow.f64 wj 3))))
(+.f64 (+.f64 1 (/.f64 1 (*.f64 wj wj))) (-.f64 (/.f64 -1 wj) (/.f64 1 (pow.f64 wj 3))))
(+.f64 1 (+.f64 (/.f64 1 (*.f64 wj wj)) (-.f64 (/.f64 -1 wj) (/.f64 1 (pow.f64 wj 3)))))
1
(-.f64 1 (/.f64 1 wj))
(+.f64 1 (/.f64 -1 wj))
(-.f64 (+.f64 (/.f64 1 (pow.f64 wj 2)) 1) (/.f64 1 wj))
(+.f64 (/.f64 1 (*.f64 wj wj)) (-.f64 1 (/.f64 1 wj)))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 wj wj)) (/.f64 1 wj)))
(+.f64 (/.f64 1 (*.f64 wj wj)) (+.f64 1 (/.f64 -1 wj)))
(-.f64 (+.f64 (/.f64 1 (pow.f64 wj 2)) 1) (+.f64 (/.f64 1 (pow.f64 wj 3)) (/.f64 1 wj)))
(-.f64 (+.f64 1 (/.f64 1 (*.f64 wj wj))) (+.f64 (/.f64 1 wj) (/.f64 1 (pow.f64 wj 3))))
(+.f64 (/.f64 1 (*.f64 wj wj)) (-.f64 (+.f64 1 (/.f64 -1 wj)) (/.f64 1 (pow.f64 wj 3))))
(+.f64 (+.f64 1 (/.f64 1 (*.f64 wj wj))) (-.f64 (/.f64 -1 wj) (/.f64 1 (pow.f64 wj 3))))
(+.f64 1 (+.f64 (/.f64 1 (*.f64 wj wj)) (-.f64 (/.f64 -1 wj) (/.f64 1 (pow.f64 wj 3)))))
(-.f64 wj (/.f64 wj (+.f64 1 wj)))
(-.f64 wj (/.f64 wj (+.f64 wj 1)))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x) (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x) (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x) (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj))
(/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x))
(*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x)
(/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))
(/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj)))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x) (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x) (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x) (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj))
(/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x))
(*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x)
(/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))
(/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj)))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x) (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x) (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) wj) (/.f64 wj (+.f64 1 wj)))
(+.f64 (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x)) (-.f64 wj (/.f64 wj (+.f64 wj 1))))
(+.f64 wj (-.f64 (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x) (/.f64 wj (+.f64 wj 1))))
(-.f64 wj (-.f64 (/.f64 wj (+.f64 wj 1)) (/.f64 (/.f64 x (exp.f64 wj)) (+.f64 wj 1))))
(+.f64 wj (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (/.f64 wj (+.f64 wj 1))))
x
(-.f64 x (*.f64 2 (*.f64 wj x)))
(-.f64 x (*.f64 (*.f64 wj 2) x))
(+.f64 x (*.f64 (*.f64 wj x) -2))
(fma.f64 (*.f64 wj x) -2 x)
(*.f64 x (fma.f64 wj -2 1))
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (*.f64 2 (*.f64 wj x)))
(+.f64 (fma.f64 5/2 (*.f64 (*.f64 wj wj) x) (+.f64 (*.f64 wj wj) x)) (*.f64 -2 (*.f64 wj x)))
(+.f64 (fma.f64 (*.f64 wj (*.f64 wj 5/2)) x (fma.f64 wj wj x)) (*.f64 (*.f64 wj x) -2))
(+.f64 (fma.f64 wj wj x) (*.f64 x (*.f64 wj (+.f64 (*.f64 wj 5/2) -2))))
(+.f64 (fma.f64 wj wj x) (*.f64 x (*.f64 wj (fma.f64 wj 5/2 -2))))
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (+.f64 (*.f64 2 (*.f64 wj x)) (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3))))
(-.f64 (fma.f64 5/2 (*.f64 (*.f64 wj wj) x) (+.f64 (*.f64 wj wj) x)) (fma.f64 2 (*.f64 wj x) (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3))))
(-.f64 (fma.f64 (*.f64 wj (*.f64 wj 5/2)) x (fma.f64 wj wj x)) (+.f64 (pow.f64 wj 3) (*.f64 x (fma.f64 wj 2 (*.f64 (pow.f64 wj 3) 8/3)))))
(-.f64 (fma.f64 wj wj (fma.f64 (*.f64 wj wj) (*.f64 5/2 x) x)) (fma.f64 x (fma.f64 (pow.f64 wj 3) 8/3 (*.f64 wj 2)) (pow.f64 wj 3)))
(+.f64 (fma.f64 wj wj x) (-.f64 (*.f64 x (fma.f64 wj (fma.f64 wj 5/2 -2) (*.f64 (pow.f64 wj 3) -8/3))) (pow.f64 wj 3)))
wj
(-.f64 wj 1)
(+.f64 wj -1)
(+.f64 -1 wj)
(-.f64 (+.f64 (/.f64 1 wj) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) wj) wj)) 1)
(+.f64 (/.f64 1 wj) (-.f64 (+.f64 wj (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 wj x))) 1))
(+.f64 -1 (+.f64 wj (+.f64 (/.f64 1 wj) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 wj x)))))
(+.f64 wj (+.f64 (+.f64 -1 (/.f64 1 wj)) (/.f64 x (*.f64 wj (exp.f64 wj)))))
(+.f64 (/.f64 1 wj) (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 -1 wj)))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) wj) (+.f64 (/.f64 1 wj) wj)) (+.f64 1 (+.f64 (/.f64 1 (pow.f64 wj 2)) (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (pow.f64 wj 2)))))
(-.f64 (+.f64 (+.f64 wj (/.f64 1 wj)) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 wj x))) (+.f64 1 (+.f64 (/.f64 1 (*.f64 wj wj)) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (*.f64 wj wj) x)))))
(-.f64 (+.f64 -1 (+.f64 wj (+.f64 (/.f64 1 wj) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 wj x))))) (+.f64 (/.f64 1 (*.f64 wj wj)) (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (/.f64 x wj))))
(+.f64 wj (-.f64 (+.f64 (/.f64 1 wj) (/.f64 x (*.f64 wj (exp.f64 wj)))) (+.f64 (+.f64 1 (/.f64 1 (*.f64 wj wj))) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj)))))))
(-.f64 (+.f64 (/.f64 1 wj) (-.f64 wj (+.f64 1 (/.f64 1 (*.f64 wj wj))))) (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (-.f64 (/.f64 x wj) x)))
wj
(-.f64 wj 1)
(+.f64 wj -1)
(+.f64 -1 wj)
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 -1 wj)) x) wj) (+.f64 (/.f64 1 wj) wj)) 1)
(+.f64 (/.f64 1 wj) (-.f64 (+.f64 wj (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 wj x))) 1))
(+.f64 -1 (+.f64 wj (+.f64 (/.f64 1 wj) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 wj x)))))
(+.f64 wj (+.f64 (+.f64 -1 (/.f64 1 wj)) (/.f64 x (*.f64 wj (exp.f64 wj)))))
(+.f64 (/.f64 1 wj) (+.f64 (/.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 -1 wj)))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 -1 wj)) x) wj) (+.f64 (/.f64 1 wj) wj)) (+.f64 1 (+.f64 (/.f64 1 (pow.f64 wj 2)) (/.f64 (*.f64 (exp.f64 (*.f64 -1 wj)) x) (pow.f64 wj 2)))))
(-.f64 (+.f64 (+.f64 wj (/.f64 1 wj)) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 wj x))) (+.f64 1 (+.f64 (/.f64 1 (*.f64 wj wj)) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (*.f64 wj wj) x)))))
(-.f64 (+.f64 -1 (+.f64 wj (+.f64 (/.f64 1 wj) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 wj x))))) (+.f64 (/.f64 1 (*.f64 wj wj)) (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (/.f64 x wj))))
(+.f64 wj (-.f64 (+.f64 (/.f64 1 wj) (/.f64 x (*.f64 wj (exp.f64 wj)))) (+.f64 (+.f64 1 (/.f64 1 (*.f64 wj wj))) (/.f64 x (*.f64 wj (*.f64 wj (exp.f64 wj)))))))
(-.f64 (+.f64 (/.f64 1 wj) (-.f64 wj (+.f64 1 (/.f64 1 (*.f64 wj wj))))) (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) wj) (-.f64 (/.f64 x wj) x)))

prune316.0ms (4.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2761277
Fresh022
Picked101
Done011
Total2774281
Error
0.0b
Counts
281 → 4
Alt Table
StatusErrorProgram
1.4b
(+.f64 (fma.f64 wj wj x) (fma.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2)) (*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))))
32.9b
(-.f64 (/.f64 (*.f64 wj wj) (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (/.f64 (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2) (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))
1.2b
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))))
13.6b
(fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (fma.f64 wj wj -1)) (+.f64 wj -1) wj)
Compiler

Compiled 7061 to 4148 computations (41.3% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))))
0.0b
(+.f64 (pow.f64 wj 5) (pow.f64 wj 3))
0.0b
(-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))
0.0b
(/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1))

series31.0ms (0.4%)

Counts
3 → 36
Calls

12 calls:

TimeVariablePointExpression
8.0ms
x
@0
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))))
6.0ms
x
@-inf
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))))
6.0ms
x
@inf
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))))
1.0ms
wj
@-inf
(+.f64 (pow.f64 wj 5) (pow.f64 wj 3))
1.0ms
wj
@inf
(+.f64 (pow.f64 wj 5) (pow.f64 wj 3))

rewrite38.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
235×add-sqr-sqrt_binary64
229×pow1_binary64
225×*-un-lft-identity_binary64
225×add-log-exp_binary64
224×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02270
151465
Stop Event
node limit
Counts
3 → 77
Calls
Call 1
Inputs
(-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))
(+.f64 (pow.f64 wj 5) (pow.f64 wj 3))
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (neg.f64 (fma.f64 wj wj (pow.f64 wj 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))) (fma.f64 (neg.f64 (hypot.f64 wj (*.f64 wj wj))) (hypot.f64 wj (*.f64 wj wj)) (fma.f64 wj wj (pow.f64 wj 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (neg.f64 (*.f64 (fma.f64 wj wj (pow.f64 wj 4)) 1))) (fma.f64 (neg.f64 (fma.f64 wj wj (pow.f64 wj 4))) 1 (*.f64 (fma.f64 wj wj (pow.f64 wj 4)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))) 2) (cbrt.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))) (neg.f64 (*.f64 (fma.f64 wj wj (pow.f64 wj 4)) 1))) (fma.f64 (neg.f64 (fma.f64 wj wj (pow.f64 wj 4))) 1 (*.f64 (fma.f64 wj wj (pow.f64 wj 4)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (hypot.f64 (pow.f64 wj 3/2) (pow.f64 wj 5/2)) (hypot.f64 (pow.f64 wj 3/2) (pow.f64 wj 5/2)) (neg.f64 (*.f64 (fma.f64 wj wj (pow.f64 wj 4)) 1))) (fma.f64 (neg.f64 (fma.f64 wj wj (pow.f64 wj 4))) 1 (*.f64 (fma.f64 wj wj (pow.f64 wj 4)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (neg.f64 (*.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) (pow.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4)))) (pow.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) 2) (*.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) (pow.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))) 2) (cbrt.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))) (neg.f64 (*.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) (pow.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4)))) (pow.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) 2) (*.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) (pow.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (hypot.f64 (pow.f64 wj 3/2) (pow.f64 wj 5/2)) (hypot.f64 (pow.f64 wj 3/2) (pow.f64 wj 5/2)) (neg.f64 (*.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) (pow.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4)))) (pow.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) 2) (*.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) (pow.f64 (cbrt.f64 (fma.f64 wj wj (pow.f64 wj 4))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))) 2) (cbrt.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))) (sqrt.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) 3) (pow.f64 (fma.f64 wj wj (pow.f64 wj 4)) 3)) (+.f64 (pow.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) 2) (+.f64 (pow.f64 (fma.f64 wj wj (pow.f64 wj 4)) 2) (*.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (fma.f64 wj wj (pow.f64 wj 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) 2) (pow.f64 (fma.f64 wj wj (pow.f64 wj 4)) 2)) (+.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (fma.f64 wj wj (pow.f64 wj 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))) (exp.f64 (fma.f64 wj wj (pow.f64 wj 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (neg.f64 (fma.f64 wj wj (pow.f64 wj 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))) 2) (cbrt.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))) (neg.f64 (fma.f64 wj wj (pow.f64 wj 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (pow.f64 wj 5)) 2) (cbrt.f64 (pow.f64 wj 5)) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 (pow.f64 wj 3/2) (pow.f64 wj 5/2)) (hypot.f64 (pow.f64 wj 3/2) (pow.f64 wj 5/2)) (neg.f64 (fma.f64 wj wj (pow.f64 wj 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 wj 5)) (sqrt.f64 (pow.f64 wj 5)) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 wj 5/2) (pow.f64 wj 5/2) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))) 2) (cbrt.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (pow.f64 wj 3/2) (pow.f64 wj 5/2)) (hypot.f64 (pow.f64 wj 3/2) (pow.f64 wj 5/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 wj 15) (pow.f64 wj 9)) (+.f64 (pow.f64 wj 10) (-.f64 (pow.f64 wj 6) (pow.f64 wj 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 wj 10) (pow.f64 wj 6)) (-.f64 (pow.f64 wj 5) (pow.f64 wj 3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 (pow.f64 wj 3/2) (pow.f64 wj 5/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (pow.f64 wj 5)) (exp.f64 (pow.f64 wj 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (pow.f64 wj 3)) (exp.f64 (pow.f64 wj 5))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 wj (*.f64 wj wj) (pow.f64 wj 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 wj wj) wj (pow.f64 wj 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 wj 5) (pow.f64 wj 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 wj 3) (pow.f64 wj 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (pow.f64 wj 5)) 2) (cbrt.f64 (pow.f64 wj 5)) (pow.f64 wj 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 wj 3)) (sqrt.f64 (pow.f64 wj 3)) (pow.f64 wj 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 wj 5)) (sqrt.f64 (pow.f64 wj 5)) (pow.f64 wj 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 wj 3/2) (pow.f64 wj 3/2) (pow.f64 wj 5))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 wj 5/2) (pow.f64 wj 5/2) (pow.f64 wj 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj)))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))) 2) (cbrt.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))) (sqrt.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))))))))))

simplify37.0ms (0.5%)

Algorithm
egg-herbie
Rules
484×fma-neg_binary64
451×associate-*l*_binary64
379×associate-*r*_binary64
266×associate-+l-_binary64
251×associate--l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
047681
1144651
2474622
31641620
Stop Event
node limit
Counts
113 → 106
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 wj 2))
(-.f64 (pow.f64 wj 3) (pow.f64 wj 2))
(-.f64 (pow.f64 wj 3) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))
(pow.f64 wj 5)
(-.f64 (pow.f64 wj 5) (pow.f64 wj 4))
(-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (pow.f64 wj 4))
(pow.f64 wj 5)
(-.f64 (pow.f64 wj 5) (pow.f64 wj 4))
(-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (pow.f64 wj 4))
(pow.f64 wj 3)
(pow.f64 wj 5)
(pow.f64 wj 5)
(-.f64 (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
x
(-.f64 x (*.f64 2 (*.f64 wj x)))
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (*.f64 2 (*.f64 wj x)))
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (+.f64 (*.f64 2 (*.f64 wj x)) (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3))))
(*.f64 -1 (pow.f64 wj 5))
(-.f64 (pow.f64 wj 4) (pow.f64 wj 5))
(-.f64 (pow.f64 wj 4) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(*.f64 -1 (pow.f64 wj 5))
(-.f64 (pow.f64 wj 4) (pow.f64 wj 5))
(-.f64 (pow.f64 wj 4) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
Outputs
(*.f64 -1 (pow.f64 wj 2))
(neg.f64 (*.f64 wj wj))
(*.f64 wj (neg.f64 wj))
(-.f64 (pow.f64 wj 3) (pow.f64 wj 2))
(-.f64 (pow.f64 wj 3) (*.f64 wj wj))
(*.f64 wj (-.f64 (*.f64 wj wj) wj))
(-.f64 (pow.f64 wj 3) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))
(-.f64 (pow.f64 wj 3) (+.f64 (*.f64 wj wj) (pow.f64 wj 4)))
(-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))
(pow.f64 wj 5)
(-.f64 (pow.f64 wj 5) (pow.f64 wj 4))
(-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (pow.f64 wj 4))
(+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (pow.f64 wj 4)))
(+.f64 (pow.f64 wj 3) (-.f64 (pow.f64 wj 5) (pow.f64 wj 4)))
(pow.f64 wj 5)
(-.f64 (pow.f64 wj 5) (pow.f64 wj 4))
(-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (pow.f64 wj 4))
(+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (pow.f64 wj 4)))
(+.f64 (pow.f64 wj 3) (-.f64 (pow.f64 wj 5) (pow.f64 wj 4)))
(pow.f64 wj 3)
(pow.f64 wj 5)
(pow.f64 wj 5)
(-.f64 (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(+.f64 (pow.f64 wj 4) (-.f64 (*.f64 wj wj) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(-.f64 (-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (pow.f64 wj 5)) (pow.f64 wj 3))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(+.f64 (pow.f64 wj 4) (-.f64 (+.f64 (*.f64 wj wj) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(-.f64 (+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x)) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(+.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (-.f64 (-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (pow.f64 wj 5)) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(+.f64 (pow.f64 wj 4) (-.f64 (+.f64 (*.f64 wj wj) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(-.f64 (+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x)) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(+.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (-.f64 (-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (pow.f64 wj 5)) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(+.f64 (pow.f64 wj 4) (-.f64 (+.f64 (*.f64 wj wj) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(-.f64 (+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x)) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(+.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (-.f64 (-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (pow.f64 wj 5)) (pow.f64 wj 3)))
(/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj))
(/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x))
(*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x)
(/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(+.f64 (pow.f64 wj 4) (-.f64 (+.f64 (*.f64 wj wj) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(-.f64 (+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x)) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(+.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (-.f64 (-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (pow.f64 wj 5)) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(+.f64 (pow.f64 wj 4) (-.f64 (+.f64 (*.f64 wj wj) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(-.f64 (+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x)) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(+.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (-.f64 (-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (pow.f64 wj 5)) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(+.f64 (pow.f64 wj 4) (-.f64 (+.f64 (*.f64 wj wj) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(-.f64 (+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x)) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(+.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (-.f64 (-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (pow.f64 wj 5)) (pow.f64 wj 3)))
(/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj))
(/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x))
(*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x)
(/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(+.f64 (pow.f64 wj 4) (-.f64 (+.f64 (*.f64 wj wj) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(-.f64 (+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x)) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(+.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (-.f64 (-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (pow.f64 wj 5)) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(+.f64 (pow.f64 wj 4) (-.f64 (+.f64 (*.f64 wj wj) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(-.f64 (+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x)) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(+.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (-.f64 (-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (pow.f64 wj 5)) (pow.f64 wj 3)))
(-.f64 (+.f64 (pow.f64 wj 4) (+.f64 (/.f64 (*.f64 (exp.f64 (neg.f64 wj)) x) (+.f64 1 wj)) (pow.f64 wj 2))) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(+.f64 (pow.f64 wj 4) (-.f64 (+.f64 (*.f64 wj wj) (/.f64 (exp.f64 (neg.f64 wj)) (/.f64 (+.f64 wj 1) x))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(-.f64 (+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (*.f64 (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) x)) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(+.f64 (fma.f64 wj wj (pow.f64 wj 4)) (-.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(+.f64 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (-.f64 (-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (pow.f64 wj 5)) (pow.f64 wj 3)))
x
(-.f64 x (*.f64 2 (*.f64 wj x)))
(+.f64 x (*.f64 -2 (*.f64 wj x)))
(+.f64 x (*.f64 (*.f64 wj x) -2))
(fma.f64 (*.f64 wj x) -2 x)
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (*.f64 2 (*.f64 wj x)))
(+.f64 (fma.f64 5/2 (*.f64 (*.f64 wj wj) x) (+.f64 (*.f64 wj wj) x)) (*.f64 -2 (*.f64 wj x)))
(+.f64 (fma.f64 5/2 (*.f64 wj (*.f64 wj x)) (fma.f64 wj wj x)) (*.f64 (*.f64 wj x) -2))
(fma.f64 (*.f64 wj wj) (*.f64 x 5/2) (fma.f64 wj wj (fma.f64 (*.f64 wj x) -2 x)))
(+.f64 (fma.f64 wj wj x) (*.f64 (*.f64 wj x) (+.f64 -2 (*.f64 wj 5/2))))
(-.f64 (+.f64 (*.f64 5/2 (*.f64 (pow.f64 wj 2) x)) (+.f64 (pow.f64 wj 2) x)) (+.f64 (*.f64 2 (*.f64 wj x)) (+.f64 (*.f64 8/3 (*.f64 (pow.f64 wj 3) x)) (pow.f64 wj 3))))
(-.f64 (fma.f64 5/2 (*.f64 (*.f64 wj wj) x) (+.f64 (*.f64 wj wj) x)) (fma.f64 2 (*.f64 wj x) (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3))))
(-.f64 (fma.f64 5/2 (*.f64 wj (*.f64 wj x)) (fma.f64 wj wj x)) (fma.f64 2 (*.f64 wj x) (fma.f64 8/3 (*.f64 (pow.f64 wj 3) x) (pow.f64 wj 3))))
(-.f64 (fma.f64 (*.f64 wj wj) (*.f64 x 5/2) (fma.f64 wj wj x)) (fma.f64 x (fma.f64 wj 2 (*.f64 (pow.f64 wj 3) 8/3)) (pow.f64 wj 3)))
(+.f64 (fma.f64 wj wj x) (-.f64 (*.f64 (*.f64 wj x) (+.f64 -2 (*.f64 wj 5/2))) (*.f64 (+.f64 (*.f64 x 8/3) 1) (pow.f64 wj 3))))
(*.f64 -1 (pow.f64 wj 5))
(neg.f64 (pow.f64 wj 5))
(-.f64 (pow.f64 wj 4) (pow.f64 wj 5))
(-.f64 (pow.f64 wj 4) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(-.f64 (pow.f64 wj 4) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(-.f64 (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(+.f64 (pow.f64 wj 4) (-.f64 (*.f64 wj wj) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(-.f64 (-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (pow.f64 wj 5)) (pow.f64 wj 3))
(*.f64 -1 (pow.f64 wj 5))
(neg.f64 (pow.f64 wj 5))
(-.f64 (pow.f64 wj 4) (pow.f64 wj 5))
(-.f64 (pow.f64 wj 4) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(-.f64 (pow.f64 wj 4) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(-.f64 (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)) (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)))
(+.f64 (pow.f64 wj 4) (-.f64 (*.f64 wj wj) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5))))
(-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (+.f64 (pow.f64 wj 3) (pow.f64 wj 5)))
(-.f64 (-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (pow.f64 wj 5)) (pow.f64 wj 3))

prune194.0ms (2.6%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1590159
Fresh022
Picked011
Done011
Total1594163
Error
0.0b
Counts
163 → 4
Alt Table
StatusErrorProgram
1.4b
(+.f64 (fma.f64 wj wj x) (fma.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2)) (*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))))
32.9b
(-.f64 (/.f64 (*.f64 wj wj) (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (/.f64 (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2) (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))
1.2b
(fma.f64 (/.f64 x 1) (/.f64 (exp.f64 (neg.f64 wj)) (+.f64 wj 1)) (neg.f64 (-.f64 (+.f64 (pow.f64 wj 5) (pow.f64 wj 3)) (+.f64 (pow.f64 wj 4) (pow.f64 wj 2)))))
13.6b
(fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (fma.f64 wj wj -1)) (+.f64 wj -1) wj)
Compiler

Compiled 4890 to 3160 computations (35.4% saved)

regimes1.4s (18.4%)

Accuracy

Total 0.3b remaining (86.4%)

Threshold costs 0.3b (86.4%)

Counts
272 → 2
Compiler

Compiled 17253 to 12114 computations (29.8% saved)

bsearch2.0ms (0%)

Algorithm
left-value
Calls

1 calls:

0.0ms
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
Steps
ItersPointRange
5e-10
∈ [
4.1682760733212994e-10
,
1.726357771789378e-8
]
Compiler

Compiled 18 to 8 computations (55.6% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
26×+-commutative_binary64
23×sub-neg_binary64
20×neg-sub0_binary64
20×neg-mul-1_binary64
17×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03788
16088
29088
312586
416886
519186
620286
721786
823286
924086
1024186
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj))))) 4835703278458517/9671406556917033397649408) (pow.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))))) 1) (fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (fma.f64 wj wj -1)) (+.f64 wj -1) wj))
Outputs
(if (<=.f64 (-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj))))) 4835703278458517/9671406556917033397649408) (pow.f64 (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))))) 1) (fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (fma.f64 wj wj -1)) (+.f64 wj -1) wj))
(if (<=.f64 (-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj))))) 4835703278458517/9671406556917033397649408) (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 5) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4)))))) (fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (fma.f64 wj wj -1)) (+.f64 wj -1) wj))
(if (<=.f64 (-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj))))) 4835703278458517/9671406556917033397649408) (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (-.f64 (neg.f64 (pow.f64 wj 5)) (-.f64 (pow.f64 wj 3) (fma.f64 wj wj (pow.f64 wj 4))))) (fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (fma.f64 wj wj -1)) (+.f64 wj -1) wj))
(if (<=.f64 (-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj))))) 4835703278458517/9671406556917033397649408) (fma.f64 x (exp.f64 (-.f64 (neg.f64 wj) (log1p.f64 wj))) (-.f64 (-.f64 (fma.f64 wj wj (pow.f64 wj 4)) (pow.f64 wj 3)) (pow.f64 wj 5))) (fma.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (fma.f64 wj wj -1)) (+.f64 wj -1) wj))

end118.0ms (1.6%)

Stop Event
fuel
Compiler

Compiled 235 to 139 computations (40.9% saved)

Profiling

Loading profile data...