Details

Time bar (total: 4.5s)

analyze3.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
75%25%0%4
87.5%12.5%0%5
93.7%6.2%0%6
96.8%3.1%0%7
98.4%1.6%0%8
99.2%0.8%0%9
99.6%0.4%0%10
99.8%0.2%0%11
99.8%0.1%0.1%12
Compiler

Compiled 11 to 10 computations (9.1% saved)

sample1.3s (30%)

Results
1.3s8249×body256valid
1.0msbody512valid
1.0msbody1024valid
0.0msbody256invalid

preprocess19.0ms (0.4%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0125
1155
2165
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))
Outputs
(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))
(fma.f64 841/108 x 4/29)
Compiler

Compiled 11 to 10 computations (9.1% saved)

simplify9.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0125
1155
2165
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))
Outputs
(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))
(fma.f64 841/108 x 4/29)

eval1.0ms (0%)

Compiler

Compiled 14 to 12 computations (14.3% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))
0.1b
(fma.f64 841/108 x 4/29)
Compiler

Compiled 15 to 13 computations (13.3% saved)

localize14.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))
0.2b
(*.f64 (/.f64 841 108) x)
Compiler

Compiled 26 to 23 computations (11.5% saved)

series3.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 (/.f64 841 108) x)
1.0ms
x
@-inf
(*.f64 (/.f64 841 108) x)
1.0ms
x
@inf
(*.f64 (/.f64 841 108) x)
0.0ms
x
@inf
(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))
0.0ms
x
@0
(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))

rewrite77.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
901×pow1_binary64
858×add-log-exp_binary64
858×log1p-expm1-u_binary64
858×expm1-log1p-u_binary64
849×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0129
12189
222639
Stop Event
node limit
Counts
2 → 43
Calls
Call 1
Inputs
(*.f64 (/.f64 841 108) x)
(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 841/108 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 841/108 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 841/108 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x 3) 594823321/1259712) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 x x) 707281/11664))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) 841/108))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) 594823321/1259712))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 841/108 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 841/108 x 4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 841/108 x -4/29)) (/.f64 16/841 (fma.f64 841/108 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 841/108 x 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 841/108 x 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) (pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 2) (cbrt.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 841/108 x 4/29)) (sqrt.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 64/24389 (*.f64 (pow.f64 x 3) 594823321/1259712)) (/.f64 1 (+.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 16/841 (*.f64 x 29/27)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (*.f64 x x) 707281/11664) -16/841) (/.f64 1 (fma.f64 841/108 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 16/841 (*.f64 x 29/27))) (+.f64 64/24389 (*.f64 (pow.f64 x 3) 594823321/1259712))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 841/108 x -4/29) (+.f64 (*.f64 (*.f64 x x) 707281/11664) -16/841)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 64/24389 (*.f64 (pow.f64 x 3) 594823321/1259712)) (+.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 16/841 (*.f64 x 29/27))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 64/24389 (*.f64 (pow.f64 x 3) 594823321/1259712)) (+.f64 16/841 (-.f64 (*.f64 (*.f64 x x) 707281/11664) (*.f64 x 29/27))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 x x) 707281/11664) -16/841) (fma.f64 841/108 x -4/29))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 64/24389 (*.f64 (pow.f64 x 3) 594823321/1259712))) (neg.f64 (+.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 16/841 (*.f64 x 29/27)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 (*.f64 x x) 707281/11664) -16/841)) (neg.f64 (fma.f64 841/108 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 16/841 (*.f64 (*.f64 x x) 707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 841/108 x 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 841/108 x 4/29) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 841/108 x 4/29)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 841/108 x 4/29) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 841/108 x 4/29) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 841/108 x 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 841/108 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 841/108 x) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 707281/11664)) (cbrt.f64 (*.f64 841/108 x)) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 841/108 x)) (sqrt.f64 (*.f64 841/108 x)) 4/29)))))

simplify10.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06120
18102
210102
Stop Event
saturated
Counts
67 → 46
Calls
Call 1
Inputs
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
4/29
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
Outputs
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
4/29
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 841/108 x) 4/29)
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 841/108 x) 4/29)
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 841/108 x) 4/29)
(fma.f64 841/108 x 4/29)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 841/108 x) 4/29)
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 841/108 x) 4/29)
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 841/108 x) 4/29)
(fma.f64 841/108 x 4/29)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 841/108 x) 4/29)
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 841/108 x) 4/29)
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 841/108 x) 4/29)
(fma.f64 841/108 x 4/29)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 841/108 x 4/29)
Compiler

Compiled 8 to 6 computations (25% saved)

series18.0ms (0.4%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
17.0ms
x
@inf
(fma.f64 841/108 x 4/29)
1.0ms
x
@-inf
(fma.f64 841/108 x 4/29)
0.0ms
x
@0
(fma.f64 841/108 x 4/29)

rewrite51.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
434×pow1_binary64
430×add-sqr-sqrt_binary64
417×*-un-lft-identity_binary64
407×add-log-exp_binary64
407×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055
11025
210725
Stop Event
node limit
Counts
1 → 24
Calls
Call 1
Inputs
(fma.f64 841/108 x 4/29)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 4/29 (*.f64 841/108 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 841/108 x) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 841/108 x 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 841/108 x) 1) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 841/108 x 4/29))) (cbrt.f64 (exp.f64 (fma.f64 841/108 x 4/29))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 841/108 x 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 841/108 x 4/29)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 841/108 x 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 841/108 x 4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 841/108 x 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 841/108 x 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) (pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 2) (cbrt.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 841/108 x 4/29)) (sqrt.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 841/108 x) 3) 64/24389) (fma.f64 (*.f64 841/108 x) (*.f64 841/108 x) (-.f64 16/841 (*.f64 (*.f64 841/108 x) 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 841/108 x) (*.f64 841/108 x) -16/841) (fma.f64 841/108 x -4/29))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 841/108 x 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 841/108 x 4/29) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 841/108 x 4/29)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 841/108 x 4/29) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 841/108 x 4/29) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 841/108 x 4/29)))))))

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0672
1854
21054
Stop Event
saturated
Counts
36 → 27
Calls
Call 1
Inputs
4/29
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
Outputs
4/29
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)

eval23.0ms (0.5%)

Compiler

Compiled 691 to 562 computations (18.7% saved)

prune14.0ms (0.3%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New68573
Fresh000
Picked101
Done101
Total70575
Error
0.0b
Counts
75 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 (*.f64 841/108 x) 4/29)
32.9b
(+.f64 (pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2) (/.f64 4 29))
31.6b
(*.f64 841/108 x)
14.4b
(/.f64 (-.f64 16/841 (*.f64 (*.f64 x x) 707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
32.2b
4/29
Compiler

Compiled 37 to 31 computations (16.2% saved)

localize3.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 841/108 x)
Compiler

Compiled 6 to 4 computations (33.3% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 841/108 x)
0.0ms
x
@-inf
(*.f64 841/108 x)
0.0ms
x
@inf
(*.f64 841/108 x)

rewrite49.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
345×pow1_binary64
338×add-sqr-sqrt_binary64
329×*-un-lft-identity_binary64
321×add-log-exp_binary64
321×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044
1804
28734
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(*.f64 841/108 x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 841/108 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 841/108 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (exp.f64 x) 841/216)) (log.f64 (pow.f64 (exp.f64 x) 841/216)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) 841/54))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) 841/108))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 841/108 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 (*.f64 841/108 x)) 3) 1) (+.f64 (*.f64 (+.f64 1 (*.f64 841/108 x)) (+.f64 1 (*.f64 841/108 x))) (+.f64 1 (*.f64 (+.f64 1 (*.f64 841/108 x)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 1 (*.f64 841/108 x)) (+.f64 1 (*.f64 841/108 x))) 1) (+.f64 (+.f64 1 (*.f64 841/108 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 841/108 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 841/108 x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x 3) 594823321/1259712) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 841/108 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 841/108 x)))) (sqrt.f64 (log.f64 (*.f64 841/108 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 841/108 x))) 2)) (cbrt.f64 (log.f64 (*.f64 841/108 x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 841/108 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 841/108 x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) 841/108))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) 594823321/1259712))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 841/108 x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 841/108 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 841/108 x))) 2))))))

simplify7.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
25 → 25
Calls
Call 1
Inputs
Outputs

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 841/108 x) 4/29)
0.2b
(*.f64 841/108 x)
Compiler

Compiled 12 to 9 computations (25% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(+.f64 (*.f64 841/108 x) 4/29)
0.0ms
x
@inf
(+.f64 (*.f64 841/108 x) 4/29)
0.0ms
x
@-inf
(+.f64 (*.f64 841/108 x) 4/29)

rewrite61.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
642×pow1_binary64
606×add-log-exp_binary64
606×log1p-expm1-u_binary64
606×expm1-log1p-u_binary64
597×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065
11335
215875
Stop Event
node limit
Counts
1 → 32
Calls
Call 1
Inputs
(+.f64 (*.f64 841/108 x) 4/29)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 841/108 x 4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 841/108 x) 2) (fma.f64 841/108 x -4/29)) (/.f64 16/841 (fma.f64 841/108 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 841/108 x 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 841/108 x 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) (pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 2) (cbrt.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 841/108 x 4/29)) (sqrt.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 64/24389 (*.f64 (pow.f64 x 3) 594823321/1259712)) (/.f64 1 (+.f64 (pow.f64 (*.f64 841/108 x) 2) (-.f64 16/841 (*.f64 x 29/27)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 841/108 x) 2) -16/841) (/.f64 1 (fma.f64 841/108 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 841/108 x) 2) (-.f64 16/841 (*.f64 x 29/27))) (+.f64 64/24389 (*.f64 (pow.f64 x 3) 594823321/1259712))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 841/108 x -4/29) (+.f64 (pow.f64 (*.f64 841/108 x) 2) -16/841)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 64/24389 (*.f64 (pow.f64 x 3) 594823321/1259712)) (+.f64 (pow.f64 (*.f64 841/108 x) 2) (-.f64 16/841 (*.f64 x 29/27))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 64/24389 (*.f64 (pow.f64 x 3) 594823321/1259712)) (+.f64 16/841 (-.f64 (pow.f64 (*.f64 841/108 x) 2) (*.f64 x 29/27))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 841/108 x) 2) -16/841) (fma.f64 841/108 x -4/29))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 64/24389 (*.f64 (pow.f64 x 3) 594823321/1259712))) (neg.f64 (+.f64 (pow.f64 (*.f64 841/108 x) 2) (-.f64 16/841 (*.f64 x 29/27)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 841/108 x) 2) -16/841)) (neg.f64 (fma.f64 841/108 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 16/841 (pow.f64 (*.f64 841/108 x) 2)) (-.f64 4/29 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 841/108 x 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 841/108 x 4/29) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 841/108 x 4/29)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 841/108 x 4/29) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 841/108 x 4/29) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 841/108 x 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 841/108 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 841/108 x) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 841/108 x)) 2) (cbrt.f64 (*.f64 841/108 x)) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 841/108 x)) (sqrt.f64 (*.f64 841/108 x)) 4/29)))))

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0672
1854
21054
Stop Event
saturated
Counts
44 → 35
Calls
Call 1
Inputs
4/29
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
Outputs
4/29
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)

localize43.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2) (/.f64 4 29))
0.1b
(sqrt.f64 (*.f64 841/108 x))
0.2b
(*.f64 841/108 x)
0.3b
(pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2)
Compiler

Compiled 32 to 27 computations (15.6% saved)

series8.0ms (0.2%)

Counts
3 → 1
Calls

9 calls:

TimeVariablePointExpression
2.0ms
x
@0
(pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2)
1.0ms
x
@-inf
(pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2)
1.0ms
x
@-inf
(sqrt.f64 (*.f64 841/108 x))
1.0ms
x
@inf
(pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2)
1.0ms
x
@inf
(+.f64 (pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2) (/.f64 4 29))

rewrite73.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
910×pow1_binary64
863×add-log-exp_binary64
862×log1p-expm1-u_binary64
862×expm1-log1p-u_binary64
850×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01217
124015
2235015
Stop Event
node limit
Counts
3 → 79
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2)
(sqrt.f64 (*.f64 841/108 x))
(+.f64 (pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2) (/.f64 4 29))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 841/108 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 841/108 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 841/108)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 841/108 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 841/108 x)) (sqrt.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 841/108 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 841/108))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 841/108 x)) (pow.f64 (cbrt.f64 (*.f64 841/108 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 841/108 x)) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 841/108 x))) (sqrt.f64 (*.f64 841/108 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 841/108 x)) 2) (cbrt.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 841/108 x) 1/4) (*.f64 (pow.f64 (*.f64 841/108 x) 1/4) (sqrt.f64 (*.f64 841/108 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 841/108) (*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 841/108 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 841/108))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 841/108 x)) (pow.f64 (*.f64 841/108 x) 1/4)) (pow.f64 (*.f64 841/108 x) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 841/108) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 841/108 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 841/108 (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 841/108 x)) (cbrt.f64 (*.f64 841/108 x))) (cbrt.f64 (sqrt.f64 (*.f64 841/108 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 841/108 x)) (sqrt.f64 841/108)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 707281/11664 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 841/108) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 594823321/1259712 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 841/108 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 841/108 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 841/108 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 841/108 x))) (cbrt.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 841/108 x)) (cbrt.f64 (sqrt.f64 (*.f64 841/108 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 841/108 x) 1/4) (pow.f64 (*.f64 841/108 x) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 841/108) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (sqrt.f64 841/108))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 841/108 x)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 841/108 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 841/108 x)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 841/108 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 841/108 x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 841/108 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 841/108 x) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 841/108 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 841/108 x) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 841/108 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 841/108 x) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 841/108 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 841/108 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 841/108 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 841/108 x 4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 707281/11664 (*.f64 x x)) (fma.f64 841/108 x -4/29)) (/.f64 16/841 (fma.f64 841/108 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 841/108 x 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 841/108 x 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) (pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 2) (cbrt.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 841/108 x 4/29)) (sqrt.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 64/24389 (*.f64 594823321/1259712 (pow.f64 x 3))) (/.f64 1 (+.f64 (*.f64 707281/11664 (*.f64 x x)) (-.f64 16/841 (*.f64 x 29/27)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 707281/11664 (*.f64 x x)) -16/841) (/.f64 1 (fma.f64 841/108 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 707281/11664 (*.f64 x x)) (-.f64 16/841 (*.f64 x 29/27))) (+.f64 64/24389 (*.f64 594823321/1259712 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 841/108 x -4/29) (+.f64 (*.f64 707281/11664 (*.f64 x x)) -16/841)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 64/24389 (*.f64 594823321/1259712 (pow.f64 x 3))) (+.f64 (*.f64 707281/11664 (*.f64 x x)) (-.f64 16/841 (*.f64 x 29/27))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 64/24389 (*.f64 594823321/1259712 (pow.f64 x 3))) (+.f64 16/841 (-.f64 (*.f64 707281/11664 (*.f64 x x)) (*.f64 x 29/27))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 707281/11664 (*.f64 x x)) -16/841) (fma.f64 841/108 x -4/29))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 64/24389 (*.f64 594823321/1259712 (pow.f64 x 3)))) (neg.f64 (+.f64 (*.f64 707281/11664 (*.f64 x x)) (-.f64 16/841 (*.f64 x 29/27)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 707281/11664 (*.f64 x x)) -16/841)) (neg.f64 (fma.f64 841/108 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 16/841 (*.f64 707281/11664 (*.f64 x x))) (-.f64 4/29 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 841/108 x 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 841/108 x 4/29) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 841/108 x 4/29)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 841/108 x 4/29) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 841/108 x 4/29) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 841/108 x 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 841/108 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 841/108 x)) (sqrt.f64 (*.f64 841/108 x)) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 841/108 x) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 841/108 x)) 2) (cbrt.f64 (*.f64 841/108 x)) 4/29)))))

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011
Stop Event
saturated
Counts
80 → 80
Calls
Call 1
Inputs
4/29
Outputs
4/29

localize16.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 16/841 (*.f64 (*.f64 x x) 707281/11664))
0.2b
(*.f64 841/108 x)
0.2b
(*.f64 (*.f64 x x) 707281/11664)
13.4b
(/.f64 (-.f64 16/841 (*.f64 (*.f64 x x) 707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
Compiler

Compiled 42 to 27 computations (35.7% saved)

series4.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(/.f64 (-.f64 16/841 (*.f64 (*.f64 x x) 707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
1.0ms
x
@inf
(/.f64 (-.f64 16/841 (*.f64 (*.f64 x x) 707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
1.0ms
x
@inf
(*.f64 (*.f64 x x) 707281/11664)
0.0ms
x
@-inf
(/.f64 (-.f64 16/841 (*.f64 (*.f64 x x) 707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
0.0ms
x
@0
(*.f64 (*.f64 x x) 707281/11664)

rewrite128.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
623×log-prod_binary64
548×prod-diff_binary64
244×fma-def_binary64
226×pow1/3_binary64
226×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01236
128024
2380320
Stop Event
node limit
Counts
3 → 246
Calls
Call 1
Inputs
(/.f64 (-.f64 16/841 (*.f64 (*.f64 x x) 707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
(*.f64 (*.f64 x x) 707281/11664)
(-.f64 16/841 (*.f64 (*.f64 x x) 707281/11664))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 4/29 (*.f64 x 841/108))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 841/108) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x 841/108 4/29) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) (sqrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x 841/108 4/29) (fma.f64 (neg.f64 (/.f64 707281/11664 (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x 841/108 4/29) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 707281/11664 (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x 841/108 4/29) (fma.f64 (neg.f64 (/.f64 (*.f64 x 841/108) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x 841/108) (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x 841/108 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)) 707281/11664))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 707281/11664 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)) 707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)) 707281/11664))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 707281/11664 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)) 707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)) 707281/11664))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 707281/11664 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)) 707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)) 707281/11664))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 707281/11664 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)) 707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)) 707281/11664))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 707281/11664 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)) 707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)) 707281/11664))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 707281/11664 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)) 707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (*.f64 (*.f64 x x) 707281/11664)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x -841/108 4/29))) (*.f64 (*.f64 x x) 707281/11664) (*.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (*.f64 (*.f64 x x) 707281/11664))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (*.f64 (*.f64 x x) 707281/11664)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x -841/108 4/29))) (*.f64 (*.f64 x x) 707281/11664) (*.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (*.f64 (*.f64 x x) 707281/11664))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (*.f64 (*.f64 x x) 707281/11664)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x -841/108 4/29))) (*.f64 (*.f64 x x) 707281/11664) (*.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (*.f64 (*.f64 x x) 707281/11664))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (*.f64 (*.f64 x x) 707281/11664)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x -841/108 4/29))) (*.f64 (*.f64 x x) 707281/11664) (*.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (*.f64 (*.f64 x x) 707281/11664))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (*.f64 (*.f64 x x) 707281/11664)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x -841/108 4/29))) (*.f64 (*.f64 x x) 707281/11664) (*.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (*.f64 (*.f64 x x) 707281/11664))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (*.f64 (*.f64 x x) 707281/11664)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x -841/108 4/29))) (*.f64 (*.f64 x x) 707281/11664) (*.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (*.f64 (*.f64 x x) 707281/11664))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 1))) (fma.f64 (neg.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) 1 (*.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 1))) (fma.f64 (neg.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) 1 (*.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 1))) (fma.f64 (neg.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) 1 (*.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 1))) (fma.f64 (neg.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) 1 (*.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 1))) (fma.f64 (neg.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) 1 (*.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 1))) (fma.f64 (neg.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) 1 (*.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (*.f64 (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) (cbrt.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29)) (/.f64 x 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29))) (/.f64 x 1) (*.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29)) (/.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29)) (/.f64 x 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29))) (/.f64 x 1) (*.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29)) (/.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29)) (/.f64 x 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29))) (/.f64 x 1) (*.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29)) (/.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29)) (/.f64 x 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29))) (/.f64 x 1) (*.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29)) (/.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29)) (/.f64 x 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29))) (/.f64 x 1) (*.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29)) (/.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29)) (/.f64 x 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29))) (/.f64 x 1) (*.f64 (/.f64 (*.f64 x 707281/11664) (fma.f64 x -841/108 4/29)) (/.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 707281/11664 (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29)) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1)))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29)) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29)) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1)))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29)) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29)) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1)))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29)) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29)) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1)))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29)) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29)) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1)))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29)) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29)) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1)))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (fma.f64 x -841/108 4/29)) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x 841/108) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) 1) (*.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x 841/108) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x 841/108) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) 1) (*.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x 841/108) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x 841/108) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) 1) (*.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x 841/108) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x 841/108) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) 1) (*.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x 841/108) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x 841/108) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) 1) (*.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x 841/108) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x 841/108) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) 1) (*.f64 (/.f64 (*.f64 x 841/108) (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x 841/108) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 707281/11664 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (*.f64 (/.f64 (*.f64 x 841/108) (cbrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x 841/108) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (*.f64 x 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (*.f64 (*.f64 x x) 707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3)))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841)) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (*.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3)))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841)) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (*.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3)))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841)) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (*.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3)))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841)) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (*.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3)))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841)) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (*.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3)))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841)) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (*.f64 (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (fma.f64 x 841/108 4/29) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841))))) (fma.f64 (neg.f64 (fma.f64 x 841/108 4/29)) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841)) (*.f64 (fma.f64 x 841/108 4/29) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 (fma.f64 x 841/108 4/29) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841))))) (fma.f64 (neg.f64 (fma.f64 x 841/108 4/29)) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841)) (*.f64 (fma.f64 x 841/108 4/29) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (fma.f64 x 841/108 4/29) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841))))) (fma.f64 (neg.f64 (fma.f64 x 841/108 4/29)) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841)) (*.f64 (fma.f64 x 841/108 4/29) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 (fma.f64 x 841/108 4/29) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841))))) (fma.f64 (neg.f64 (fma.f64 x 841/108 4/29)) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841)) (*.f64 (fma.f64 x 841/108 4/29) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 (fma.f64 x 841/108 4/29) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841))))) (fma.f64 (neg.f64 (fma.f64 x 841/108 4/29)) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841)) (*.f64 (fma.f64 x 841/108 4/29) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 (fma.f64 x 841/108 4/29) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841))))) (fma.f64 (neg.f64 (fma.f64 x 841/108 4/29)) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841)) (*.f64 (fma.f64 x 841/108 4/29) (/.f64 (*.f64 (*.f64 x x) 707281/11664) (fma.f64 (*.f64 x x) -707281/11664 16/841)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 x 841/108 4/29))) (cbrt.f64 (exp.f64 (fma.f64 x 841/108 4/29))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x 841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x 841/108 4/29)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x 841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x 841/108 4/29))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841) (/.f64 1 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x 841/108 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x 841/108 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) (pow.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) 2) (cbrt.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) 2) (*.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (/.f64 1 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x 841/108 4/29)) (sqrt.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (*.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (/.f64 1 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (/.f64 1 (neg.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (fma.f64 (*.f64 x x) -707281/11664 16/841))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (/.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841) (cbrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841) (sqrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) 2) 1) (/.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) 1) (/.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) 2) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (cbrt.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (/.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (cbrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (sqrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841) (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841) (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x 841/108 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x 841/108 4/29) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x 841/108 4/29)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841) 3) (pow.f64 (fma.f64 x -841/108 4/29) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841) (neg.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x 841/108 4/29) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x 841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x 841/108 4/29) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841) 3) (pow.f64 (fma.f64 x -841/108 4/29) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x 841/108 4/29)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 16/841 (/.f64 1 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 841/108 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 841/108 x 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 841/108) 1 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x 841/108) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 16/841 (fma.f64 x -841/108 4/29)) (neg.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) (cbrt.f64 (*.f64 x 841/108)) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 841/108) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x 841/108)) (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x 707281/11664)) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 841/108) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 841/108)) (sqrt.f64 (*.f64 x 841/108)) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29)))) (cbrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2)) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 16/841 (fma.f64 x -841/108 4/29))) (neg.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 16/841 (-.f64 64/24389 (pow.f64 (*.f64 x 841/108) 3))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841) (neg.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 16/841 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (fma.f64 x 841/108 4/29) (neg.f64 (*.f64 707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 841/108 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 841/108 (sqrt.f64 x)) (sqrt.f64 x) 4/29)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 x x) 707281/11664))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 707281/11664) (*.f64 x x))) (cbrt.f64 (pow.f64 (exp.f64 707281/11664) (*.f64 x x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 707281/11664) (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 707281/11664) (*.f64 x x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 707281/11664) (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 x x) 707281/11664))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x x) 707281/11664) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 841/108) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 353814783205469041/1586874322944 (pow.f64 (*.f64 x x) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 707281/11664) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 x x) 707281/11664))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 353814783205469041/1586874322944 (pow.f64 (*.f64 x x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 x x) 707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 x x) 707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (*.f64 x 841/108))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 x 841/108))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 16/841 (*.f64 (*.f64 x x) -707281/11664))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 16/841 (*.f64 (*.f64 (*.f64 x x) -707281/11664) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x x) -707281/11664) 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (*.f64 x x) -707281/11664 16/841))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841))) (cbrt.f64 (exp.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 x x) -707281/11664 16/841))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) 2) (cbrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) (sqrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 4096/594823321 (*.f64 353814783205469041/1586874322944 (pow.f64 (*.f64 x x) 3))) (/.f64 1 (+.f64 256/707281 (fma.f64 841/729 (*.f64 x x) (*.f64 500246412961/136048896 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 256/707281 (*.f64 500246412961/136048896 (pow.f64 x 4))) (/.f64 1 (fma.f64 x (*.f64 x 707281/11664) 16/841)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 256/707281 (fma.f64 841/729 (*.f64 x x) (*.f64 500246412961/136048896 (pow.f64 x 4)))) (-.f64 4096/594823321 (*.f64 353814783205469041/1586874322944 (pow.f64 (*.f64 x x) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (*.f64 x 707281/11664) 16/841) (-.f64 256/707281 (*.f64 500246412961/136048896 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 4096/594823321 (*.f64 353814783205469041/1586874322944 (pow.f64 (*.f64 x x) 3))) (+.f64 256/707281 (fma.f64 841/729 (*.f64 x x) (*.f64 500246412961/136048896 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 256/707281 (*.f64 500246412961/136048896 (pow.f64 x 4))) (fma.f64 x (*.f64 x 707281/11664) 16/841))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 4096/594823321 (*.f64 353814783205469041/1586874322944 (pow.f64 (*.f64 x x) 3)))) (neg.f64 (+.f64 256/707281 (fma.f64 841/729 (*.f64 x x) (*.f64 500246412961/136048896 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 256/707281 (*.f64 500246412961/136048896 (pow.f64 x 4)))) (neg.f64 (fma.f64 x (*.f64 x 707281/11664) 16/841)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 4096/594823321 (pow.f64 (*.f64 (*.f64 x x) -707281/11664) 3)) (+.f64 256/707281 (-.f64 (*.f64 (*.f64 (*.f64 x x) -707281/11664) (*.f64 (*.f64 x x) -707281/11664)) (*.f64 16/841 (*.f64 (*.f64 x x) -707281/11664)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 256/707281 (*.f64 (*.f64 (*.f64 x x) -707281/11664) (*.f64 (*.f64 x x) -707281/11664))) (-.f64 16/841 (*.f64 (*.f64 x x) -707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 256/707281 (fma.f64 841/729 (*.f64 x x) (*.f64 500246412961/136048896 (pow.f64 x 4)))) (-.f64 4096/594823321 (*.f64 353814783205469041/1586874322944 (pow.f64 (*.f64 x x) 3)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (*.f64 x 707281/11664) 16/841) (-.f64 256/707281 (*.f64 500246412961/136048896 (pow.f64 x 4)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (*.f64 x x) -707281/11664 16/841)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (neg.f64 (*.f64 x 707281/11664)) 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) -707281/11664 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 707281/11664 (*.f64 x (neg.f64 x)) 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 841/108) (*.f64 x -841/108) 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 x x) -707281/11664) 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4))) (neg.f64 (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2)) 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -841/108) (*.f64 x 841/108) 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (neg.f64 x)) 707281/11664 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 x x) -707281/11664)) (cbrt.f64 (*.f64 (*.f64 x x) -707281/11664))) (cbrt.f64 (*.f64 (*.f64 x x) -707281/11664)) 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 x x) -707281/11664)) (sqrt.f64 (*.f64 (*.f64 x x) -707281/11664)) 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (*.f64 x x) 707281/11664) 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x) (*.f64 x 707281/11664) 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -707281/11664 (*.f64 x x) 16/841)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (*.f64 500246412961/136048896 (pow.f64 x 4)))) (pow.f64 (cbrt.f64 (*.f64 x 841/108)) 2) 16/841)))))

simplify178.0ms (4%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1080×sqr-pow_binary64
638×fabs-mul_binary64
612×pow-sqr_binary64
610×cube-prod_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
014243
125225
243225
381225
4202225
5603225
6814225
71228225
81328225
91463225
101632225
111875225
122188225
132558225
143015225
153604225
164314225
175174225
185602225
195922225
206228225
216304225
226338225
Stop Event
node limit
Counts
282 → 256
Calls
Call 1
Inputs
4/29
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (pow.f64 x 2))
16/841
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(*.f64 -707281/11664 (pow.f64 x 2))
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(*.f64 -707281/11664 (pow.f64 x 2))
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
Outputs
4/29
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (*.f64 x x))
(*.f64 x (*.f64 x 707281/11664))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (*.f64 x x))
(*.f64 x (*.f64 x 707281/11664))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (*.f64 x x))
(*.f64 x (*.f64 x 707281/11664))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (*.f64 x x))
(*.f64 x (*.f64 x 707281/11664))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (*.f64 x x))
(*.f64 x (*.f64 x 707281/11664))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (*.f64 x x))
(*.f64 x (*.f64 x 707281/11664))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (*.f64 x x))
(*.f64 x (*.f64 x 707281/11664))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (*.f64 x x))
(*.f64 x (*.f64 x 707281/11664))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (*.f64 x x))
(*.f64 x (*.f64 x 707281/11664))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (*.f64 x x))
(*.f64 x (*.f64 x 707281/11664))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (*.f64 x x))
(*.f64 x (*.f64 x 707281/11664))
(*.f64 707281/11664 (pow.f64 x 2))
(*.f64 707281/11664 (*.f64 x x))
(*.f64 x (*.f64 x 707281/11664))
16/841
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(fma.f64 -707281/11664 (*.f64 x x) 16/841)
(fma.f64 (*.f64 x x) -707281/11664 16/841)
(fma.f64 x (*.f64 x -707281/11664) 16/841)
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(fma.f64 -707281/11664 (*.f64 x x) 16/841)
(fma.f64 (*.f64 x x) -707281/11664 16/841)
(fma.f64 x (*.f64 x -707281/11664) 16/841)
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(fma.f64 -707281/11664 (*.f64 x x) 16/841)
(fma.f64 (*.f64 x x) -707281/11664 16/841)
(fma.f64 x (*.f64 x -707281/11664) 16/841)
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(fma.f64 -707281/11664 (*.f64 x x) 16/841)
(fma.f64 (*.f64 x x) -707281/11664 16/841)
(fma.f64 x (*.f64 x -707281/11664) 16/841)
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(fma.f64 -707281/11664 (*.f64 x x) 16/841)
(fma.f64 (*.f64 x x) -707281/11664 16/841)
(fma.f64 x (*.f64 x -707281/11664) 16/841)
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(fma.f64 -707281/11664 (*.f64 x x) 16/841)
(fma.f64 (*.f64 x x) -707281/11664 16/841)
(fma.f64 x (*.f64 x -707281/11664) 16/841)
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(fma.f64 -707281/11664 (*.f64 x x) 16/841)
(fma.f64 (*.f64 x x) -707281/11664 16/841)
(fma.f64 x (*.f64 x -707281/11664) 16/841)
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(fma.f64 -707281/11664 (*.f64 x x) 16/841)
(fma.f64 (*.f64 x x) -707281/11664 16/841)
(fma.f64 x (*.f64 x -707281/11664) 16/841)
(+.f64 (*.f64 -707281/11664 (pow.f64 x 2)) 16/841)
(fma.f64 -707281/11664 (*.f64 x x) 16/841)
(fma.f64 (*.f64 x x) -707281/11664 16/841)
(fma.f64 x (*.f64 x -707281/11664) 16/841)

eval483.0ms (10.8%)

Compiler

Compiled 13287 to 10374 computations (21.9% saved)

prune67.0ms (1.5%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New4665471
Fresh101
Picked011
Done123
Total4688476
Error
0b
Counts
476 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(+.f64 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x) (/.f64 4 29))
0.1b
(+.f64 (*.f64 841/108 x) 4/29)
32.2b
4/29
45.8b
(/.f64 (*.f64 x (*.f64 x -707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
31.6b
(*.f64 841/108 x)
0.1b
(pow.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) -1)
14.4b
(/.f64 (-.f64 16/841 (*.f64 (*.f64 x x) 707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
48.2b
(pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2)
Compiler

Compiled 65 to 54 computations (16.9% saved)

localize15.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x) (/.f64 4 29))
0.2b
(*.f64 (pow.f64 (sqrt.f64 841/108) 2) x)
1.0b
(pow.f64 (sqrt.f64 841/108) 2)
Compiler

Compiled 31 to 28 computations (9.7% saved)

series3.0ms (0.1%)

Counts
3 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 (pow.f64 (sqrt.f64 841/108) 2) x)
1.0ms
x
@inf
(*.f64 (pow.f64 (sqrt.f64 841/108) 2) x)
0.0ms
x
@-inf
(*.f64 (pow.f64 (sqrt.f64 841/108) 2) x)
0.0ms
x
@0
(+.f64 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x) (/.f64 4 29))
0.0ms
x
@inf
(+.f64 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x) (/.f64 4 29))

rewrite106.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
899×pow1_binary64
851×add-log-exp_binary64
850×log1p-expm1-u_binary64
850×expm1-log1p-u_binary64
839×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01210
124110
2230410
Stop Event
node limit
Counts
3 → 44
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 841/108) 2)
(*.f64 (pow.f64 (sqrt.f64 841/108) 2) x)
(+.f64 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x) (/.f64 4 29))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x . 841/108)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 841/108 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 841/108 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 841/108 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 594823321/1259712 (pow.f64 x 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 707281/11664 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 841/108) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 594823321/1259712 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 841/108 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 841/108 x 4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 707281/11664 (*.f64 x x)) (fma.f64 841/108 x -4/29)) (/.f64 16/841 (fma.f64 841/108 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 841/108 x 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 841/108 x 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) (pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 2) (cbrt.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 841/108 x 4/29)) (sqrt.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 64/24389 (*.f64 594823321/1259712 (pow.f64 x 3))) (/.f64 1 (+.f64 (*.f64 707281/11664 (*.f64 x x)) (-.f64 16/841 (*.f64 x 29/27)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 707281/11664 (*.f64 x x)) -16/841) (/.f64 1 (fma.f64 841/108 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 707281/11664 (*.f64 x x)) (-.f64 16/841 (*.f64 x 29/27))) (+.f64 64/24389 (*.f64 594823321/1259712 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 841/108 x -4/29) (+.f64 (*.f64 707281/11664 (*.f64 x x)) -16/841)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 64/24389 (*.f64 594823321/1259712 (pow.f64 x 3))) (+.f64 (*.f64 707281/11664 (*.f64 x x)) (-.f64 16/841 (*.f64 x 29/27))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 64/24389 (*.f64 594823321/1259712 (pow.f64 x 3))) (+.f64 16/841 (-.f64 (*.f64 707281/11664 (*.f64 x x)) (*.f64 x 29/27))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 707281/11664 (*.f64 x x)) -16/841) (fma.f64 841/108 x -4/29))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 64/24389 (*.f64 594823321/1259712 (pow.f64 x 3)))) (neg.f64 (+.f64 (*.f64 707281/11664 (*.f64 x x)) (-.f64 16/841 (*.f64 x 29/27)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 707281/11664 (*.f64 x x)) -16/841)) (neg.f64 (fma.f64 841/108 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 16/841 (*.f64 707281/11664 (*.f64 x x))) (-.f64 4/29 (*.f64 841/108 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 841/108 x 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 841/108 x 4/29) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 841/108 x 4/29)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 841/108 x 4/29)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 841/108 x 4/29) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 841/108 x 4/29) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 841/108 x 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 841/108 x 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 841/108 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 841/108 x) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 841/108 x)) 2) (cbrt.f64 (*.f64 841/108 x)) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 841/108 x)) (sqrt.f64 (*.f64 841/108 x)) 4/29)))))

simplify158.0ms (3.5%)

Algorithm
egg-herbie
Rules
1858×unswap-sqr_binary64
1116×sqr-pow_binary64
531×fabs-mul_binary64
530×cube-prod_binary64
519×pow-sqr_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
09127
11654
23054
34954
49754
527454
696254
7142254
8157154
9172654
10190354
11215654
12250554
13291054
14337154
15392954
16461254
17505254
18529854
19553054
20558654
21560854
22615954
Stop Event
node limit
Counts
56 → 48
Calls
Call 1
Inputs
4/29
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(*.f64 (pow.f64 (sqrt.f64 841/108) 2) x)
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(*.f64 (pow.f64 (sqrt.f64 841/108) 2) x)
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
Outputs
4/29
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(fma.f64 841/108 x 4/29)
(*.f64 (pow.f64 (sqrt.f64 841/108) 2) x)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(fma.f64 841/108 x 4/29)
(*.f64 (pow.f64 (sqrt.f64 841/108) 2) x)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x))
(fma.f64 841/108 x 4/29)

localize15.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (*.f64 x -707281/11664))
0.1b
(*.f64 x -707281/11664)
0.2b
(*.f64 841/108 x)
13.5b
(/.f64 (*.f64 x (*.f64 x -707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
Compiler

Compiled 32 to 23 computations (28.1% saved)

series5.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
2.0ms
x
@inf
(/.f64 (*.f64 x (*.f64 x -707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
1.0ms
x
@0
(/.f64 (*.f64 x (*.f64 x -707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
0.0ms
x
@inf
(*.f64 x -707281/11664)
0.0ms
x
@0
(*.f64 x (*.f64 x -707281/11664))
0.0ms
x
@0
(*.f64 x -707281/11664)

rewrite93.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
572×log-prod_binary64
303×pow-prod-down_binary64
280×pow2_binary64
238×prod-diff_binary64
197×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01027
122727
2304525
Stop Event
node limit
Counts
3 → 102
Calls
Call 1
Inputs
(/.f64 (*.f64 x (*.f64 x -707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
(*.f64 x -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1 (*.f64 -11664/707281 (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 x -707281/11664) (/.f64 1 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -707281/11664) (*.f64 x (/.f64 1 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 x -707281/11664)) (/.f64 1 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x x) 707281/11664) (/.f64 1 (neg.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) (*.f64 -707281/11664 (/.f64 1 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 500246412961/136048896)) (*.f64 (cbrt.f64 (*.f64 x (*.f64 x -707281/11664))) (/.f64 1 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))) (cbrt.f64 (pow.f64 (/.f64 (/.f64 (fma.f64 x -841/108 4/29) x) (*.f64 x -707281/11664)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (/.f64 (fma.f64 x -841/108 4/29) x) (*.f64 x -707281/11664)) -2)) (cbrt.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (sqrt.f64 -707281/11664)) (*.f64 (*.f64 x (sqrt.f64 -707281/11664)) (/.f64 1 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x 841/108) (sqrt.f64 (neg.f64 (fma.f64 x -841/108 4/29)))) (/.f64 (*.f64 x 841/108) (sqrt.f64 (neg.f64 (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (*.f64 x (*.f64 x -707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 1) (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x -707281/11664) 1) (/.f64 x (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (fma.f64 x -841/108 4/29)) (*.f64 x -707281/11664))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x x) 1) (/.f64 -707281/11664 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 500246412961/136048896)) 1) (/.f64 (cbrt.f64 (*.f64 x (*.f64 x -707281/11664))) (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (sqrt.f64 -707281/11664)) 1) (/.f64 (*.f64 x (sqrt.f64 -707281/11664)) (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (/.f64 (*.f64 x -707281/11664) (cbrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x -707281/11664) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) -2) (/.f64 (*.f64 x (*.f64 x -707281/11664)) (cbrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (/.f64 -707281/11664 (cbrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 500246412961/136048896)) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (cbrt.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (sqrt.f64 -707281/11664)) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (/.f64 (*.f64 x (sqrt.f64 -707281/11664)) (cbrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (*.f64 x -707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x -707281/11664) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x -841/108 4/29) -1/2) (/.f64 (*.f64 x (*.f64 x -707281/11664)) (sqrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 -707281/11664 (sqrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 500246412961/136048896)) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 (*.f64 x (*.f64 x -707281/11664))) (sqrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (*.f64 x -707281/11664)) (-.f64 64/24389 (*.f64 (pow.f64 x 3) 594823321/1259712))) (fma.f64 (*.f64 x 841/108) (fma.f64 x 841/108 4/29) 16/841))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (*.f64 x -707281/11664)) (-.f64 16/841 (*.f64 (*.f64 x x) 707281/11664))) (fma.f64 x 841/108 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 (fma.f64 x -841/108 4/29) x) (*.f64 x -707281/11664)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 x 841/108) (sqrt.f64 (neg.f64 (fma.f64 x -841/108 4/29)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (fma.f64 x -841/108 4/29) x) (*.f64 x -707281/11664)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 x (sqrt.f64 -707281/11664)) 6) (pow.f64 (fma.f64 x -841/108 4/29) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (/.f64 (fma.f64 x -841/108 4/29) x) (*.f64 x -707281/11664)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 x (*.f64 x -707281/11664)) (neg.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 (fma.f64 x -841/108 4/29) x) (*.f64 x -707281/11664)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 x (sqrt.f64 -707281/11664)) 6) (pow.f64 (fma.f64 x -841/108 4/29) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 x 841/108) (sqrt.f64 (neg.f64 (fma.f64 x -841/108 4/29))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 (fma.f64 x -841/108 4/29) x) (*.f64 x -707281/11664))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x -707281/11664))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 x -707281/11664))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 x -707281/11664)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 x -707281/11664)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 x -707281/11664)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x -707281/11664))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x -707281/11664) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x x) 500246412961/136048896) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x -707281/11664) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x -707281/11664)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x -707281/11664)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 x x) 500246412961/136048896))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 x -707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x -707281/11664))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x -707281/11664) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x -707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x -707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x -707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x -707281/11664)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x -707281/11664))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x -707281/11664))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x -707281/11664))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x -707281/11664)) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 x -707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x -707281/11664))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x -707281/11664)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 x -707281/11664)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 x -707281/11664)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (*.f64 x -707281/11664)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 x -707281/11664)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x 4) 500246412961/136048896) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (sqrt.f64 -707281/11664)) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 x -707281/11664))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sqrt.f64 -707281/11664)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 x 4) 500246412961/136048896))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 x -707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 x -707281/11664)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 -707281/11664)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 x -707281/11664))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 x -707281/11664))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 x -707281/11664))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (*.f64 x -707281/11664))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (sqrt.f64 -707281/11664)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (*.f64 x -707281/11664)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (sqrt.f64 -707281/11664))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (*.f64 x -707281/11664))) 1) 1))))))

simplify106.0ms (2.4%)

Algorithm
egg-herbie
Rules
888×fma-def_binary64
658×associate-/r/_binary64
380×*-commutative_binary64
365×associate-/l/_binary64
350×swap-sqr_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
042286
1103282
2224280
3579273
41587267
53465267
65328267
76385267
87140267
97940267
Stop Event
node limit
Counts
138 → 122
Calls
Call 1
Inputs
(*.f64 -20511149/46656 (pow.f64 x 2))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (*.f64 -500246412961/20155392 (pow.f64 x 3)))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (+.f64 (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)) (*.f64 -500246412961/20155392 (pow.f64 x 3))))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (+.f64 (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)) (+.f64 (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5)) (*.f64 -500246412961/20155392 (pow.f64 x 3)))))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x))))
(+.f64 4/29 (+.f64 (*.f64 746496/17249876309 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x)))))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x))))
(+.f64 4/29 (+.f64 (*.f64 746496/17249876309 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x)))))
(*.f64 -707281/11664 x)
(*.f64 -707281/11664 x)
(*.f64 -707281/11664 x)
(*.f64 -707281/11664 x)
(*.f64 -707281/11664 x)
(*.f64 -707281/11664 x)
(*.f64 -707281/11664 x)
(*.f64 -707281/11664 x)
(*.f64 -707281/11664 x)
(*.f64 -707281/11664 x)
(*.f64 -707281/11664 x)
(*.f64 -707281/11664 x)
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 -707281/11664 (pow.f64 x 2))
Outputs
(*.f64 -20511149/46656 (pow.f64 x 2))
(*.f64 -20511149/46656 (*.f64 x x))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (*.f64 -500246412961/20155392 (pow.f64 x 3)))
(fma.f64 -20511149/46656 (*.f64 x x) (*.f64 -500246412961/20155392 (pow.f64 x 3)))
(*.f64 (*.f64 x x) (+.f64 (*.f64 x -500246412961/20155392) -20511149/46656))
(*.f64 (*.f64 x x) (fma.f64 x -500246412961/20155392 -20511149/46656))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (+.f64 (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)) (*.f64 -500246412961/20155392 (pow.f64 x 3))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (*.f64 -500246412961/20155392 (pow.f64 x 3))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -500246412961/20155392 (pow.f64 x 3) (*.f64 -12200509765705829/8707129344 (pow.f64 x 4))))
(fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (*.f64 (*.f64 x x) (+.f64 (*.f64 x -500246412961/20155392) -20511149/46656)))
(fma.f64 x (*.f64 x (fma.f64 x -500246412961/20155392 -20511149/46656)) (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)))
(*.f64 x (*.f64 x (fma.f64 x (fma.f64 x -12200509765705829/8707129344 -500246412961/20155392) -20511149/46656)))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (+.f64 (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)) (+.f64 (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5)) (*.f64 -500246412961/20155392 (pow.f64 x 3)))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (fma.f64 -297558232675799463481/3761479876608 (pow.f64 x 5) (*.f64 -500246412961/20155392 (pow.f64 x 3)))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (fma.f64 -500246412961/20155392 (pow.f64 x 3) (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5)))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -297558232675799463481/3761479876608 (pow.f64 x 5) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (*.f64 -500246412961/20155392 (pow.f64 x 3)))))
(fma.f64 x (*.f64 x (fma.f64 x -500246412961/20155392 -20511149/46656)) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5))))
(fma.f64 (*.f64 x x) (fma.f64 x (fma.f64 x -12200509765705829/8707129344 -500246412961/20155392) -20511149/46656) (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5)))
(fma.f64 x (*.f64 x (fma.f64 x (fma.f64 x -12200509765705829/8707129344 -500246412961/20155392) -20511149/46656)) (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5)))
(*.f64 841/108 x)
(*.f64 x 841/108)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 x 841/108) 4/29)
(fma.f64 x 841/108 4/29)
(+.f64 4/29 (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x))))
(+.f64 4/29 (fma.f64 841/108 x (/.f64 1728/707281 x)))
(+.f64 4/29 (fma.f64 x 841/108 (/.f64 1728/707281 x)))
(fma.f64 x 841/108 (+.f64 4/29 (/.f64 1728/707281 x)))
(+.f64 4/29 (+.f64 (*.f64 746496/17249876309 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x)))))
(+.f64 4/29 (+.f64 (fma.f64 841/108 x (/.f64 1728/707281 x)) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 4/29 (+.f64 (fma.f64 x 841/108 (/.f64 1728/707281 x)) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 (fma.f64 x 841/108 4/29) (+.f64 (/.f64 1728/707281 x) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 (/.f64 1728/707281 x) (fma.f64 x 841/108 (+.f64 4/29 (/.f64 746496/17249876309 (*.f64 x x)))))
(+.f64 4/29 (+.f64 (/.f64 1728/707281 x) (fma.f64 x 841/108 (/.f64 746496/17249876309 (*.f64 x x)))))
(*.f64 841/108 x)
(*.f64 x 841/108)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 x 841/108) 4/29)
(fma.f64 x 841/108 4/29)
(+.f64 4/29 (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x))))
(+.f64 4/29 (fma.f64 841/108 x (/.f64 1728/707281 x)))
(+.f64 4/29 (fma.f64 x 841/108 (/.f64 1728/707281 x)))
(fma.f64 x 841/108 (+.f64 4/29 (/.f64 1728/707281 x)))
(+.f64 4/29 (+.f64 (*.f64 746496/17249876309 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x)))))
(+.f64 4/29 (+.f64 (fma.f64 841/108 x (/.f64 1728/707281 x)) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 4/29 (+.f64 (fma.f64 x 841/108 (/.f64 1728/707281 x)) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 (fma.f64 x 841/108 4/29) (+.f64 (/.f64 1728/707281 x) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 (/.f64 1728/707281 x) (fma.f64 x 841/108 (+.f64 4/29 (/.f64 746496/17249876309 (*.f64 x x)))))
(+.f64 4/29 (+.f64 (/.f64 1728/707281 x) (fma.f64 x 841/108 (/.f64 746496/17249876309 (*.f64 x x)))))
(*.f64 -707281/11664 x)
(*.f64 x -707281/11664)
(*.f64 -707281/11664 x)
(*.f64 x -707281/11664)
(*.f64 -707281/11664 x)
(*.f64 x -707281/11664)
(*.f64 -707281/11664 x)
(*.f64 x -707281/11664)
(*.f64 -707281/11664 x)
(*.f64 x -707281/11664)
(*.f64 -707281/11664 x)
(*.f64 x -707281/11664)
(*.f64 -707281/11664 x)
(*.f64 x -707281/11664)
(*.f64 -707281/11664 x)
(*.f64 x -707281/11664)
(*.f64 -707281/11664 x)
(*.f64 x -707281/11664)
(*.f64 -707281/11664 x)
(*.f64 x -707281/11664)
(*.f64 -707281/11664 x)
(*.f64 x -707281/11664)
(*.f64 -707281/11664 x)
(*.f64 x -707281/11664)
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))
(*.f64 -707281/11664 (pow.f64 x 2))
(*.f64 (*.f64 x x) -707281/11664)
(*.f64 x (*.f64 x -707281/11664))

localize10.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (*.f64 841/108 x))
0.2b
(*.f64 841/108 x)
0.3b
(pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2)
Compiler

Compiled 17 to 13 computations (23.5% saved)

localize12.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x 841/108 4/29)
0.1b
(/.f64 1 (fma.f64 x 841/108 4/29))
0.1b
(pow.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) -1)
Compiler

Compiled 24 to 20 computations (16.7% saved)

series5.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(pow.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) -1)
1.0ms
x
@-inf
(pow.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) -1)
1.0ms
x
@inf
(pow.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) -1)
0.0ms
x
@inf
(/.f64 1 (fma.f64 x 841/108 4/29))
0.0ms
x
@-inf
(/.f64 1 (fma.f64 x 841/108 4/29))

rewrite77.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
656×pow1_binary64
619×add-log-exp_binary64
617×log1p-expm1-u_binary64
617×expm1-log1p-u_binary64
608×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0930
118218
2192018
Stop Event
node limit
Counts
3 → 83
Calls
Call 1
Inputs
(pow.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) -1)
(/.f64 1 (fma.f64 x 841/108 4/29))
(fma.f64 x 841/108 4/29)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 4/29 (*.f64 x 841/108))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 841/108) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x 841/108) 1) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x 841/108 4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x 841/108 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x 841/108 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) (pow.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) 2) (cbrt.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x 841/108 4/29)) (sqrt.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x 841/108 4/29) -2)) -1) (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x 841/108 4/29))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 x 841/108 4/29) -1/2) -1) (pow.f64 (pow.f64 (fma.f64 x 841/108 4/29) -1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x 841/108 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 1 (fma.f64 x 841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) 2) (cbrt.f64 (/.f64 1 (fma.f64 x 841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 x 841/108 4/29)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 x 841/108 4/29)) (pow.f64 (fma.f64 x 841/108 4/29) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x 841/108) 3) 64/24389) (+.f64 (*.f64 (*.f64 x 841/108) (*.f64 x 841/108)) (-.f64 16/841 (*.f64 (*.f64 x 841/108) 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x 841/108) (*.f64 x 841/108)) 16/841) (-.f64 (*.f64 x 841/108) 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 x 841/108 4/29) -2))) (cbrt.f64 (/.f64 1 (fma.f64 x 841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x 841/108 4/29) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x 841/108 4/29) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 841/108 4/29)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1 (fma.f64 x 841/108 4/29))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (fma.f64 x 841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 (fma.f64 x 841/108 4/29))) (cbrt.f64 (pow.f64 (fma.f64 x 841/108 4/29) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x 841/108 4/29) -2)) (cbrt.f64 (/.f64 1 (fma.f64 x 841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x 841/108 4/29) -1/2) (pow.f64 (fma.f64 x 841/108 4/29) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) 2) -1) (pow.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 x 841/108 4/29)) -1) (pow.f64 (sqrt.f64 (fma.f64 x 841/108 4/29)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x 841/108 4/29) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x 841/108 4/29))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x 841/108 4/29) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x 841/108 4/29) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (fma.f64 x 841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (fma.f64 x 841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (fma.f64 x 841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (fma.f64 x 841/108 4/29))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 4/29 (*.f64 x 841/108))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 841/108) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x 841/108) 1) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x 841/108 4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x 841/108 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x 841/108 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) (pow.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) 2) (cbrt.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x 841/108 4/29)) (sqrt.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x 841/108 4/29) -2)) -1) (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x 841/108 4/29))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 x 841/108 4/29) -1/2) -1) (pow.f64 (pow.f64 (fma.f64 x 841/108 4/29) -1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x 841/108 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 1 (fma.f64 x 841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) 2) (cbrt.f64 (/.f64 1 (fma.f64 x 841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 x 841/108 4/29)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 x 841/108 4/29)) (pow.f64 (fma.f64 x 841/108 4/29) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x 841/108) 3) 64/24389) (+.f64 (*.f64 (*.f64 x 841/108) (*.f64 x 841/108)) (-.f64 16/841 (*.f64 (*.f64 x 841/108) 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x 841/108) (*.f64 x 841/108)) 16/841) (-.f64 (*.f64 x 841/108) 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 x 841/108 4/29) -2))) (cbrt.f64 (/.f64 1 (fma.f64 x 841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x 841/108 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x 841/108 4/29) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x 841/108 4/29) -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x 841/108 4/29)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x 841/108 4/29)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x 841/108 4/29) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x 841/108 4/29) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x 841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x 841/108 4/29)))))))

simplify61.0ms (1.4%)

Algorithm
egg-herbie
Rules
784×fma-def_binary64
744×distribute-neg-frac_binary64
698×associate-*r*_binary64
417×times-frac_binary64
289×associate-/l/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
043327
1108289
2257285
3671279
41985276
56898276
Stop Event
node limit
Counts
119 → 73
Calls
Call 1
Inputs
4/29
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
29/4
(+.f64 29/4 (*.f64 -707281/1728 x))
(+.f64 29/4 (+.f64 (*.f64 17249876309/746496 (pow.f64 x 2)) (*.f64 -707281/1728 x)))
(+.f64 29/4 (+.f64 (*.f64 -420707233300201/322486272 (pow.f64 x 3)) (+.f64 (*.f64 17249876309/746496 (pow.f64 x 2)) (*.f64 -707281/1728 x))))
(/.f64 108/841 x)
(-.f64 (*.f64 108/841 (/.f64 1 x)) (*.f64 46656/20511149 (/.f64 1 (pow.f64 x 2))))
(-.f64 (+.f64 (*.f64 108/841 (/.f64 1 x)) (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 3)))) (*.f64 46656/20511149 (/.f64 1 (pow.f64 x 2))))
(-.f64 (+.f64 (*.f64 108/841 (/.f64 1 x)) (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 3)))) (+.f64 (*.f64 8707129344/12200509765705829 (/.f64 1 (pow.f64 x 4))) (*.f64 46656/20511149 (/.f64 1 (pow.f64 x 2)))))
(/.f64 108/841 x)
(-.f64 (*.f64 108/841 (/.f64 1 x)) (*.f64 46656/20511149 (/.f64 1 (pow.f64 x 2))))
(-.f64 (+.f64 (*.f64 108/841 (/.f64 1 x)) (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 3)))) (*.f64 46656/20511149 (/.f64 1 (pow.f64 x 2))))
(-.f64 (+.f64 (*.f64 108/841 (/.f64 1 x)) (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 3)))) (+.f64 (*.f64 8707129344/12200509765705829 (/.f64 1 (pow.f64 x 4))) (*.f64 46656/20511149 (/.f64 1 (pow.f64 x 2)))))
4/29
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (*.f64 841/108 x))
Outputs
4/29
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
29/4
(+.f64 29/4 (*.f64 -707281/1728 x))
(+.f64 29/4 (*.f64 x -707281/1728))
(fma.f64 x -707281/1728 29/4)
(+.f64 29/4 (+.f64 (*.f64 17249876309/746496 (pow.f64 x 2)) (*.f64 -707281/1728 x)))
(+.f64 29/4 (fma.f64 17249876309/746496 (*.f64 x x) (*.f64 x -707281/1728)))
(+.f64 29/4 (fma.f64 x -707281/1728 (*.f64 x (*.f64 x 17249876309/746496))))
(fma.f64 x (*.f64 x 17249876309/746496) (fma.f64 x -707281/1728 29/4))
(fma.f64 x (fma.f64 x 17249876309/746496 -707281/1728) 29/4)
(+.f64 29/4 (+.f64 (*.f64 -420707233300201/322486272 (pow.f64 x 3)) (+.f64 (*.f64 17249876309/746496 (pow.f64 x 2)) (*.f64 -707281/1728 x))))
(+.f64 29/4 (fma.f64 -420707233300201/322486272 (pow.f64 x 3) (fma.f64 17249876309/746496 (*.f64 x x) (*.f64 x -707281/1728))))
(+.f64 29/4 (fma.f64 -420707233300201/322486272 (pow.f64 x 3) (fma.f64 x -707281/1728 (*.f64 x (*.f64 x 17249876309/746496)))))
(fma.f64 -420707233300201/322486272 (pow.f64 x 3) (fma.f64 x (*.f64 x 17249876309/746496) (fma.f64 x -707281/1728 29/4)))
(fma.f64 x -707281/1728 (fma.f64 x (*.f64 x (fma.f64 x -420707233300201/322486272 17249876309/746496)) 29/4))
(fma.f64 x (fma.f64 x (fma.f64 x -420707233300201/322486272 17249876309/746496) -707281/1728) 29/4)
(/.f64 108/841 x)
(-.f64 (*.f64 108/841 (/.f64 1 x)) (*.f64 46656/20511149 (/.f64 1 (pow.f64 x 2))))
(-.f64 (/.f64 108/841 x) (/.f64 46656/20511149 (*.f64 x x)))
(+.f64 (/.f64 108/841 x) (/.f64 -46656/20511149 (*.f64 x x)))
(-.f64 (/.f64 108/841 x) (/.f64 (/.f64 46656/20511149 x) x))
(-.f64 (+.f64 (*.f64 108/841 (/.f64 1 x)) (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 3)))) (*.f64 46656/20511149 (/.f64 1 (pow.f64 x 2))))
(+.f64 (/.f64 108/841 x) (-.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (/.f64 46656/20511149 (*.f64 x x))))
(+.f64 (/.f64 108/841 x) (+.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (/.f64 -46656/20511149 (*.f64 x x))))
(+.f64 (/.f64 108/841 x) (*.f64 (/.f64 (/.f64 -1 x) x) (+.f64 46656/20511149 (/.f64 -20155392/500246412961 x))))
(-.f64 (+.f64 (*.f64 108/841 (/.f64 1 x)) (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 3)))) (+.f64 (*.f64 8707129344/12200509765705829 (/.f64 1 (pow.f64 x 4))) (*.f64 46656/20511149 (/.f64 1 (pow.f64 x 2)))))
(-.f64 (+.f64 (/.f64 108/841 x) (/.f64 20155392/500246412961 (pow.f64 x 3))) (+.f64 (/.f64 46656/20511149 (*.f64 x x)) (/.f64 8707129344/12200509765705829 (pow.f64 x 4))))
(-.f64 (+.f64 (/.f64 108/841 x) (+.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (/.f64 -46656/20511149 (*.f64 x x)))) (/.f64 8707129344/12200509765705829 (pow.f64 x 4)))
(+.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (+.f64 (/.f64 108/841 x) (+.f64 (/.f64 -46656/20511149 (*.f64 x x)) (/.f64 -8707129344/12200509765705829 (pow.f64 x 4)))))
(+.f64 (+.f64 (/.f64 108/841 x) (/.f64 -46656/20511149 (*.f64 x x))) (+.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (/.f64 -8707129344/12200509765705829 (pow.f64 x 4))))
(+.f64 (/.f64 108/841 x) (+.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (-.f64 (/.f64 -8707129344/12200509765705829 (pow.f64 x 4)) (/.f64 (/.f64 46656/20511149 x) x))))
(+.f64 (/.f64 108/841 x) (+.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (+.f64 (/.f64 -46656/20511149 (*.f64 x x)) (/.f64 -8707129344/12200509765705829 (pow.f64 x 4)))))
(/.f64 108/841 x)
(-.f64 (*.f64 108/841 (/.f64 1 x)) (*.f64 46656/20511149 (/.f64 1 (pow.f64 x 2))))
(-.f64 (/.f64 108/841 x) (/.f64 46656/20511149 (*.f64 x x)))
(+.f64 (/.f64 108/841 x) (/.f64 -46656/20511149 (*.f64 x x)))
(-.f64 (/.f64 108/841 x) (/.f64 (/.f64 46656/20511149 x) x))
(-.f64 (+.f64 (*.f64 108/841 (/.f64 1 x)) (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 3)))) (*.f64 46656/20511149 (/.f64 1 (pow.f64 x 2))))
(+.f64 (/.f64 108/841 x) (-.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (/.f64 46656/20511149 (*.f64 x x))))
(+.f64 (/.f64 108/841 x) (+.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (/.f64 -46656/20511149 (*.f64 x x))))
(+.f64 (/.f64 108/841 x) (*.f64 (/.f64 (/.f64 -1 x) x) (+.f64 46656/20511149 (/.f64 -20155392/500246412961 x))))
(-.f64 (+.f64 (*.f64 108/841 (/.f64 1 x)) (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 3)))) (+.f64 (*.f64 8707129344/12200509765705829 (/.f64 1 (pow.f64 x 4))) (*.f64 46656/20511149 (/.f64 1 (pow.f64 x 2)))))
(-.f64 (+.f64 (/.f64 108/841 x) (/.f64 20155392/500246412961 (pow.f64 x 3))) (+.f64 (/.f64 46656/20511149 (*.f64 x x)) (/.f64 8707129344/12200509765705829 (pow.f64 x 4))))
(-.f64 (+.f64 (/.f64 108/841 x) (+.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (/.f64 -46656/20511149 (*.f64 x x)))) (/.f64 8707129344/12200509765705829 (pow.f64 x 4)))
(+.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (+.f64 (/.f64 108/841 x) (+.f64 (/.f64 -46656/20511149 (*.f64 x x)) (/.f64 -8707129344/12200509765705829 (pow.f64 x 4)))))
(+.f64 (+.f64 (/.f64 108/841 x) (/.f64 -46656/20511149 (*.f64 x x))) (+.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (/.f64 -8707129344/12200509765705829 (pow.f64 x 4))))
(+.f64 (/.f64 108/841 x) (+.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (-.f64 (/.f64 -8707129344/12200509765705829 (pow.f64 x 4)) (/.f64 (/.f64 46656/20511149 x) x))))
(+.f64 (/.f64 108/841 x) (+.f64 (/.f64 20155392/500246412961 (pow.f64 x 3)) (+.f64 (/.f64 -46656/20511149 (*.f64 x x)) (/.f64 -8707129344/12200509765705829 (pow.f64 x 4)))))
4/29
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)
(+.f64 4/29 (*.f64 841/108 x))
(fma.f64 841/108 x 4/29)

eval131.0ms (2.9%)

Compiler

Compiled 4185 to 3372 computations (19.4% saved)

prune70.0ms (1.6%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New3364340
Fresh101
Picked101
Done246
Total3408348
Error
0b
Counts
348 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
31.6b
(+.f64 0 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x)))
31.7b
(pow.f64 (/.f64 108/841 x) -1)
45.8b
(/.f64 (*.f64 x (*.f64 x -707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
0.1b
(+.f64 (*.f64 841/108 x) 4/29)
31.6b
(*.f64 841/108 x)
32.2b
4/29
14.4b
(/.f64 (-.f64 16/841 (*.f64 (*.f64 x x) 707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
31.6b
(*.f64 (/.f64 x (fma.f64 x -841/108 4/29)) (*.f64 x -707281/11664))
Compiler

Compiled 68 to 53 computations (22.1% saved)

localize14.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x -841/108 4/29)
0.1b
(/.f64 x (fma.f64 x -841/108 4/29))
0.1b
(*.f64 x -707281/11664)
0.3b
(*.f64 (/.f64 x (fma.f64 x -841/108 4/29)) (*.f64 x -707281/11664))
Compiler

Compiled 28 to 20 computations (28.6% saved)

series3.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 (/.f64 x (fma.f64 x -841/108 4/29)) (*.f64 x -707281/11664))
0.0ms
x
@inf
(/.f64 x (fma.f64 x -841/108 4/29))
0.0ms
x
@0
(/.f64 x (fma.f64 x -841/108 4/29))
0.0ms
x
@-inf
(*.f64 (/.f64 x (fma.f64 x -841/108 4/29)) (*.f64 x -707281/11664))
0.0ms
x
@inf
(*.f64 (/.f64 x (fma.f64 x -841/108 4/29)) (*.f64 x -707281/11664))

rewrite85.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
952×pow1_binary64
892×add-log-exp_binary64
892×log1p-expm1-u_binary64
892×expm1-log1p-u_binary64
94×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0927
119327
2234927
Stop Event
node limit
Counts
3 → 78
Calls
Call 1
Inputs
(*.f64 (/.f64 x (fma.f64 x -841/108 4/29)) (*.f64 x -707281/11664))
(/.f64 x (fma.f64 x -841/108 4/29))
(fma.f64 x -841/108 4/29)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 -707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (/.f64 (fma.f64 x -841/108 4/29) (*.f64 x -707281/11664)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x -841/108 4/29) (*.f64 x (*.f64 x -707281/11664))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x -707281/11664)) (fma.f64 x -841/108 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x (*.f64 x -707281/11664))) (neg.f64 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x (*.f64 x -707281/11664)) 1) (fma.f64 x -841/108 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x (*.f64 x -707281/11664)) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (cbrt.f64 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x (*.f64 x -707281/11664)) (sqrt.f64 (fma.f64 x -841/108 4/29))) (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 x) (*.f64 x -707281/11664)) (neg.f64 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x -707281/11664) (neg.f64 x)) (neg.f64 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 -707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 -707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 -707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 x) -707281/11664) (/.f64 x (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 -707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 x (fma.f64 x -841/108 4/29)) 3) (pow.f64 (*.f64 x -707281/11664) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 x -707281/11664) 3) (pow.f64 (/.f64 x (fma.f64 x -841/108 4/29)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -707281/11664 (/.f64 (*.f64 x x) (fma.f64 x -841/108 4/29)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 x (fma.f64 x -841/108 4/29)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (fma.f64 x -841/108 4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 x (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x (fma.f64 x -841/108 4/29))) (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x -841/108 4/29))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x -841/108 4/29))) 2) (cbrt.f64 (/.f64 x (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 x (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 x (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (neg.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (cbrt.f64 (/.f64 x (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 x (sqrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (fma.f64 x -841/108 4/29))) (/.f64 (cbrt.f64 x) (sqrt.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (fma.f64 x -841/108 4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x (fma.f64 x -841/108 4/29)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x -841/108 4/29))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 x (fma.f64 x -841/108 4/29))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x -841/108 4/29) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (neg.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 x (fma.f64 x -841/108 4/29)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 x (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 x (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x -841/108 4/29)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (fma.f64 x -841/108 4/29) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 x (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 x (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 x (fma.f64 x -841/108 4/29))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 4/29 (*.f64 x -841/108))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -841/108) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x -841/108) 1) 4/29)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x -841/108 4/29))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x -841/108 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x -841/108 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 2) (cbrt.f64 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x -841/108 4/29)) (sqrt.f64 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x -841/108) 3) 64/24389) (+.f64 (*.f64 (*.f64 x -841/108) (*.f64 x -841/108)) (-.f64 16/841 (*.f64 (*.f64 x -841/108) 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x -841/108) (*.f64 x -841/108)) 16/841) (-.f64 (*.f64 x -841/108) 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x -841/108 4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x -841/108 4/29) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x -841/108 4/29)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x -841/108 4/29) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x -841/108 4/29) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x -841/108 4/29)))))))

simplify57.0ms (1.3%)

Algorithm
egg-herbie
Rules
803×fma-def_binary64
485×associate-/r*_binary64
426×distribute-lft-out_binary64
418×*-commutative_binary64
319×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
074376
1190360
2476355
31352340
43918340
Stop Event
node limit
Counts
114 → 115
Calls
Call 1
Inputs
(*.f64 -20511149/46656 (pow.f64 x 2))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (*.f64 -500246412961/20155392 (pow.f64 x 3)))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (+.f64 (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)) (*.f64 -500246412961/20155392 (pow.f64 x 3))))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (+.f64 (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)) (+.f64 (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5)) (*.f64 -500246412961/20155392 (pow.f64 x 3)))))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x))))
(+.f64 4/29 (+.f64 (*.f64 746496/17249876309 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x)))))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x))))
(+.f64 4/29 (+.f64 (*.f64 746496/17249876309 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x)))))
(*.f64 29/4 x)
(+.f64 (*.f64 29/4 x) (*.f64 707281/1728 (pow.f64 x 2)))
(+.f64 (*.f64 17249876309/746496 (pow.f64 x 3)) (+.f64 (*.f64 29/4 x) (*.f64 707281/1728 (pow.f64 x 2))))
(+.f64 (*.f64 17249876309/746496 (pow.f64 x 3)) (+.f64 (*.f64 29/4 x) (+.f64 (*.f64 707281/1728 (pow.f64 x 2)) (*.f64 420707233300201/322486272 (pow.f64 x 4)))))
-108/841
(neg.f64 (+.f64 108/841 (*.f64 46656/20511149 (/.f64 1 x))))
(neg.f64 (+.f64 108/841 (+.f64 (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 2))) (*.f64 46656/20511149 (/.f64 1 x)))))
(neg.f64 (+.f64 108/841 (+.f64 (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 8707129344/12200509765705829 (/.f64 1 (pow.f64 x 3))) (*.f64 46656/20511149 (/.f64 1 x))))))
-108/841
(neg.f64 (+.f64 108/841 (*.f64 46656/20511149 (/.f64 1 x))))
(neg.f64 (+.f64 108/841 (+.f64 (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 2))) (*.f64 46656/20511149 (/.f64 1 x)))))
(neg.f64 (+.f64 108/841 (+.f64 (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 8707129344/12200509765705829 (/.f64 1 (pow.f64 x 3))) (*.f64 46656/20511149 (/.f64 1 x))))))
4/29
(+.f64 (*.f64 -841/108 x) 4/29)
(+.f64 (*.f64 -841/108 x) 4/29)
(+.f64 (*.f64 -841/108 x) 4/29)
(*.f64 -841/108 x)
(+.f64 4/29 (*.f64 -841/108 x))
(+.f64 4/29 (*.f64 -841/108 x))
(+.f64 4/29 (*.f64 -841/108 x))
(*.f64 -841/108 x)
(+.f64 4/29 (*.f64 -841/108 x))
(+.f64 4/29 (*.f64 -841/108 x))
(+.f64 4/29 (*.f64 -841/108 x))
Outputs
(*.f64 -20511149/46656 (pow.f64 x 2))
(*.f64 -20511149/46656 (*.f64 x x))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (*.f64 -500246412961/20155392 (pow.f64 x 3)))
(fma.f64 -20511149/46656 (*.f64 x x) (*.f64 -500246412961/20155392 (pow.f64 x 3)))
(*.f64 (*.f64 x x) (+.f64 -20511149/46656 (*.f64 x -500246412961/20155392)))
(*.f64 (*.f64 x x) (fma.f64 x -500246412961/20155392 -20511149/46656))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (+.f64 (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)) (*.f64 -500246412961/20155392 (pow.f64 x 3))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (*.f64 -500246412961/20155392 (pow.f64 x 3))))
(fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (*.f64 (*.f64 x x) (+.f64 -20511149/46656 (*.f64 x -500246412961/20155392))))
(fma.f64 (*.f64 x x) (fma.f64 x -500246412961/20155392 -20511149/46656) (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)))
(fma.f64 x (*.f64 x (fma.f64 x -500246412961/20155392 -20511149/46656)) (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (+.f64 (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)) (+.f64 (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5)) (*.f64 -500246412961/20155392 (pow.f64 x 3)))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (fma.f64 -297558232675799463481/3761479876608 (pow.f64 x 5) (*.f64 -500246412961/20155392 (pow.f64 x 3)))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (fma.f64 -500246412961/20155392 (pow.f64 x 3) (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5)))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -500246412961/20155392 (pow.f64 x 3) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5)))))
(fma.f64 (*.f64 x x) (fma.f64 x -500246412961/20155392 -20511149/46656) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5))))
(fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (fma.f64 -297558232675799463481/3761479876608 (pow.f64 x 5) (*.f64 (*.f64 x x) (fma.f64 x -500246412961/20155392 -20511149/46656))))
(*.f64 841/108 x)
(*.f64 x 841/108)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 x 841/108) 4/29)
(fma.f64 x 841/108 4/29)
(+.f64 4/29 (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x))))
(+.f64 4/29 (fma.f64 841/108 x (/.f64 1728/707281 x)))
(+.f64 4/29 (fma.f64 x 841/108 (/.f64 1728/707281 x)))
(+.f64 4/29 (+.f64 (*.f64 746496/17249876309 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x)))))
(+.f64 4/29 (+.f64 (fma.f64 841/108 x (/.f64 1728/707281 x)) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 (fma.f64 x 841/108 (/.f64 1728/707281 x)) (+.f64 4/29 (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 4/29 (+.f64 (/.f64 1728/707281 x) (fma.f64 x 841/108 (/.f64 746496/17249876309 (*.f64 x x)))))
(+.f64 4/29 (+.f64 (fma.f64 x 841/108 (/.f64 1728/707281 x)) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 (/.f64 1728/707281 x) (fma.f64 x 841/108 (+.f64 4/29 (/.f64 746496/17249876309 (*.f64 x x)))))
(*.f64 841/108 x)
(*.f64 x 841/108)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 x 841/108) 4/29)
(fma.f64 x 841/108 4/29)
(+.f64 4/29 (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x))))
(+.f64 4/29 (fma.f64 841/108 x (/.f64 1728/707281 x)))
(+.f64 4/29 (fma.f64 x 841/108 (/.f64 1728/707281 x)))
(+.f64 4/29 (+.f64 (*.f64 746496/17249876309 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x)))))
(+.f64 4/29 (+.f64 (fma.f64 841/108 x (/.f64 1728/707281 x)) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 (fma.f64 x 841/108 (/.f64 1728/707281 x)) (+.f64 4/29 (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 4/29 (+.f64 (/.f64 1728/707281 x) (fma.f64 x 841/108 (/.f64 746496/17249876309 (*.f64 x x)))))
(+.f64 4/29 (+.f64 (fma.f64 x 841/108 (/.f64 1728/707281 x)) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 (/.f64 1728/707281 x) (fma.f64 x 841/108 (+.f64 4/29 (/.f64 746496/17249876309 (*.f64 x x)))))
(*.f64 29/4 x)
(*.f64 x 29/4)
(+.f64 (*.f64 29/4 x) (*.f64 707281/1728 (pow.f64 x 2)))
(fma.f64 29/4 x (*.f64 (*.f64 x x) 707281/1728))
(fma.f64 x 29/4 (*.f64 (*.f64 x x) 707281/1728))
(*.f64 x (+.f64 (*.f64 x 707281/1728) 29/4))
(*.f64 x (fma.f64 x 707281/1728 29/4))
(+.f64 (*.f64 17249876309/746496 (pow.f64 x 3)) (+.f64 (*.f64 29/4 x) (*.f64 707281/1728 (pow.f64 x 2))))
(fma.f64 17249876309/746496 (pow.f64 x 3) (fma.f64 29/4 x (*.f64 (*.f64 x x) 707281/1728)))
(fma.f64 (pow.f64 x 3) 17249876309/746496 (fma.f64 x 29/4 (*.f64 (*.f64 x x) 707281/1728)))
(fma.f64 x 29/4 (*.f64 (*.f64 x x) (+.f64 (*.f64 x 17249876309/746496) 707281/1728)))
(*.f64 x (+.f64 29/4 (*.f64 x (fma.f64 x 17249876309/746496 707281/1728))))
(+.f64 (*.f64 17249876309/746496 (pow.f64 x 3)) (+.f64 (*.f64 29/4 x) (+.f64 (*.f64 707281/1728 (pow.f64 x 2)) (*.f64 420707233300201/322486272 (pow.f64 x 4)))))
(fma.f64 17249876309/746496 (pow.f64 x 3) (fma.f64 29/4 x (fma.f64 707281/1728 (*.f64 x x) (*.f64 (pow.f64 x 4) 420707233300201/322486272))))
(fma.f64 (pow.f64 x 3) 17249876309/746496 (fma.f64 x 29/4 (fma.f64 (*.f64 x x) 707281/1728 (*.f64 (pow.f64 x 4) 420707233300201/322486272))))
(fma.f64 (pow.f64 x 3) 17249876309/746496 (fma.f64 (pow.f64 x 4) 420707233300201/322486272 (*.f64 x (+.f64 (*.f64 x 707281/1728) 29/4))))
(fma.f64 x (fma.f64 x 707281/1728 29/4) (*.f64 (pow.f64 x 3) (+.f64 (*.f64 x 420707233300201/322486272) 17249876309/746496)))
-108/841
(neg.f64 (+.f64 108/841 (*.f64 46656/20511149 (/.f64 1 x))))
(neg.f64 (+.f64 108/841 (/.f64 46656/20511149 x)))
(+.f64 -108/841 (/.f64 -46656/20511149 x))
(neg.f64 (+.f64 108/841 (+.f64 (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 2))) (*.f64 46656/20511149 (/.f64 1 x)))))
(neg.f64 (+.f64 108/841 (+.f64 (/.f64 46656/20511149 x) (/.f64 20155392/500246412961 (*.f64 x x)))))
(-.f64 -108/841 (+.f64 (/.f64 46656/20511149 x) (/.f64 20155392/500246412961 (*.f64 x x))))
(+.f64 (+.f64 -108/841 (/.f64 -46656/20511149 x)) (/.f64 -20155392/500246412961 (*.f64 x x)))
(neg.f64 (+.f64 108/841 (+.f64 (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 8707129344/12200509765705829 (/.f64 1 (pow.f64 x 3))) (*.f64 46656/20511149 (/.f64 1 x))))))
(neg.f64 (+.f64 108/841 (+.f64 (/.f64 20155392/500246412961 (*.f64 x x)) (+.f64 (/.f64 46656/20511149 x) (/.f64 8707129344/12200509765705829 (pow.f64 x 3))))))
(-.f64 -108/841 (+.f64 (/.f64 46656/20511149 x) (+.f64 (/.f64 20155392/500246412961 (*.f64 x x)) (/.f64 8707129344/12200509765705829 (pow.f64 x 3)))))
(-.f64 (+.f64 -108/841 (/.f64 -46656/20511149 x)) (+.f64 (/.f64 20155392/500246412961 (*.f64 x x)) (/.f64 8707129344/12200509765705829 (pow.f64 x 3))))
(+.f64 (+.f64 (+.f64 -108/841 (/.f64 -46656/20511149 x)) (/.f64 -20155392/500246412961 (*.f64 x x))) (/.f64 -8707129344/12200509765705829 (pow.f64 x 3)))
(-.f64 (/.f64 -8707129344/12200509765705829 (pow.f64 x 3)) (+.f64 (-.f64 108/841 (/.f64 -46656/20511149 x)) (/.f64 20155392/500246412961 (*.f64 x x))))
-108/841
(neg.f64 (+.f64 108/841 (*.f64 46656/20511149 (/.f64 1 x))))
(neg.f64 (+.f64 108/841 (/.f64 46656/20511149 x)))
(+.f64 -108/841 (/.f64 -46656/20511149 x))
(neg.f64 (+.f64 108/841 (+.f64 (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 2))) (*.f64 46656/20511149 (/.f64 1 x)))))
(neg.f64 (+.f64 108/841 (+.f64 (/.f64 46656/20511149 x) (/.f64 20155392/500246412961 (*.f64 x x)))))
(-.f64 -108/841 (+.f64 (/.f64 46656/20511149 x) (/.f64 20155392/500246412961 (*.f64 x x))))
(+.f64 (+.f64 -108/841 (/.f64 -46656/20511149 x)) (/.f64 -20155392/500246412961 (*.f64 x x)))
(neg.f64 (+.f64 108/841 (+.f64 (*.f64 20155392/500246412961 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 8707129344/12200509765705829 (/.f64 1 (pow.f64 x 3))) (*.f64 46656/20511149 (/.f64 1 x))))))
(neg.f64 (+.f64 108/841 (+.f64 (/.f64 20155392/500246412961 (*.f64 x x)) (+.f64 (/.f64 46656/20511149 x) (/.f64 8707129344/12200509765705829 (pow.f64 x 3))))))
(-.f64 -108/841 (+.f64 (/.f64 46656/20511149 x) (+.f64 (/.f64 20155392/500246412961 (*.f64 x x)) (/.f64 8707129344/12200509765705829 (pow.f64 x 3)))))
(-.f64 (+.f64 -108/841 (/.f64 -46656/20511149 x)) (+.f64 (/.f64 20155392/500246412961 (*.f64 x x)) (/.f64 8707129344/12200509765705829 (pow.f64 x 3))))
(+.f64 (+.f64 (+.f64 -108/841 (/.f64 -46656/20511149 x)) (/.f64 -20155392/500246412961 (*.f64 x x))) (/.f64 -8707129344/12200509765705829 (pow.f64 x 3)))
(-.f64 (/.f64 -8707129344/12200509765705829 (pow.f64 x 3)) (+.f64 (-.f64 108/841 (/.f64 -46656/20511149 x)) (/.f64 20155392/500246412961 (*.f64 x x))))
4/29
(+.f64 (*.f64 -841/108 x) 4/29)
(fma.f64 -841/108 x 4/29)
(fma.f64 x -841/108 4/29)
(+.f64 (*.f64 -841/108 x) 4/29)
(fma.f64 -841/108 x 4/29)
(fma.f64 x -841/108 4/29)
(+.f64 (*.f64 -841/108 x) 4/29)
(fma.f64 -841/108 x 4/29)
(fma.f64 x -841/108 4/29)
(*.f64 -841/108 x)
(*.f64 x -841/108)
(+.f64 4/29 (*.f64 -841/108 x))
(fma.f64 -841/108 x 4/29)
(fma.f64 x -841/108 4/29)
(+.f64 4/29 (*.f64 -841/108 x))
(fma.f64 -841/108 x 4/29)
(fma.f64 x -841/108 4/29)
(+.f64 4/29 (*.f64 -841/108 x))
(fma.f64 -841/108 x 4/29)
(fma.f64 x -841/108 4/29)
(*.f64 -841/108 x)
(*.f64 x -841/108)
(+.f64 4/29 (*.f64 -841/108 x))
(fma.f64 -841/108 x 4/29)
(fma.f64 x -841/108 4/29)
(+.f64 4/29 (*.f64 -841/108 x))
(fma.f64 -841/108 x 4/29)
(fma.f64 x -841/108 4/29)
(+.f64 4/29 (*.f64 -841/108 x))
(fma.f64 -841/108 x 4/29)
(fma.f64 x -841/108 4/29)

localize18.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x -841/108 4/29)
0.1b
(*.f64 x -707281/11664)
0.2b
(/.f64 (fma.f64 x -841/108 4/29) x)
0.2b
(/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))
Compiler

Compiled 41 to 30 computations (26.8% saved)

series3.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(/.f64 (fma.f64 x -841/108 4/29) x)
0.0ms
x
@0
(/.f64 (fma.f64 x -841/108 4/29) x)
0.0ms
x
@0
(/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))
0.0ms
x
@inf
(/.f64 (fma.f64 x -841/108 4/29) x)
0.0ms
x
@inf
(/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))

rewrite91.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
508×log-prod_binary64
401×exp-prod_binary64
280×prod-exp_binary64
249×pow2_binary64
245×pow-prod-down_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0922
119922
2265922
Stop Event
node limit
Counts
2 → 127
Calls
Call 1
Inputs
(/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x))
(/.f64 (fma.f64 x -841/108 4/29) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -707281/11664 (*.f64 x (/.f64 x (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -707281/11664 (/.f64 x (/.f64 (fma.f64 x -841/108 4/29) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -707281/11664) (/.f64 x (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))) 2) (cbrt.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 x -707281/11664) 2)) (*.f64 (cbrt.f64 (*.f64 x -707281/11664)) (/.f64 x (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))) (sqrt.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x -707281/11664)) (*.f64 (sqrt.f64 (*.f64 x -707281/11664)) (/.f64 x (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 707281/11664) (/.f64 1 (/.f64 (neg.f64 (fma.f64 x -841/108 4/29)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (fma.f64 x -841/108 4/29)) (*.f64 x -707281/11664))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (fma.f64 x -841/108 4/29)) (/.f64 -707281/11664 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -707281/11664 (fma.f64 x -841/108 4/29)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x -841/108 4/29)) (/.f64 (*.f64 x -707281/11664) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x -707281/11664) 2)) (fma.f64 x -841/108 4/29)) (/.f64 (cbrt.f64 (*.f64 x -707281/11664)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 x -707281/11664)) (fma.f64 x -841/108 4/29)) (/.f64 (sqrt.f64 (*.f64 x -707281/11664)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 1) (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 (fma.f64 x -841/108 4/29) x)) -707281/11664)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x -707281/11664) 2)) 1) (/.f64 (cbrt.f64 (*.f64 x -707281/11664)) (/.f64 (fma.f64 x -841/108 4/29) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 x -707281/11664)) 1) (/.f64 (sqrt.f64 (*.f64 x -707281/11664)) (/.f64 (fma.f64 x -841/108 4/29) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) 2)) (/.f64 -707281/11664 (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -707281/11664 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) 2)) (/.f64 x (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) -2) (/.f64 (*.f64 x -707281/11664) (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x -707281/11664) 2)) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) 2)) (cbrt.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 x -707281/11664)) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) 2)) (/.f64 (sqrt.f64 (*.f64 x -707281/11664)) (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (sqrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x))) (/.f64 -707281/11664 (sqrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -707281/11664 (sqrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x))) (/.f64 x (sqrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (fma.f64 x -841/108 4/29) x) -1/2) (/.f64 (*.f64 x -707281/11664) (sqrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x -707281/11664) 2)) (sqrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x))) (/.f64 (cbrt.f64 (*.f64 x -707281/11664)) (sqrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x -707281/11664) 1) (/.f64 x (fma.f64 x -841/108 4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x -707281/11664) (neg.f64 (fma.f64 x -841/108 4/29))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29)) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29)) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (fma.f64 x -841/108 4/29) -707281/11664) (pow.f64 x -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 x -707281/11664) 3) (pow.f64 (/.f64 (fma.f64 x -841/108 4/29) x) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (/.f64 (fma.f64 x -841/108 4/29) -707281/11664) (pow.f64 x -2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))))) (sqrt.f64 (log.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 x -707281/11664) (/.f64 (neg.f64 (fma.f64 x -841/108 4/29)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 x -707281/11664) 3) (pow.f64 (/.f64 (fma.f64 x -841/108 4/29) x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (fma.f64 x -841/108 4/29) -707281/11664) (pow.f64 x -2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 (*.f64 x -707281/11664) x) (fma.f64 x -841/108 4/29))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 x) 1) (log.f64 (/.f64 (fma.f64 x -841/108 4/29) (*.f64 x -707281/11664)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 x -707281/11664)) 1) (log.f64 (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 x -707281/11664)) (*.f64 (log.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 x -707281/11664)) 1) (*.f64 (log.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 x -707281/11664)) 1) (log.f64 (/.f64 x (fma.f64 x -841/108 4/29)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 x (fma.f64 x -841/108 4/29))) (*.f64 (log.f64 (*.f64 x -707281/11664)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 (*.f64 x -707281/11664) (fma.f64 x -841/108 4/29))) (*.f64 (log.f64 x) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (fma.f64 x -841/108 4/29) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x -841/108 4/29) x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x -841/108 4/29) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x -841/108 4/29) x)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x -841/108 4/29) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 x -841/108 4/29) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x -841/108 4/29) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x -841/108 4/29) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (fma.f64 x -841/108 4/29) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) 2) (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x -841/108 4/29) 2)) (*.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) (sqrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x -841/108 4/29)) (*.f64 (sqrt.f64 (fma.f64 x -841/108 4/29)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 x -841/108 4/29)) (/.f64 1 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) (fma.f64 x -841/108 4/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x -841/108 4/29) 2)) 1) (/.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 x -841/108 4/29)) 1) (/.f64 (sqrt.f64 (fma.f64 x -841/108 4/29)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) -2) (/.f64 (fma.f64 x -841/108 4/29) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x -841/108 4/29) 2)) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 x -841/108 4/29)) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (sqrt.f64 (fma.f64 x -841/108 4/29)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -1/2) (/.f64 (fma.f64 x -841/108 4/29) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x -841/108 4/29) 2)) (sqrt.f64 x)) (/.f64 (cbrt.f64 (fma.f64 x -841/108 4/29)) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x -841/108 4/29) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 x -841/108 4/29) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 x -841/108 4/29) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (fma.f64 x -841/108 4/29)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (fma.f64 x -841/108 4/29) x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (fma.f64 x -841/108 4/29) 3) (pow.f64 x 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 x (fma.f64 x -841/108 4/29)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (fma.f64 x -841/108 4/29) x))) 2)) (cbrt.f64 (log.f64 (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (fma.f64 x -841/108 4/29) x)))) (sqrt.f64 (log.f64 (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 x -841/108 4/29) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (fma.f64 x -841/108 4/29) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (fma.f64 x -841/108 4/29) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 x -841/108 4/29) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (fma.f64 x -841/108 4/29) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (fma.f64 x -841/108 4/29) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (fma.f64 x -841/108 4/29) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (fma.f64 x -841/108 4/29) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (fma.f64 x -841/108 4/29) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (fma.f64 x -841/108 4/29) x) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (fma.f64 x -841/108 4/29) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 x (fma.f64 x -841/108 4/29))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (fma.f64 x -841/108 4/29) x)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (fma.f64 x -841/108 4/29)) 1) (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (fma.f64 x -841/108 4/29)) (*.f64 (log.f64 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (fma.f64 x -841/108 4/29)) 1) (*.f64 (log.f64 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 x -841/108 4/29)) 1) (neg.f64 (log.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 x)) (*.f64 (log.f64 (fma.f64 x -841/108 4/29)) 1)))))))

simplify86.0ms (1.9%)

Algorithm
egg-herbie
Rules
888×fma-def_binary64
658×associate-/r/_binary64
392×associate-/l/_binary64
365×*-commutative_binary64
351×swap-sqr_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
043223
1107219
2229217
3580210
41550204
53444204
65426204
76473204
87230204
Stop Event
node limit
Counts
151 → 147
Calls
Call 1
Inputs
(*.f64 -20511149/46656 (pow.f64 x 2))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (*.f64 -500246412961/20155392 (pow.f64 x 3)))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (+.f64 (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)) (*.f64 -500246412961/20155392 (pow.f64 x 3))))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (+.f64 (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)) (+.f64 (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5)) (*.f64 -500246412961/20155392 (pow.f64 x 3)))))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x))))
(+.f64 4/29 (+.f64 (*.f64 746496/17249876309 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x)))))
(*.f64 841/108 x)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 4/29 (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x))))
(+.f64 4/29 (+.f64 (*.f64 746496/17249876309 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x)))))
(/.f64 4/29 x)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
-841/108
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
-841/108
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
Outputs
(*.f64 -20511149/46656 (pow.f64 x 2))
(*.f64 -20511149/46656 (*.f64 x x))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (*.f64 -500246412961/20155392 (pow.f64 x 3)))
(fma.f64 -20511149/46656 (*.f64 x x) (*.f64 -500246412961/20155392 (pow.f64 x 3)))
(*.f64 (*.f64 x x) (+.f64 -20511149/46656 (*.f64 x -500246412961/20155392)))
(*.f64 x (*.f64 x (fma.f64 x -500246412961/20155392 -20511149/46656)))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (+.f64 (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)) (*.f64 -500246412961/20155392 (pow.f64 x 3))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (*.f64 -500246412961/20155392 (pow.f64 x 3))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -500246412961/20155392 (pow.f64 x 3) (*.f64 -12200509765705829/8707129344 (pow.f64 x 4))))
(fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (*.f64 (*.f64 x x) (+.f64 -20511149/46656 (*.f64 x -500246412961/20155392))))
(fma.f64 x (*.f64 x (fma.f64 x -500246412961/20155392 -20511149/46656)) (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)))
(*.f64 (*.f64 x x) (fma.f64 x (fma.f64 x -12200509765705829/8707129344 -500246412961/20155392) -20511149/46656))
(*.f64 x (*.f64 x (fma.f64 x (fma.f64 x -12200509765705829/8707129344 -500246412961/20155392) -20511149/46656)))
(+.f64 (*.f64 -20511149/46656 (pow.f64 x 2)) (+.f64 (*.f64 -12200509765705829/8707129344 (pow.f64 x 4)) (+.f64 (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5)) (*.f64 -500246412961/20155392 (pow.f64 x 3)))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (fma.f64 -297558232675799463481/3761479876608 (pow.f64 x 5) (*.f64 -500246412961/20155392 (pow.f64 x 3)))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (fma.f64 -500246412961/20155392 (pow.f64 x 3) (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5)))))
(fma.f64 -20511149/46656 (*.f64 x x) (fma.f64 -297558232675799463481/3761479876608 (pow.f64 x 5) (fma.f64 -12200509765705829/8707129344 (pow.f64 x 4) (*.f64 -500246412961/20155392 (pow.f64 x 3)))))
(fma.f64 -297558232675799463481/3761479876608 (pow.f64 x 5) (fma.f64 x (*.f64 x (fma.f64 x -500246412961/20155392 -20511149/46656)) (*.f64 -12200509765705829/8707129344 (pow.f64 x 4))))
(fma.f64 -297558232675799463481/3761479876608 (pow.f64 x 5) (*.f64 (*.f64 x x) (fma.f64 x (fma.f64 x -12200509765705829/8707129344 -500246412961/20155392) -20511149/46656)))
(fma.f64 x (*.f64 x (fma.f64 x (fma.f64 x -12200509765705829/8707129344 -500246412961/20155392) -20511149/46656)) (*.f64 -297558232675799463481/3761479876608 (pow.f64 x 5)))
(*.f64 841/108 x)
(*.f64 x 841/108)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 x 841/108) 4/29)
(fma.f64 x 841/108 4/29)
(+.f64 4/29 (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x))))
(+.f64 4/29 (fma.f64 841/108 x (/.f64 1728/707281 x)))
(+.f64 4/29 (fma.f64 x 841/108 (/.f64 1728/707281 x)))
(+.f64 4/29 (+.f64 (*.f64 746496/17249876309 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x)))))
(+.f64 4/29 (+.f64 (fma.f64 841/108 x (/.f64 1728/707281 x)) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 4/29 (+.f64 (fma.f64 x 841/108 (/.f64 1728/707281 x)) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 4/29 (+.f64 (/.f64 1728/707281 x) (fma.f64 x 841/108 (/.f64 746496/17249876309 (*.f64 x x)))))
(*.f64 841/108 x)
(*.f64 x 841/108)
(+.f64 4/29 (*.f64 841/108 x))
(+.f64 (*.f64 x 841/108) 4/29)
(fma.f64 x 841/108 4/29)
(+.f64 4/29 (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x))))
(+.f64 4/29 (fma.f64 841/108 x (/.f64 1728/707281 x)))
(+.f64 4/29 (fma.f64 x 841/108 (/.f64 1728/707281 x)))
(+.f64 4/29 (+.f64 (*.f64 746496/17249876309 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 841/108 x) (*.f64 1728/707281 (/.f64 1 x)))))
(+.f64 4/29 (+.f64 (fma.f64 841/108 x (/.f64 1728/707281 x)) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 4/29 (+.f64 (fma.f64 x 841/108 (/.f64 1728/707281 x)) (/.f64 746496/17249876309 (*.f64 x x))))
(+.f64 4/29 (+.f64 (/.f64 1728/707281 x) (fma.f64 x 841/108 (/.f64 746496/17249876309 (*.f64 x x)))))
(/.f64 4/29 x)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(+.f64 (/.f64 4/29 x) -841/108)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(+.f64 (/.f64 4/29 x) -841/108)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(+.f64 (/.f64 4/29 x) -841/108)
-841/108
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(+.f64 (/.f64 4/29 x) -841/108)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(+.f64 (/.f64 4/29 x) -841/108)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(+.f64 (/.f64 4/29 x) -841/108)
-841/108
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(+.f64 (/.f64 4/29 x) -841/108)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(+.f64 (/.f64 4/29 x) -841/108)
(-.f64 (*.f64 4/29 (/.f64 1 x)) 841/108)
(+.f64 (/.f64 4/29 x) -841/108)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (/.f64 108/841 x) -1)
0.3b
(/.f64 108/841 x)
Compiler

Compiled 12 to 9 computations (25% saved)

series3.0ms (0.1%)

Counts
2 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(/.f64 108/841 x)
1.0ms
x
@-inf
(pow.f64 (/.f64 108/841 x) -1)
1.0ms
x
@0
(pow.f64 (/.f64 108/841 x) -1)
0.0ms
x
@inf
(/.f64 108/841 x)
0.0ms
x
@inf
(pow.f64 (/.f64 108/841 x) -1)

rewrite64.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
554×pow1_binary64
524×add-log-exp_binary64
524×log1p-expm1-u_binary64
524×expm1-log1p-u_binary64
513×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0611
11298
214808
Stop Event
node limit
Counts
2 → 48
Calls
Call 1
Inputs
(/.f64 108/841 x)
(pow.f64 (/.f64 108/841 x) -1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 108/841 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 108/841 (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 108/841 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 108/841 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 108/841 x)) (pow.f64 (cbrt.f64 (/.f64 108/841 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 108/841 x)) 2) (cbrt.f64 (/.f64 108/841 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 108/841 x)) (sqrt.f64 (/.f64 108/841 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -108/841 (/.f64 1 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) 108/841)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 108/841 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 841/108) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 108/841 x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 108/841 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 108/841 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 11664/707281 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 108/841 x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 108/841 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 108/841 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 108/841 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 108/841 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x 841/108)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 841/108)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 841/108) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x 841/108))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 841/108)) (cbrt.f64 (pow.f64 (/.f64 108/841 x) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 108/841 x) -2)) (cbrt.f64 (*.f64 x 841/108)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x 841/108)) (sqrt.f64 (*.f64 x 841/108)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 841/108 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 841/108 (pow.f64 (/.f64 1 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 108/841 x)) 2) -1) (pow.f64 (cbrt.f64 (/.f64 108/841 x)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 108/841 x)) -1) (pow.f64 (sqrt.f64 (/.f64 108/841 x)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -841/108 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x 108/841)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 108/841 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 108/841 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 108/841 x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 108/841 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 x) (/.f64 108/841 (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) -108/841)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 x 841/108)) (sqrt.f64 (/.f64 108/841 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 841/108 (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 108/841 x)) 2)) (cbrt.f64 (/.f64 108/841 x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 108/841 x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 x 841/108)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x 841/108) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x 841/108)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x 841/108)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x 841/108)))))))

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0448
1548
Stop Event
saturated
Counts
60 → 48
Calls
Call 1
Inputs
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
Outputs
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)
(*.f64 841/108 x)

eval172.0ms (3.8%)

Compiler

Compiled 5553 to 4316 computations (22.3% saved)

prune52.0ms (1.2%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New3831384
Fresh011
Picked101
Done336
Total3875392
Error
0b
Counts
392 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
45.8b
(/.f64 (*.f64 x (*.f64 x -707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
0.1b
(+.f64 (*.f64 841/108 x) 4/29)
31.6b
(*.f64 841/108 x)
32.2b
4/29
31.7b
(/.f64 x 108/841)
Compiler

Compiled 28 to 22 computations (21.4% saved)

regimes52.0ms (1.2%)

Counts
17 → 1
Calls
Call 1
Inputs
4/29
4/29
4/29
(/.f64 x 108/841)
(*.f64 841/108 x)
(+.f64 (*.f64 841/108 x) 4/29)
(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))
(/.f64 (*.f64 x (*.f64 x -707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
(/.f64 (-.f64 16/841 (*.f64 (*.f64 x x) 707281/11664)) (-.f64 4/29 (*.f64 841/108 x)))
(fma.f64 841/108 x 4/29)
(pow.f64 (/.f64 108/841 x) -1)
(*.f64 (/.f64 x (fma.f64 x -841/108 4/29)) (*.f64 x -707281/11664))
(+.f64 0 (/.f64 (*.f64 x -707281/11664) (/.f64 (fma.f64 x -841/108 4/29) x)))
(pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2)
(pow.f64 (/.f64 1 (fma.f64 x 841/108 4/29)) -1)
(+.f64 (*.f64 (pow.f64 (sqrt.f64 841/108) 2) x) (/.f64 4 29))
(+.f64 (pow.f64 (sqrt.f64 (*.f64 841/108 x)) 2) (/.f64 4 29))
Outputs
(+.f64 (*.f64 841/108 x) 4/29)
Calls

5 calls:

12.0ms
(*.f64 (/.f64 841 108) x)
11.0ms
(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))
9.0ms
(*.f64 (/.f64 841 108) x)
9.0ms
x
6.0ms
(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))
Results
ErrorSegmentsBranch
0.1b1x
0.1b1(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))
0.1b1(+.f64 (*.f64 (/.f64 841 108) x) (/.f64 4 29))
0.1b1(*.f64 (/.f64 841 108) x)
0.1b1(*.f64 (/.f64 841 108) x)
Compiler

Compiled 147 to 120 computations (18.4% saved)

regimes15.0ms (0.3%)

Counts
5 → 3
Calls
Call 1
Inputs
4/29
4/29
4/29
(/.f64 x 108/841)
(*.f64 841/108 x)
Outputs
(*.f64 841/108 x)
4/29
(*.f64 841/108 x)
Calls

1 calls:

13.0ms
x
Results
ErrorSegmentsBranch
2.0b3x
Compiler

Compiled 12 to 9 computations (25% saved)

bsearch39.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
9.346374982514411e-7
17085766139.892492
18.0ms
-0.050911373029014544
-0.0004108907473507034
Compiler

Compiled 14 to 12 computations (14.3% saved)

regimes12.0ms (0.3%)

Counts
4 → 3
Calls
Call 1
Inputs
4/29
4/29
4/29
(/.f64 x 108/841)
Outputs
(/.f64 x 108/841)
4/29
(/.f64 x 108/841)
Calls

1 calls:

11.0ms
x
Results
ErrorSegmentsBranch
2.1b3x
Compiler

Compiled 9 to 7 computations (22.2% saved)

bsearch38.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
9.346374982514411e-7
17085766139.892492
19.0ms
-0.050911373029014544
-0.0004108907473507034
Compiler

Compiled 14 to 12 computations (14.3% saved)

regimes5.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0.0b (0%)

Counts
3 → 1
Calls
Call 1
Inputs
4/29
4/29
4/29
Outputs
4/29
Calls

1 calls:

4.0ms
x
Results
ErrorSegmentsBranch
32.2b1x
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01750
11950
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 841/108 x) 4/29)
(if (<=.f64 x -939149068707390336/18446744073709551616) (*.f64 841/108 x) (if (<=.f64 x 2206850397687871/2361183241434822606848) 4/29 (*.f64 841/108 x)))
(if (<=.f64 x -939149068707390336/18446744073709551616) (/.f64 x 108/841) (if (<=.f64 x 2206850397687871/2361183241434822606848) 4/29 (/.f64 x 108/841)))
4/29
Outputs
(+.f64 (*.f64 841/108 x) 4/29)
(if (<=.f64 x -939149068707390336/18446744073709551616) (*.f64 841/108 x) (if (<=.f64 x 2206850397687871/2361183241434822606848) 4/29 (*.f64 841/108 x)))
(if (<=.f64 x -7337102099276487/144115188075855872) (*.f64 841/108 x) (if (<=.f64 x 2206850397687871/2361183241434822606848) 4/29 (*.f64 841/108 x)))
(if (<=.f64 x -939149068707390336/18446744073709551616) (/.f64 x 108/841) (if (<=.f64 x 2206850397687871/2361183241434822606848) 4/29 (/.f64 x 108/841)))
(if (<=.f64 x -7337102099276487/144115188075855872) (/.f64 x 108/841) (if (<=.f64 x 2206850397687871/2361183241434822606848) 4/29 (/.f64 x 108/841)))
4/29
Compiler

Compiled 40 to 31 computations (22.5% saved)

soundness9.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0125
1155
2165
Stop Event
saturated
Compiler

Compiled 31 to 27 computations (12.9% saved)

end37.0ms (0.8%)

Compiler

Compiled 37 to 28 computations (24.3% saved)

Profiling

Loading profile data...