Details

Time bar (total: 7.7s)

analyze5.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
75%12.5%12.5%5
75%6.2%18.8%6
75%3.1%21.9%7
75%1.6%23.5%8
75%0.8%24.3%9
75%0.4%24.6%10
75%0.2%24.8%11
75%0.1%24.9%12
Compiler

Compiled 11 to 9 computations (18.2% saved)

sample958.0ms (12.5%)

Results
945.0ms8256×body256valid
0.0msbody256invalid

preprocess54.0ms (0.7%)

Algorithm
egg-herbie
Rules
271×fma-def_binary64
256×fma-neg_binary64
75×cancel-sign-sub-inv_binary64
54×sub-neg_binary64
30×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
12511
26511
314711
42919
54869
67189
710499
811669
911859
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
Outputs
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
(-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))
(fma.f64 x (neg.f64 (fma.f64 x 3/25 253/1000)) 1)
(fma.f64 x (+.f64 -253/1000 (*.f64 x -3/25)) 1)
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)
Compiler

Compiled 11 to 9 computations (18.2% saved)

simplify20.0ms (0.3%)

Algorithm
egg-herbie
Rules
271×fma-def_binary64
256×fma-neg_binary64
75×cancel-sign-sub-inv_binary64
54×sub-neg_binary64
30×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0913
12511
26511
314711
42919
54869
67189
710499
811669
911859
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
Outputs
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
(-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))
(fma.f64 x (neg.f64 (fma.f64 x 3/25 253/1000)) 1)
(fma.f64 x (+.f64 -253/1000 (*.f64 x -3/25)) 1)
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)

eval1.0ms (0%)

Compiler

Compiled 17 to 13 computations (23.5% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.1b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
Compiler

Compiled 10 to 8 computations (20% saved)

localize13.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x 3/25)
0.1b
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
0.0b
(+.f64 253/1000 (*.f64 x 3/25))
0.0b
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
0.0b
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
0.0b
(+.f64 253/1000 (*.f64 x 3/25))
0.1b
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
0.2b
(*.f64 x 3/25)
Compiler

Compiled 29 to 22 computations (24.1% saved)

series8.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

TimeVariablePointExpression
3.0ms
x
@-inf
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
1.0ms
x
@inf
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
1.0ms
x
@-inf
(*.f64 x 3/25)
1.0ms
x
@0
(*.f64 x 3/25)
1.0ms
x
@inf
(*.f64 x 3/25)

rewrite103.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
698×prod-diff_binary64
451×log-prod_binary64
271×pow-prod-down_binary64
257×fma-def_binary64
255×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0934
120428
2271628
Stop Event
node limit
Counts
4 → 183
Calls
Call 1
Inputs
(*.f64 x 3/25)
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
(+.f64 253/1000 (*.f64 x 3/25))
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x 3/25))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 3/25) x)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 3/25) x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3/25) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3/25) x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x 3/25))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 3/25) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x x) 9/625) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x 3/25)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x 3/25)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x 3) 27/15625) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 x x) 9/625))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 3/25) x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x 3/25)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x 3/25))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x 3/25))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x 3/25))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x 3/25)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x 3/25)) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x 3/25)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 3/25)) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x 253/1000) 1) (*.f64 (*.f64 x (*.f64 x 3/25)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3/25 253/1000))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3/25 253/1000)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 x (fma.f64 x 3/25 253/1000) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x 253/1000) 3) (pow.f64 (*.f64 x (*.f64 x 3/25)) 3)) (+.f64 (pow.f64 (*.f64 x 253/1000) 2) (-.f64 (pow.f64 (*.f64 x (*.f64 x 3/25)) 2) (*.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x 253/1000) 2) (pow.f64 (*.f64 x (*.f64 x 3/25)) 2)) (-.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000) x) (fma.f64 (*.f64 x 3/25) (fma.f64 x 3/25 -253/1000) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x) (+.f64 253/1000 (*.f64 -3/25 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000)) (fma.f64 (*.f64 x 3/25) (fma.f64 x 3/25 -253/1000) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625))) (+.f64 253/1000 (*.f64 -3/25 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 x 3/25) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 253/1000 (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 3/25) x (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 253/1000 x (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x (fma.f64 x 3/25 253/1000) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (*.f64 x 3/25)) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 3/25 (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x 3/25)) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 253/1000) (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 9/625)) (*.f64 (cbrt.f64 (*.f64 x 3/25)) x) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x 3/25)) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 253/1000) (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 3/25)) (*.f64 (sqrt.f64 (*.f64 x 3/25)) x) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 253/1000) 1 (*.f64 (*.f64 x (*.f64 x 3/25)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 253/1000)) 2) (cbrt.f64 (*.f64 x 253/1000)) (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 x 3/25))) 2) (cbrt.f64 (*.f64 x (*.f64 x 3/25))) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 3/25 253/1000) 1)) 2) (cbrt.f64 (fma.f64 x (fma.f64 x 3/25 253/1000) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 253/1000)) (sqrt.f64 (*.f64 x 253/1000)) (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (*.f64 x 3/25))) (sqrt.f64 (*.f64 x (*.f64 x 3/25))) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x (fma.f64 x 3/25 253/1000) 1)) (sqrt.f64 (fma.f64 x (fma.f64 x 3/25 253/1000) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 (*.f64 x x) 9/625))) (cbrt.f64 (*.f64 x 3/25)) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (*.f64 x 3/25))) (sqrt.f64 (*.f64 x 3/25)) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x 3/25) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x 3/25) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 253/1000 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 253/1000 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (fma.f64 x 3/25 253/1000))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x 3/25 253/1000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 64009/1000000 (+.f64 253/1000 (*.f64 -3/25 x))) (/.f64 (*.f64 (*.f64 x x) 9/625) (+.f64 253/1000 (*.f64 -3/25 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x 3/25 253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x 3/25 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x 3/25 253/1000)) (pow.f64 (cbrt.f64 (fma.f64 x 3/25 253/1000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x 3/25 253/1000)) 2) (cbrt.f64 (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x 3/25 253/1000)) (sqrt.f64 (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000) (/.f64 1 (fma.f64 (*.f64 x 3/25) (fma.f64 x 3/25 -253/1000) 64009/1000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x 3/25) (fma.f64 x 3/25 -253/1000) 64009/1000000) (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 253/1000 (*.f64 -3/25 x)) (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000) (fma.f64 (*.f64 x 3/25) (fma.f64 x 3/25 -253/1000) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000) (fma.f64 (*.f64 x x) 9/625 (-.f64 64009/1000000 (*.f64 759/25000 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000)) (neg.f64 (fma.f64 (*.f64 x 3/25) (fma.f64 x 3/25 -253/1000) 64009/1000000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625))) (neg.f64 (+.f64 253/1000 (*.f64 -3/25 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 x x) 9/625 -64009/1000000) (fma.f64 x 3/25 -253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x 3/25 253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x 3/25 253/1000) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x 3/25 253/1000) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x 3/25 253/1000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x 3/25 253/1000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 x 3/25) (fma.f64 x 3/25 -253/1000) 64009/1000000) (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 253/1000 (*.f64 -3/25 x)) (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x 3/25 253/1000) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x 3/25 253/1000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 3/25 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3/25 x 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 3/25) 1 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x 3/25) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 3/25) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x 3/25)) (cbrt.f64 (*.f64 (*.f64 x x) 9/625)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 9/625)) (cbrt.f64 (*.f64 x 3/25)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 3/25) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 3/25)) (sqrt.f64 (*.f64 x 3/25)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3/25 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3/25 (sqrt.f64 x)) (sqrt.f64 x) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 x 3/25 253/1000) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x 3/25 253/1000))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x 3/25 253/1000))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x 3/25 253/1000)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))) 2) (cbrt.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))) (sqrt.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 3)) (/.f64 1 (fma.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) (fma.f64 x (fma.f64 x 3/25 253/1000) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 2)) (/.f64 1 (fma.f64 x (fma.f64 x 3/25 253/1000) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) (fma.f64 x (fma.f64 x 3/25 253/1000) 1) 1) (-.f64 1 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (fma.f64 x 3/25 253/1000) 1) (-.f64 1 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 3)) (fma.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) (fma.f64 x (fma.f64 x 3/25 253/1000) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 2)) (fma.f64 x (fma.f64 x 3/25 253/1000) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 3))) (neg.f64 (fma.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) (fma.f64 x (fma.f64 x 3/25 253/1000) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 2))) (neg.f64 (fma.f64 x (fma.f64 x 3/25 253/1000) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)) (+.f64 1 (-.f64 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2) (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2)) (-.f64 1 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) (fma.f64 x (fma.f64 x 3/25 253/1000) 1) 1) (-.f64 1 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (fma.f64 x 3/25 253/1000) 1) (-.f64 1 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (neg.f64 (fma.f64 x 3/25 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 2)) (neg.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000))) (neg.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x) (fma.f64 x 3/25 253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x))) 2) (cbrt.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x))) (sqrt.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 x (fma.f64 x 3/25 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (fma.f64 x 3/25 253/1000)) x 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 2))) (cbrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))) (sqrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 x) 1) (fma.f64 x 3/25 253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 x) (pow.f64 (cbrt.f64 (fma.f64 x 3/25 253/1000)) 2)) (cbrt.f64 (fma.f64 x 3/25 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 x) (sqrt.f64 (fma.f64 x 3/25 253/1000))) (sqrt.f64 (fma.f64 x 3/25 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log1p.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/2 (log1p.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log1p.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 1 (*.f64 x (fma.f64 x 3/25 253/1000)))))))))

simplify161.0ms (2.1%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1104×sqr-pow_binary64
640×fabs-mul_binary64
628×pow-sqr_binary64
611×cube-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
019365
140333
269304
3129282
4306282
5826282
61294282
71760282
81869282
92002282
102171282
112416282
122731282
133103282
143560282
154143282
164851282
175711282
186135282
196451282
206757282
216837282
226873282
Stop Event
node limit
Counts
231 → 201
Calls
Call 1
Inputs
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 253/1000 x)
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(*.f64 3/25 (pow.f64 x 2))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(*.f64 3/25 (pow.f64 x 2))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
253/1000
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
1
(+.f64 1 (*.f64 -253/1000 x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(*.f64 -3/25 (pow.f64 x 2))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(*.f64 -3/25 (pow.f64 x 2))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
Outputs
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 3/25 x)
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
253/1000
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 (*.f64 3/25 x) 253/1000)
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 (*.f64 3/25 x) 253/1000)
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 (*.f64 3/25 x) 253/1000)
(fma.f64 3/25 x 253/1000)
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 (*.f64 3/25 x) 253/1000)
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 (*.f64 3/25 x) 253/1000)
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 (*.f64 3/25 x) 253/1000)
(fma.f64 3/25 x 253/1000)
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 (*.f64 3/25 x) 253/1000)
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 (*.f64 3/25 x) 253/1000)
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 (*.f64 3/25 x) 253/1000)
(fma.f64 3/25 x 253/1000)
1
(+.f64 1 (*.f64 -253/1000 x))
(+.f64 1 (*.f64 x -253/1000))
(fma.f64 x -253/1000 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (+.f64 1 (*.f64 x -253/1000)))
(fma.f64 (*.f64 x x) -3/25 (fma.f64 x -253/1000 1))
(fma.f64 x (*.f64 x -3/25) (fma.f64 x -253/1000 1))
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (+.f64 1 (*.f64 x -253/1000)))
(fma.f64 (*.f64 x x) -3/25 (fma.f64 x -253/1000 1))
(fma.f64 x (*.f64 x -3/25) (fma.f64 x -253/1000 1))
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 (*.f64 x x) -3/25)
(*.f64 x (*.f64 x -3/25))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(fma.f64 -3/25 (*.f64 x x) (*.f64 x -253/1000))
(fma.f64 (*.f64 x x) -3/25 (*.f64 x -253/1000))
(*.f64 x (+.f64 (*.f64 x -3/25) -253/1000))
(*.f64 x (fma.f64 x -3/25 -253/1000))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (+.f64 1 (*.f64 x -253/1000)))
(fma.f64 (*.f64 x x) -3/25 (fma.f64 x -253/1000 1))
(fma.f64 x (*.f64 x -3/25) (fma.f64 x -253/1000 1))
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (+.f64 1 (*.f64 x -253/1000)))
(fma.f64 (*.f64 x x) -3/25 (fma.f64 x -253/1000 1))
(fma.f64 x (*.f64 x -3/25) (fma.f64 x -253/1000 1))
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 (*.f64 x x) -3/25)
(*.f64 x (*.f64 x -3/25))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(fma.f64 -3/25 (*.f64 x x) (*.f64 x -253/1000))
(fma.f64 (*.f64 x x) -3/25 (*.f64 x -253/1000))
(*.f64 x (+.f64 (*.f64 x -3/25) -253/1000))
(*.f64 x (fma.f64 x -3/25 -253/1000))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (+.f64 1 (*.f64 x -253/1000)))
(fma.f64 (*.f64 x x) -3/25 (fma.f64 x -253/1000 1))
(fma.f64 x (*.f64 x -3/25) (fma.f64 x -253/1000 1))
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (+.f64 1 (*.f64 x -253/1000)))
(fma.f64 (*.f64 x x) -3/25 (fma.f64 x -253/1000 1))
(fma.f64 x (*.f64 x -3/25) (fma.f64 x -253/1000 1))
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)

eval128.0ms (1.7%)

Compiler

Compiled 2796 to 2157 computations (22.9% saved)

prune36.0ms (0.5%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New18813201
Fresh000
Picked011
Done000
Total18814202
Error
0.0b
Counts
202 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(-.f64 1 (fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 9/625)) (*.f64 (cbrt.f64 (*.f64 x 3/25)) x) (*.f64 x 253/1000)))
0.1b
(-.f64 1 (+.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25))))
26.3b
1
0.2b
(-.f64 1 (*.f64 x (/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x)))))
25.1b
(-.f64 1 (*.f64 253/1000 x))
38.9b
(*.f64 x (*.f64 x -3/25))
8.6b
(-.f64 1 (*.f64 x (+.f64 253/1000 (cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625)))))
0.1b
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
0.2b
(-.f64 1 (*.f64 x (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x))))))
33.1b
(-.f64 1 (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x 3/25)) (*.f64 x 253/1000)))
22.0b
(-.f64 1 (pow.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000))) 2))
2.6b
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
18.1b
(/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)) (+.f64 1 (-.f64 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2) (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))))
8.4b
(-.f64 1 (/.f64 (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x) (+.f64 253/1000 (*.f64 -3/25 x))))
Compiler

Compiled 370 to 284 computations (23.2% saved)

localize17.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (*.f64 x 3/25))
0.1b
(*.f64 x 253/1000)
0.0b
(+.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25)))
0.0b
(-.f64 1 (+.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25))))
0.0b
(+.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25)))
0.1b
(*.f64 x 253/1000)
0.2b
(*.f64 x (*.f64 x 3/25))
0.2b
(*.f64 x 3/25)
Compiler

Compiled 36 to 25 computations (30.6% saved)

series4.0ms (0%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 x (*.f64 x 3/25))
0.0ms
x
@inf
(+.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25)))
0.0ms
x
@inf
(*.f64 x 253/1000)
0.0ms
x
@-inf
(*.f64 x 253/1000)
0.0ms
x
@inf
(*.f64 x (*.f64 x 3/25))

rewrite64.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
117621
2230121
Stop Event
node limit
Counts
3 → 64
Calls
Call 1
Inputs
(*.f64 x (*.f64 x 3/25))
(*.f64 x 253/1000)
(+.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (*.f64 x 3/25))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 x 3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 x 3/25))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sqrt.f64 3/25)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 x x) 3) 27/15625) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (*.f64 x 3/25)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 x x) 3) 27/15625))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 x 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 x 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 x 3/25))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x 253/1000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x 253/1000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x 3) 16194277/1000000000) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 x x) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 253/1000) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) 16194277/1000000000))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x 253/1000)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 x x) 64009/1000000) (*.f64 x (-.f64 253/1000 (*.f64 x 3/25)))) (/.f64 (pow.f64 (*.f64 x (*.f64 x 3/25)) 2) (*.f64 x (-.f64 253/1000 (*.f64 x 3/25)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 x 3/25) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000))) 2) (cbrt.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000))) (sqrt.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 x 3) 16194277/1000000000) (*.f64 (pow.f64 (*.f64 x x) 3) 27/15625)) (/.f64 1 (+.f64 (*.f64 (*.f64 x x) 64009/1000000) (*.f64 (*.f64 x (*.f64 x 3/25)) (-.f64 (*.f64 x (*.f64 x 3/25)) (*.f64 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (*.f64 x x) 64009/1000000) (pow.f64 (*.f64 x (*.f64 x 3/25)) 2)) (/.f64 1 (*.f64 x (-.f64 253/1000 (*.f64 x 3/25)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 3/25) 253/1000) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 (*.f64 x x) 64009/1000000) (*.f64 (*.f64 x (*.f64 x 3/25)) (-.f64 (*.f64 x (*.f64 x 3/25)) (*.f64 x 253/1000)))) (+.f64 (*.f64 (pow.f64 x 3) 16194277/1000000000) (*.f64 (pow.f64 (*.f64 x x) 3) 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 x (-.f64 253/1000 (*.f64 x 3/25))) (-.f64 (*.f64 (*.f64 x x) 64009/1000000) (pow.f64 (*.f64 x (*.f64 x 3/25)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 x 3) 16194277/1000000000) (*.f64 (pow.f64 (*.f64 x x) 3) 27/15625)) (+.f64 (*.f64 (*.f64 x x) 64009/1000000) (*.f64 (*.f64 x (*.f64 x 3/25)) (-.f64 (*.f64 x (*.f64 x 3/25)) (*.f64 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 x 3) 16194277/1000000000) (*.f64 (pow.f64 (*.f64 x x) 3) 27/15625)) (+.f64 (pow.f64 (*.f64 x (*.f64 x 3/25)) 2) (-.f64 (*.f64 (*.f64 x x) 64009/1000000) (*.f64 (*.f64 x (*.f64 x 3/25)) (*.f64 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x x) 64009/1000000) (pow.f64 (*.f64 x (*.f64 x 3/25)) 2)) (*.f64 x (-.f64 253/1000 (*.f64 x 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 x 3) 16194277/1000000000) (*.f64 (pow.f64 (*.f64 x x) 3) 27/15625))) (neg.f64 (+.f64 (*.f64 (*.f64 x x) 64009/1000000) (*.f64 (*.f64 x (*.f64 x 3/25)) (-.f64 (*.f64 x (*.f64 x 3/25)) (*.f64 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (*.f64 x x) 64009/1000000) (pow.f64 (*.f64 x (*.f64 x 3/25)) 2))) (neg.f64 (*.f64 x (-.f64 253/1000 (*.f64 x 3/25)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (*.f64 x 3/25)) 2) (*.f64 (*.f64 x x) 64009/1000000)) (-.f64 (*.f64 x (*.f64 x 3/25)) (*.f64 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (+.f64 (*.f64 x 3/25) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 x 3/25) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 253/1000 (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 3/25) x (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 253/1000 x (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (*.f64 x 3/25)) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 3/25 (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 x 3/25))) 2) (cbrt.f64 (*.f64 x (*.f64 x 3/25))) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 253/1000)) 2) (cbrt.f64 (*.f64 x 253/1000)) (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 3/25)) (*.f64 x (sqrt.f64 3/25)) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 253/1000)) (sqrt.f64 (*.f64 x 253/1000)) (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (+.f64 (*.f64 x 3/25) 253/1000))))))))

simplify169.0ms (2.2%)

Algorithm
egg-herbie
Rules
803×sqr-pow_binary64
565×cube-prod_binary64
558×fabs-mul_binary64
541×pow-sqr_binary64
540×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
09249
118249
232240
369222
4166222
5472222
61681222
72943222
83147222
93360222
103580222
113885222
124287222
134795222
145354222
156040222
166879222
177271222
187557222
197833222
207907222
217943222
Stop Event
node limit
Counts
100 → 70
Calls
Call 1
Inputs
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 253/1000 x)
(*.f64 253/1000 x)
(*.f64 253/1000 x)
(*.f64 253/1000 x)
(*.f64 253/1000 x)
(*.f64 253/1000 x)
(*.f64 253/1000 x)
(*.f64 253/1000 x)
(*.f64 253/1000 x)
(*.f64 253/1000 x)
(*.f64 253/1000 x)
(*.f64 253/1000 x)
(*.f64 253/1000 x)
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(*.f64 3/25 (pow.f64 x 2))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(*.f64 3/25 (pow.f64 x 2))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
Outputs
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (+.f64 (*.f64 3/25 x) 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (+.f64 (*.f64 3/25 x) 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (+.f64 (*.f64 3/25 x) 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (+.f64 (*.f64 3/25 x) 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (+.f64 (*.f64 3/25 x) 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (+.f64 (*.f64 3/25 x) 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (+.f64 (*.f64 3/25 x) 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (+.f64 (*.f64 3/25 x) 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (+.f64 (*.f64 3/25 x) 253/1000))
(*.f64 x (fma.f64 3/25 x 253/1000))

localize6.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x -3/25)
0.2b
(*.f64 x (*.f64 x -3/25))
0.2b
(*.f64 x (*.f64 x -3/25))
0.2b
(*.f64 x -3/25)
Compiler

Compiled 11 to 7 computations (36.4% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 x (*.f64 x -3/25))
0.0ms
x
@0
(*.f64 x -3/25)
0.0ms
x
@inf
(*.f64 x (*.f64 x -3/25))
0.0ms
x
@inf
(*.f64 x -3/25)
0.0ms
x
@-inf
(*.f64 x (*.f64 x -3/25))

rewrite55.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
448×pow1_binary64
435×add-sqr-sqrt_binary64
425×*-un-lft-identity_binary64
416×add-log-exp_binary64
416×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
110111
2114311
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 x -3/25)
(*.f64 x (*.f64 x -3/25))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x -3/25) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x -3/25) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x -3/25)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x -3/25)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 9/625 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -3/25) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x -3/25) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x -3/25)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (*.f64 x -3/25))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 x -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 x -3/25)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 x -3/25))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sqrt.f64 -3/25)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (*.f64 x -3/25)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 x -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (*.f64 x -3/25)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 x -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 x -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 x -3/25))))))))

simplify143.0ms (1.9%)

Algorithm
egg-herbie
Rules
1104×sqr-pow_binary64
618×cube-prod_binary64
555×fabs-mul_binary64
536×pow-sqr_binary64
441×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07132
114132
223132
342132
4105132
5315132
61204132
72080132
82244132
92428132
102636132
112925132
123318132
133796132
144359132
155045132
165882132
176274132
186562132
196842132
206914132
216948132
227889132
Stop Event
node limit
Counts
46 → 25
Calls
Call 1
Inputs
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
Outputs
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 x)
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 -3/25 x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 -3/25 x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 -3/25 x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 -3/25 x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 -3/25 x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 -3/25 x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 -3/25 x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 -3/25 x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 -3/25 x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 -3/25 x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 -3/25 x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 -3/25 x))

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 3/25 (*.f64 x x))
0.0b
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
0.0b
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
0.2b
(*.f64 3/25 (*.f64 x x))
Compiler

Compiled 19 to 10 computations (47.4% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 3/25 (*.f64 x x))
0.0ms
x
@inf
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
0.0ms
x
@0
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
0.0ms
x
@inf
(*.f64 3/25 (*.f64 x x))
0.0ms
x
@-inf
(-.f64 1 (*.f64 3/25 (*.f64 x x)))

rewrite46.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
688×pow1_binary64
646×add-log-exp_binary64
645×log1p-expm1-u_binary64
645×expm1-log1p-u_binary64
634×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
115017
2179417
Stop Event
node limit
Counts
2 → 39
Calls
Call 1
Inputs
(*.f64 3/25 (*.f64 x x))
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 3/25 (*.f64 x x)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3/25 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3/25 (*.f64 x x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sqrt.f64 3/25)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 27/15625 (pow.f64 (*.f64 x x) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 9/625 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 3/25) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 27/15625 (pow.f64 (*.f64 x x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 3/25 (*.f64 x x))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (*.f64 x x) -3/25))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x x) -3/25) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (*.f64 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25))) (pow.f64 (cbrt.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25))) 2) (cbrt.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25))) (sqrt.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 27/15625 (pow.f64 (*.f64 x x) 3))) (/.f64 1 (+.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) (*.f64 9/625 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 9/625 (pow.f64 x 4))) (/.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) (*.f64 9/625 (pow.f64 x 4)))) (-.f64 1 (*.f64 27/15625 (pow.f64 (*.f64 x x) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 3/25 (*.f64 x x)) 1) (-.f64 1 (*.f64 9/625 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 27/15625 (pow.f64 (*.f64 x x) 3))) (+.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) (*.f64 9/625 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 9/625 (pow.f64 x 4))) (+.f64 (*.f64 3/25 (*.f64 x x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (*.f64 27/15625 (pow.f64 (*.f64 x x) 3)))) (neg.f64 (+.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) (*.f64 9/625 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (*.f64 9/625 (pow.f64 x 4)))) (neg.f64 (+.f64 (*.f64 3/25 (*.f64 x x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (*.f64 (*.f64 x x) -3/25) 3)) (+.f64 1 (-.f64 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25)) (*.f64 (*.f64 x x) -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))) (-.f64 1 (*.f64 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (*.f64 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 1 (*.f64 (*.f64 x x) -3/25))))))))

simplify126.0ms (1.6%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1104×sqr-pow_binary64
634×fabs-mul_binary64
628×pow-sqr_binary64
611×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010171
120171
234171
368171
4166171
5520171
6722171
71136171
81236171
91371171
101540171
111781171
122096171
132468171
142925171
153502171
164208171
175068171
185492171
195810171
206116171
216194171
226228171
Stop Event
node limit
Counts
63 → 46
Calls
Call 1
Inputs
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (pow.f64 x 2))
1
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(*.f64 -3/25 (pow.f64 x 2))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(*.f64 -3/25 (pow.f64 x 2))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
Outputs
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
1
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 (*.f64 x x) -3/25)
(*.f64 x (*.f64 x -3/25))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 (*.f64 x x) -3/25)
(*.f64 x (*.f64 x -3/25))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)

localize39.0ms (0.5%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x))))
0.0b
(-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625))
0.0b
(+.f64 253/1000 (*.f64 -3/25 x))
0.0b
(-.f64 1 (*.f64 x (/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x)))))
0.1b
(*.f64 x (/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x))))
0.2b
(*.f64 (*.f64 x x) 9/625)
0.2b
(/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x)))
0.2b
(*.f64 -3/25 x)
Compiler

Compiled 75 to 50 computations (33.3% saved)

series5.0ms (0.1%)

Counts
4 → 36
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(*.f64 x (/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x))))
1.0ms
x
@0
(/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x)))
1.0ms
x
@inf
(/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x)))
0.0ms
x
@inf
(*.f64 x (/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x))))
0.0ms
x
@0
(*.f64 x (/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x))))

rewrite179.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
648×log-prod_binary64
580×prod-diff_binary64
263×fma-def_binary64
226×expm1-udef_binary64
226×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01352
129924
2420624
Stop Event
node limit
Counts
4 → 249
Calls
Call 1
Inputs
(*.f64 -3/25 x)
(/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x)))
(*.f64 (*.f64 x x) 9/625)
(*.f64 x (/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -3/25 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 -3/25 x))) (cbrt.f64 (exp.f64 (*.f64 -3/25 x))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 -3/25 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 -3/25 x)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 -3/25 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 -3/25 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -3/25 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x x) 9/625) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 -3/25 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -27/15625 (pow.f64 x 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 x x) 9/625))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 -3/25 x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 -3/25 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -3/25 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 -27/15625 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -3/25 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -3/25 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 -3/25 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -3/25 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -3/25 x) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 253/1000 (*.f64 -3/25 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 253/1000 (neg.f64 (*.f64 -3/25 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 253/1000 (*.f64 (neg.f64 x) -3/25))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 253/1000 (*.f64 -1 (*.f64 -3/25 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 253/1000 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2)) (cbrt.f64 (*.f64 -3/25 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 253/1000 (*.f64 (neg.f64 (sqrt.f64 (*.f64 -3/25 x))) (sqrt.f64 (*.f64 -3/25 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -3/25 x 253/1000) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))) (sqrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -3/25 x 253/1000) (fma.f64 (neg.f64 (/.f64 9/625 (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -3/25 x 253/1000) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 9/625 (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -3/25 x 253/1000) (fma.f64 (neg.f64 (/.f64 (*.f64 -3/25 x) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 -3/25 x) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 -3/25 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)) 9/625))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 9/625 (*.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)) 9/625)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)) 9/625))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 9/625 (*.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)) 9/625)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)) 9/625))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 9/625 (*.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)) 9/625)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)) 9/625))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 9/625 (*.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)) 9/625)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)) 9/625))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 9/625 (*.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)) 9/625)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)) 9/625))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 9/625 (*.f64 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)) 9/625)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (*.f64 (*.f64 x x) 9/625)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000))) (*.f64 (*.f64 x x) 9/625) (*.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (*.f64 (*.f64 x x) 9/625))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (*.f64 (*.f64 x x) 9/625)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000))) (*.f64 (*.f64 x x) 9/625) (*.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (*.f64 (*.f64 x x) 9/625))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (*.f64 (*.f64 x x) 9/625)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000))) (*.f64 (*.f64 x x) 9/625) (*.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (*.f64 (*.f64 x x) 9/625))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (*.f64 (*.f64 x x) 9/625)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000))) (*.f64 (*.f64 x x) 9/625) (*.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (*.f64 (*.f64 x x) 9/625))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (*.f64 (*.f64 x x) 9/625)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000))) (*.f64 (*.f64 x x) 9/625) (*.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (*.f64 (*.f64 x x) 9/625))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (*.f64 (*.f64 x x) 9/625)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000))) (*.f64 (*.f64 x x) 9/625) (*.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (*.f64 (*.f64 x x) 9/625))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 1))) (fma.f64 (neg.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) 1 (*.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 1))) (fma.f64 (neg.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) 1 (*.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 1))) (fma.f64 (neg.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) 1 (*.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 1))) (fma.f64 (neg.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) 1 (*.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 1))) (fma.f64 (neg.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) 1 (*.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 1))) (fma.f64 (neg.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) 1 (*.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (*.f64 (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000)) (/.f64 x 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000))) (/.f64 x 1) (*.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000)) (/.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000)) (/.f64 x 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000))) (/.f64 x 1) (*.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000)) (/.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000)) (/.f64 x 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000))) (/.f64 x 1) (*.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000)) (/.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000)) (/.f64 x 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000))) (/.f64 x 1) (*.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000)) (/.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000)) (/.f64 x 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000))) (/.f64 x 1) (*.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000)) (/.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000)) (/.f64 x 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000))) (/.f64 x 1) (*.f64 (/.f64 (*.f64 x 9/625) (fma.f64 -3/25 x 253/1000)) (/.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 x 9/625) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (*.f64 x 9/625) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 x (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 9/625 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1)))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1)))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1)))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1)))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1)))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1)))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (fma.f64 -3/25 x 253/1000)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 -3/25 x) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) 1) (*.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 -3/25 x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 -3/25 x) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) 1) (*.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 -3/25 x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 -3/25 x) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) 1) (*.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 -3/25 x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 -3/25 x) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) 1) (*.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 -3/25 x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 -3/25 x) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) 1) (*.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 -3/25 x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 -3/25 x) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) 1) (*.f64 (/.f64 (*.f64 -3/25 x) (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 -3/25 x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 9/625 (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 9/625 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (*.f64 (/.f64 (*.f64 -3/25 x) (cbrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (*.f64 -3/25 x) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000)) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (*.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000)) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (*.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000)) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (*.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000)) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (*.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000)) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (*.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000)) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (*.f64 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (fma.f64 -3/25 x 253/1000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000))))) (fma.f64 (neg.f64 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (*.f64 (fma.f64 -3/25 x 253/1000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 (fma.f64 -3/25 x 253/1000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000))))) (fma.f64 (neg.f64 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (*.f64 (fma.f64 -3/25 x 253/1000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (fma.f64 -3/25 x 253/1000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000))))) (fma.f64 (neg.f64 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (*.f64 (fma.f64 -3/25 x 253/1000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 (fma.f64 -3/25 x 253/1000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000))))) (fma.f64 (neg.f64 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (*.f64 (fma.f64 -3/25 x 253/1000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 (fma.f64 -3/25 x 253/1000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000))))) (fma.f64 (neg.f64 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (*.f64 (fma.f64 -3/25 x 253/1000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 (fma.f64 -3/25 x 253/1000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000))))) (fma.f64 (neg.f64 (fma.f64 -3/25 x 253/1000)) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (*.f64 (fma.f64 -3/25 x 253/1000) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 (*.f64 x x) -9/625 64009/1000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (exp.f64 (fma.f64 -3/25 x 253/1000))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 -3/25 x 253/1000)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 253/1000 (*.f64 -3/25 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 -3/25 x 253/1000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (/.f64 1 (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -3/25 x 253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 -3/25 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 2) (*.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (/.f64 1 (fma.f64 -3/25 x 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 -3/25 x 253/1000)) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (*.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (/.f64 1 (fma.f64 -3/25 x 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (/.f64 1 (neg.f64 (fma.f64 -3/25 x 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000) (/.f64 1 (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (fma.f64 (*.f64 x x) -9/625 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 2) 1) (/.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 1) (/.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (/.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (cbrt.f64 (fma.f64 -3/25 x 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 2) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (/.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (cbrt.f64 (fma.f64 -3/25 x 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 2) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (/.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -3/25 x 253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -3/25 x 253/1000) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 -3/25 x 253/1000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 -3/25 x 253/1000)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (neg.f64 (fma.f64 -3/25 x 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 -3/25 x 253/1000) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 -3/25 x 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 -3/25 x 253/1000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) 3) (pow.f64 (fma.f64 -3/25 x 253/1000) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -3/25 x 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x -3/25 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 3/25 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3/25 x) 1 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 64009/1000000 (/.f64 1 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -3/25 x) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)) (neg.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) (cbrt.f64 (*.f64 -3/25 x)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) -3/25) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -3/25 x)) (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x 9/625)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) -3/25) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3/25 x 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 -3/25 x)) (sqrt.f64 (*.f64 -3/25 x)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000)))) (cbrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (/.f64 64009/1000000 (fma.f64 -3/25 x 253/1000))) (neg.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 81/390625))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 64009/1000000 (fma.f64 -27/15625 (pow.f64 x 3) 16194277/1000000000)) (fma.f64 (*.f64 -3/25 x) (fma.f64 x 3/25 -253/1000) 64009/1000000) (neg.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 64009/1000000 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000) (neg.f64 (*.f64 9/625 (/.f64 (*.f64 x x) (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3/25 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3/25 (sqrt.f64 x)) (sqrt.f64 x) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 -3/25 x 253/1000)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 -3/25 x 253/1000)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 x x) 9/625))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 9/625))) (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 9/625))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 9/625)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 9/625)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 9/625)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 x x) 9/625))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -3/25 x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x x) 9/625) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 -3/25 x)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 x x) 9/625) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 x 4) 81/390625))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 x 9/625)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 x x) 9/625))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 x x) 9/625) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 x x) 9/625)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 2 (log.f64 x) (log.f64 9/625)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 2 (log.f64 x) (log.f64 9/625)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 x x) 9/625)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -3/25 x 253/1000)) x)) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -3/25 x 253/1000)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -3/25 x 253/1000)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 -3/25 x 253/1000)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 -3/25 x 253/1000)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (fma.f64 -3/25 x 253/1000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (/.f64 1 (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 -3/25 x 253/1000) (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 -3/25 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) (neg.f64 (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 1) (fma.f64 -3/25 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (pow.f64 (cbrt.f64 (fma.f64 -3/25 x 253/1000)) 2)) (cbrt.f64 (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (sqrt.f64 (fma.f64 -3/25 x 253/1000))) (sqrt.f64 (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) x) (neg.f64 (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (neg.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000))) (neg.f64 (fma.f64 -3/25 x 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (fma.f64 -3/25 x 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 -3/25 x 253/1000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (fma.f64 -3/25 x 253/1000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (fma.f64 -3/25 x 253/1000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (fma.f64 -3/25 x 253/1000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 -3/25 x 253/1000)) x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 -3/25 x 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (fma.f64 -3/25 x 253/1000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 -3/25 x 253/1000) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 -3/25 x 253/1000) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (fma.f64 -3/25 x 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (fma.f64 -3/25 x 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 -3/25 x 253/1000))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (fma.f64 -3/25 x 253/1000))))))))

simplify153.0ms (2%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1104×sqr-pow_binary64
633×fabs-mul_binary64
628×pow-sqr_binary64
611×cube-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
013273
125255
243228
379228
4211228
5626228
6943228
71382228
81486228
91619228
101788228
112031228
122344228
132714228
143170228
153753228
164459228
175319228
185743228
196057228
206365228
216441228
226477228
Stop Event
node limit
Counts
285 → 259
Calls
Call 1
Inputs
253/1000
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 253/1000 x)
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(*.f64 3/25 (pow.f64 x 2))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(*.f64 3/25 (pow.f64 x 2))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
Outputs
253/1000
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (*.f64 x x))
(*.f64 x (*.f64 x 9/625))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (*.f64 x x))
(*.f64 x (*.f64 x 9/625))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (*.f64 x x))
(*.f64 x (*.f64 x 9/625))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (*.f64 x x))
(*.f64 x (*.f64 x 9/625))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (*.f64 x x))
(*.f64 x (*.f64 x 9/625))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (*.f64 x x))
(*.f64 x (*.f64 x 9/625))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (*.f64 x x))
(*.f64 x (*.f64 x 9/625))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (*.f64 x x))
(*.f64 x (*.f64 x 9/625))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (*.f64 x x))
(*.f64 x (*.f64 x 9/625))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (*.f64 x x))
(*.f64 x (*.f64 x 9/625))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (*.f64 x x))
(*.f64 x (*.f64 x 9/625))
(*.f64 9/625 (pow.f64 x 2))
(*.f64 9/625 (*.f64 x x))
(*.f64 x (*.f64 x 9/625))
(*.f64 253/1000 x)
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (fma.f64 3/25 x 253/1000))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 x (*.f64 3/25 x))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (fma.f64 3/25 x 253/1000))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 x (*.f64 3/25 x))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (fma.f64 3/25 x 253/1000))

localize29.0ms (0.4%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (pow.f64 x 3) 27/15625)
0.1b
(*.f64 x (+.f64 253/1000 (cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625))))
0.0b
(+.f64 253/1000 (cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625)))
0.0b
(-.f64 1 (*.f64 x (+.f64 253/1000 (cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625)))))
0.0b
(+.f64 253/1000 (cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625)))
0.1b
(*.f64 x (+.f64 253/1000 (cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625))))
0.4b
(*.f64 (pow.f64 x 3) 27/15625)
33.8b
(cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625))
Compiler

Compiled 50 to 41 computations (18% saved)

series12.0ms (0.2%)

Counts
4 → 48
Calls

12 calls:

TimeVariablePointExpression
3.0ms
x
@0
(*.f64 (pow.f64 x 3) 27/15625)
2.0ms
x
@0
(cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625))
2.0ms
x
@-inf
(cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625))
1.0ms
x
@inf
(*.f64 (pow.f64 x 3) 27/15625)
1.0ms
x
@-inf
(*.f64 x (+.f64 253/1000 (cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625))))

rewrite121.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
458×log-prod_binary64
386×prod-exp_binary64
339×exp-prod_binary64
302×pow-prod-down_binary64
255×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01034
122630
2269030
Stop Event
node limit
Counts
4 → 186
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625))
(*.f64 (pow.f64 x 3) 27/15625)
(*.f64 x (+.f64 253/1000 (cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625))))
(+.f64 253/1000 (cbrt.f64 (*.f64 (pow.f64 x 3) 27/15625)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (cbrt.f64 27/15625))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (cbrt.f64 27/15625)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (cbrt.f64 27/15625)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (cbrt.f64 27/15625)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (cbrt.f64 27/15625)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (cbrt.f64 27/15625))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (cbrt.f64 27/15625)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 27/15625) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (cbrt.f64 27/15625))) (cbrt.f64 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625))) (cbrt.f64 (*.f64 x (cbrt.f64 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (cbrt.f64 27/15625))) (sqrt.f64 (*.f64 x (cbrt.f64 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x 3) 27/15625) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (cbrt.f64 27/15625)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 729/244140625 (pow.f64 x 6)) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (cbrt.f64 27/15625)) 9) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (cbrt.f64 27/15625))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 27/15625) (pow.f64 x 3/2)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (cbrt.f64 27/15625))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 x (cbrt.f64 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 (*.f64 (pow.f64 x 3) 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (cbrt.f64 27/15625)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (cbrt.f64 27/15625)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (cbrt.f64 27/15625))))) (sqrt.f64 (log.f64 (*.f64 x (cbrt.f64 27/15625)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (cbrt.f64 27/15625)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (cbrt.f64 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (cbrt.f64 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 3) 27/15625)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (cbrt.f64 27/15625))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (cbrt.f64 27/15625)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (cbrt.f64 27/15625)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (cbrt.f64 27/15625))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 3) 27/15625)) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 3) 27/15625)) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (cbrt.f64 27/15625))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (cbrt.f64 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (cbrt.f64 27/15625)) (*.f64 (log.f64 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (cbrt.f64 27/15625))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 x 3) 27/15625))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 27/15625) (pow.f64 x 3))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 27/15625) (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 27/15625) (pow.f64 x 3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 27/15625) (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 x 3) 27/15625))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x 3) 27/15625) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (cbrt.f64 27/15625)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 729/244140625 (pow.f64 x 6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (cbrt.f64 27/15625)) 9) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (cbrt.f64 27/15625))) 9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 27/15625) (pow.f64 x 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (cbrt.f64 27/15625))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (pow.f64 x 3) 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 3) 27/15625))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 3) 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 3) 27/15625)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 3) 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 729/244140625 (pow.f64 x 6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 27/15625) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 x 3) 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (cbrt.f64 27/15625)) 9))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 3) 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 x 3) 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (cbrt.f64 27/15625))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 3) 27/15625)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (cbrt.f64 27/15625)) 9)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 27/15625) (pow.f64 x 3/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (cbrt.f64 27/15625))) 3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 3) 27/15625)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 3) 27/15625)) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (cbrt.f64 27/15625))) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 3) 27/15625)) 1/3) (*.f64 2 (log.f64 (*.f64 x (cbrt.f64 27/15625))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 x (cbrt.f64 27/15625))) 1) (*.f64 2 (log.f64 (*.f64 x (cbrt.f64 27/15625))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 2 (log.f64 (*.f64 x (cbrt.f64 27/15625)))) (*.f64 (log.f64 (*.f64 (pow.f64 x 3) 27/15625)) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 2 (log.f64 (*.f64 x (cbrt.f64 27/15625)))) (*.f64 (log.f64 (*.f64 x (cbrt.f64 27/15625))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 3) 27/15625)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 253/1000) (*.f64 (*.f64 x x) (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x x) (cbrt.f64 27/15625)) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x 253/1000) 1) (*.f64 (*.f64 (*.f64 x x) (cbrt.f64 27/15625)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x (cbrt.f64 27/15625) 253/1000))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x (cbrt.f64 27/15625) 253/1000)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x 253/1000) 3) (pow.f64 (*.f64 (*.f64 x x) (cbrt.f64 27/15625)) 3)) (+.f64 (pow.f64 (*.f64 x 253/1000) 2) (-.f64 (pow.f64 (*.f64 (*.f64 x x) (cbrt.f64 27/15625)) 2) (*.f64 (*.f64 x 253/1000) (*.f64 (*.f64 x x) (cbrt.f64 27/15625))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x 253/1000) 2) (pow.f64 (*.f64 (*.f64 x x) (cbrt.f64 27/15625)) 2)) (-.f64 (*.f64 x 253/1000) (*.f64 (*.f64 x x) (cbrt.f64 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000) x) (fma.f64 (*.f64 x (cbrt.f64 27/15625)) (fma.f64 x (cbrt.f64 27/15625) -253/1000) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625))) x) (-.f64 253/1000 (*.f64 x (cbrt.f64 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000)) (fma.f64 (*.f64 x (cbrt.f64 27/15625)) (fma.f64 x (cbrt.f64 27/15625) -253/1000) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 64009/1000000 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625)))) (-.f64 253/1000 (*.f64 x (cbrt.f64 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000))))) (sqrt.f64 (log.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 x (cbrt.f64 27/15625)) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 253/1000 (*.f64 (*.f64 x x) (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 27/15625)) x (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 253/1000 x (*.f64 (*.f64 x x) (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x 253/1000) (*.f64 (*.f64 x x) (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 x x) (cbrt.f64 27/15625)) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) (cbrt.f64 27/15625) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 253/1000) (*.f64 (*.f64 x x) (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x (cbrt.f64 27/15625))) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625))) (*.f64 (cbrt.f64 (*.f64 x (cbrt.f64 27/15625))) x) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 253/1000) (*.f64 (*.f64 x x) (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x (cbrt.f64 27/15625))) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cbrt.f64 27/15625))) (*.f64 (sqrt.f64 (*.f64 x (cbrt.f64 27/15625))) x) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 253/1000) 1 (*.f64 (*.f64 (*.f64 x x) (cbrt.f64 27/15625)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 253/1000)) 2) (cbrt.f64 (*.f64 x 253/1000)) (*.f64 (*.f64 x x) (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 x x) (cbrt.f64 27/15625))) 2) (cbrt.f64 (*.f64 (*.f64 x x) (cbrt.f64 27/15625))) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 253/1000)) (sqrt.f64 (*.f64 x 253/1000)) (*.f64 (*.f64 x x) (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 x x) (cbrt.f64 27/15625))) (sqrt.f64 (*.f64 (*.f64 x x) (cbrt.f64 27/15625))) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 253/1000 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 x x) (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 253/1000 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 x x) (cbrt.f64 27/15625)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625)))) (cbrt.f64 (*.f64 x (cbrt.f64 27/15625))) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (*.f64 x (cbrt.f64 27/15625)))) (sqrt.f64 (*.f64 x (cbrt.f64 27/15625))) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (cbrt.f64 27/15625)) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (cbrt.f64 27/15625)) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (*.f64 (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 1) (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)) (*.f64 (log.f64 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 1) (*.f64 (log.f64 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (fma.f64 x (cbrt.f64 27/15625) 253/1000))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 64009/1000000 (-.f64 253/1000 (*.f64 x (cbrt.f64 27/15625)))) (/.f64 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625)) (-.f64 253/1000 (*.f64 x (cbrt.f64 27/15625)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (cbrt.f64 27/15625) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)) (pow.f64 (cbrt.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 2) (cbrt.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)) (sqrt.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000) (/.f64 1 (fma.f64 (*.f64 x (cbrt.f64 27/15625)) (fma.f64 x (cbrt.f64 27/15625) -253/1000) 64009/1000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625))) (/.f64 1 (-.f64 253/1000 (*.f64 x (cbrt.f64 27/15625)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x (cbrt.f64 27/15625)) (fma.f64 x (cbrt.f64 27/15625) -253/1000) 64009/1000000) (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 253/1000 (*.f64 x (cbrt.f64 27/15625))) (-.f64 64009/1000000 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000) (fma.f64 (*.f64 x (cbrt.f64 27/15625)) (fma.f64 x (cbrt.f64 27/15625) -253/1000) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000) (fma.f64 (*.f64 x x) (cbrt.f64 729/244140625) (-.f64 64009/1000000 (*.f64 (*.f64 x (cbrt.f64 27/15625)) 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625))) (-.f64 253/1000 (*.f64 x (cbrt.f64 27/15625))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000)) (neg.f64 (fma.f64 (*.f64 x (cbrt.f64 27/15625)) (fma.f64 x (cbrt.f64 27/15625) -253/1000) 64009/1000000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625)))) (neg.f64 (-.f64 253/1000 (*.f64 x (cbrt.f64 27/15625)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 x x) (cbrt.f64 729/244140625) -64009/1000000) (fma.f64 x (cbrt.f64 27/15625) -253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 x (cbrt.f64 27/15625)) (fma.f64 x (cbrt.f64 27/15625) -253/1000) 64009/1000000) (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 253/1000 (*.f64 x (cbrt.f64 27/15625))) (-.f64 64009/1000000 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000))) 2)) (cbrt.f64 (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)))) (sqrt.f64 (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cbrt.f64 27/15625) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 27/15625)) 1 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cbrt.f64 27/15625)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 27/15625) x 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cbrt.f64 27/15625)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cbrt.f64 27/15625))) (cbrt.f64 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625))) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) (cbrt.f64 729/244140625))) (cbrt.f64 (*.f64 x (cbrt.f64 27/15625))) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cbrt.f64 27/15625)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cbrt.f64 27/15625))) (sqrt.f64 (*.f64 x (cbrt.f64 27/15625))) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (cbrt.f64 27/15625) 253/1000)))))))

simplify77.0ms (1%)

Algorithm
egg-herbie
Rules
856×fma-def_binary64
465×fma-neg_binary64
436×distribute-rgt-neg-in_binary64
375×distribute-lft-neg-in_binary64
370×neg-sub0_binary64
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
024413
156395
2121368
3248368
4688368
51300368
62302368
73210368
85284368
97023344
Stop Event
node limit
Counts
234 → 203
Calls
Call 1
Inputs
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 -1 (*.f64 x (cbrt.f64 -27/15625)))
(*.f64 -1 (*.f64 x (cbrt.f64 -27/15625)))
(*.f64 -1 (*.f64 x (cbrt.f64 -27/15625)))
(*.f64 -1 (*.f64 x (cbrt.f64 -27/15625)))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 253/1000 x)
(+.f64 (*.f64 (cbrt.f64 27/15625) (pow.f64 x 2)) (*.f64 253/1000 x))
(+.f64 (*.f64 (cbrt.f64 27/15625) (pow.f64 x 2)) (*.f64 253/1000 x))
(+.f64 (*.f64 (cbrt.f64 27/15625) (pow.f64 x 2)) (*.f64 253/1000 x))
(*.f64 (cbrt.f64 27/15625) (pow.f64 x 2))
(+.f64 (*.f64 (cbrt.f64 27/15625) (pow.f64 x 2)) (*.f64 253/1000 x))
(+.f64 (*.f64 (cbrt.f64 27/15625) (pow.f64 x 2)) (*.f64 253/1000 x))
(+.f64 (*.f64 (cbrt.f64 27/15625) (pow.f64 x 2)) (*.f64 253/1000 x))
(*.f64 -1 (*.f64 (pow.f64 x 2) (cbrt.f64 -27/15625)))
(+.f64 (*.f64 253/1000 x) (*.f64 -1 (*.f64 (pow.f64 x 2) (cbrt.f64 -27/15625))))
(+.f64 (*.f64 253/1000 x) (*.f64 -1 (*.f64 (pow.f64 x 2) (cbrt.f64 -27/15625))))
(+.f64 (*.f64 253/1000 x) (*.f64 -1 (*.f64 (pow.f64 x 2) (cbrt.f64 -27/15625))))
253/1000
(+.f64 253/1000 (*.f64 (cbrt.f64 27/15625) x))
(+.f64 253/1000 (*.f64 (cbrt.f64 27/15625) x))
(+.f64 253/1000 (*.f64 (cbrt.f64 27/15625) x))
(*.f64 (cbrt.f64 27/15625) x)
(+.f64 253/1000 (*.f64 (cbrt.f64 27/15625) x))
(+.f64 253/1000 (*.f64 (cbrt.f64 27/15625) x))
(+.f64 253/1000 (*.f64 (cbrt.f64 27/15625) x))
(*.f64 -1 (*.f64 x (cbrt.f64 -27/15625)))
(+.f64 253/1000 (*.f64 -1 (*.f64 x (cbrt.f64 -27/15625))))
(+.f64 253/1000 (*.f64 -1 (*.f64 x (cbrt.f64 -27/15625))))
(+.f64 253/1000 (*.f64 -1 (*.f64 x (cbrt.f64 -27/15625))))
Outputs
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 (cbrt.f64 27/15625) x)
(*.f64 -1 (*.f64 x (cbrt.f64 -27/15625)))
(neg.f64 (*.f64 x (cbrt.f64 -27/15625)))
(*.f64 x (neg.f64 (cbrt.f64 -27/15625)))
(*.f64 (cbrt.f64 -27/15625) (neg.f64 x))
(*.f64 x (cbrt.f64 -27/15625))
(*.f64 -1 (*.f64 x (cbrt.f64 -27/15625)))
(neg.f64 (*.f64 x (cbrt.f64 -27/15625)))
(*.f64 x (neg.f64 (cbrt.f64 -27/15625)))
(*.f64 (cbrt.f64 -27/15625) (neg.f64 x))
(*.f64 x (cbrt.f64 -27/15625))
(*.f64 -1 (*.f64 x (cbrt.f64 -27/15625)))
(neg.f64 (*.f64 x (cbrt.f64 -27/15625)))
(*.f64 x (neg.f64 (cbrt.f64 -27/15625)))
(*.f64 (cbrt.f64 -27/15625) (neg.f64 x))
(*.f64 x (cbrt.f64 -27/15625))
(*.f64 -1 (*.f64 x (cbrt.f64 -27/15625)))
(neg.f64 (*.f64 x (cbrt.f64 -27/15625)))
(*.f64 x (neg.f64 (cbrt.f64 -27/15625)))
(*.f64 (cbrt.f64 -27/15625) (neg.f64 x))
(*.f64 x (cbrt.f64 -27/15625))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 27/15625 (pow.f64 x 3))
(*.f64 253/1000 x)
(*.f64 x 253/1000)
(+.f64 (*.f64 (cbrt.f64 27/15625) (pow.f64 x 2)) (*.f64 253/1000 x))
(fma.f64 (cbrt.f64 27/15625) (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 (cbrt.f64 27/15625) x 253/1000))
(+.f64 (*.f64 (cbrt.f64 27/15625) (pow.f64 x 2)) (*.f64 253/1000 x))
(fma.f64 (cbrt.f64 27/15625) (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 (cbrt.f64 27/15625) x 253/1000))
(+.f64 (*.f64 (cbrt.f64 27/15625) (pow.f64 x 2)) (*.f64 253/1000 x))
(fma.f64 (cbrt.f64 27/15625) (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 (cbrt.f64 27/15625) x 253/1000))
(*.f64 (cbrt.f64 27/15625) (pow.f64 x 2))
(*.f64 (cbrt.f64 27/15625) (*.f64 x x))
(+.f64 (*.f64 (cbrt.f64 27/15625) (pow.f64 x 2)) (*.f64 253/1000 x))
(fma.f64 (cbrt.f64 27/15625) (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 (cbrt.f64 27/15625) x 253/1000))
(+.f64 (*.f64 (cbrt.f64 27/15625) (pow.f64 x 2)) (*.f64 253/1000 x))
(fma.f64 (cbrt.f64 27/15625) (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 (cbrt.f64 27/15625) x 253/1000))
(+.f64 (*.f64 (cbrt.f64 27/15625) (pow.f64 x 2)) (*.f64 253/1000 x))
(fma.f64 (cbrt.f64 27/15625) (*.f64 x x) (*.f64 x 253/1000))
(*.f64 x (fma.f64 (cbrt.f64 27/15625) x 253/1000))
(*.f64 -1 (*.f64 (pow.f64 x 2) (cbrt.f64 -27/15625)))
(neg.f64 (*.f64 (cbrt.f64 -27/15625) (*.f64 x x)))
(*.f64 (*.f64 x x) (neg.f64 (cbrt.f64 -27/15625)))
(*.f64 x (*.f64 (cbrt.f64 -27/15625) (neg.f64 x)))
(*.f64 x (*.f64 x (neg.f64 (cbrt.f64 -27/15625))))
(*.f64 x (*.f64 x (cbrt.f64 -27/15625)))
(+.f64 (*.f64 253/1000 x) (*.f64 -1 (*.f64 (pow.f64 x 2) (cbrt.f64 -27/15625))))
(fma.f64 253/1000 x (neg.f64 (*.f64 (cbrt.f64 -27/15625) (*.f64 x x))))
(fma.f64 x 253/1000 (*.f64 (*.f64 x x) (neg.f64 (cbrt.f64 -27/15625))))
(*.f64 x (-.f64 253/1000 (*.f64 x (cbrt.f64 -27/15625))))
(*.f64 x (fma.f64 (cbrt.f64 -27/15625) (neg.f64 x) 253/1000))
(*.f64 x (neg.f64 (fma.f64 x (cbrt.f64 -27/15625) -253/1000)))
(*.f64 x (fma.f64 x (cbrt.f64 -27/15625) -253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 -1 (*.f64 (pow.f64 x 2) (cbrt.f64 -27/15625))))
(fma.f64 253/1000 x (neg.f64 (*.f64 (cbrt.f64 -27/15625) (*.f64 x x))))
(fma.f64 x 253/1000 (*.f64 (*.f64 x x) (neg.f64 (cbrt.f64 -27/15625))))
(*.f64 x (-.f64 253/1000 (*.f64 x (cbrt.f64 -27/15625))))
(*.f64 x (fma.f64 (cbrt.f64 -27/15625) (neg.f64 x) 253/1000))
(*.f64 x (neg.f64 (fma.f64 x (cbrt.f64 -27/15625) -253/1000)))
(*.f64 x (fma.f64 x (cbrt.f64 -27/15625) -253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 -1 (*.f64 (pow.f64 x 2) (cbrt.f64 -27/15625))))
(fma.f64 253/1000 x (neg.f64 (*.f64 (cbrt.f64 -27/15625) (*.f64 x x))))
(fma.f64 x 253/1000 (*.f64 (*.f64 x x) (neg.f64 (cbrt.f64 -27/15625))))
(*.f64 x (-.f64 253/1000 (*.f64 x (cbrt.f64 -27/15625))))
(*.f64 x (fma.f64 (cbrt.f64 -27/15625) (neg.f64 x) 253/1000))
(*.f64 x (neg.f64 (fma.f64 x (cbrt.f64 -27/15625) -253/1000)))
(*.f64 x (fma.f64 x (cbrt.f64 -27/15625) -253/1000))
253/1000
(+.f64 253/1000 (*.f64 (cbrt.f64 27/15625) x))
(+.f64 (*.f64 (cbrt.f64 27/15625) x) 253/1000)
(fma.f64 (cbrt.f64 27/15625) x 253/1000)
(+.f64 253/1000 (*.f64 (cbrt.f64 27/15625) x))
(+.f64 (*.f64 (cbrt.f64 27/15625) x) 253/1000)
(fma.f64 (cbrt.f64 27/15625) x 253/1000)
(+.f64 253/1000 (*.f64 (cbrt.f64 27/15625) x))
(+.f64 (*.f64 (cbrt.f64 27/15625) x) 253/1000)
(fma.f64 (cbrt.f64 27/15625) x 253/1000)
(*.f64 (cbrt.f64 27/15625) x)
(+.f64 253/1000 (*.f64 (cbrt.f64 27/15625) x))
(+.f64 (*.f64 (cbrt.f64 27/15625) x) 253/1000)
(fma.f64 (cbrt.f64 27/15625) x 253/1000)
(+.f64 253/1000 (*.f64 (cbrt.f64 27/15625) x))
(+.f64 (*.f64 (cbrt.f64 27/15625) x) 253/1000)
(fma.f64 (cbrt.f64 27/15625) x 253/1000)
(+.f64 253/1000 (*.f64 (cbrt.f64 27/15625) x))
(+.f64 (*.f64 (cbrt.f64 27/15625) x) 253/1000)
(fma.f64 (cbrt.f64 27/15625) x 253/1000)
(*.f64 -1 (*.f64 x (cbrt.f64 -27/15625)))
(neg.f64 (*.f64 x (cbrt.f64 -27/15625)))
(*.f64 x (neg.f64 (cbrt.f64 -27/15625)))
(*.f64 (cbrt.f64 -27/15625) (neg.f64 x))
(*.f64 x (cbrt.f64 -27/15625))
(+.f64 253/1000 (*.f64 -1 (*.f64 x (cbrt.f64 -27/15625))))
(+.f64 (neg.f64 (*.f64 x (cbrt.f64 -27/15625))) 253/1000)
(-.f64 253/1000 (*.f64 x (cbrt.f64 -27/15625)))
(fma.f64 (cbrt.f64 -27/15625) (neg.f64 x) 253/1000)
(neg.f64 (fma.f64 x (cbrt.f64 -27/15625) -253/1000))
(fma.f64 x (cbrt.f64 -27/15625) 253/1000)
(+.f64 253/1000 (*.f64 -1 (*.f64 x (cbrt.f64 -27/15625))))
(+.f64 (neg.f64 (*.f64 x (cbrt.f64 -27/15625))) 253/1000)
(-.f64 253/1000 (*.f64 x (cbrt.f64 -27/15625)))
(fma.f64 (cbrt.f64 -27/15625) (neg.f64 x) 253/1000)
(neg.f64 (fma.f64 x (cbrt.f64 -27/15625) -253/1000))
(fma.f64 x (cbrt.f64 -27/15625) 253/1000)
(+.f64 253/1000 (*.f64 -1 (*.f64 x (cbrt.f64 -27/15625))))
(+.f64 (neg.f64 (*.f64 x (cbrt.f64 -27/15625))) 253/1000)
(-.f64 253/1000 (*.f64 x (cbrt.f64 -27/15625)))
(fma.f64 (cbrt.f64 -27/15625) (neg.f64 x) 253/1000)
(neg.f64 (fma.f64 x (cbrt.f64 -27/15625) -253/1000))
(fma.f64 x (cbrt.f64 -27/15625) 253/1000)

eval578.0ms (7.5%)

Compiler

Compiled 16603 to 12796 computations (22.9% saved)

prune106.0ms (1.4%)

Pruning

13 alts after pruning (8 fresh and 5 done)

PrunedKeptTotal
New6215626
Fresh538
Picked101
Done055
Total62713640
Error
0.0b
Counts
640 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
25.1b
(-.f64 1 (*.f64 253/1000 x))
0.1b
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
0.2b
(-.f64 1 (*.f64 x (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x))))))
33.1b
(-.f64 1 (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000))))
2.7b
(-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 2))
8.4b
(-.f64 1 (/.f64 (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x) (+.f64 253/1000 (*.f64 -3/25 x))))
15.6b
(/.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))) (-.f64 1 (*.f64 (*.f64 x x) -3/25)))
38.9b
(*.f64 x (*.f64 x -3/25))
26.3b
1
0.1b
(-.f64 1 (+.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25))))
2.6b
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
18.1b
(/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)) (+.f64 1 (-.f64 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2) (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))))
0.2b
(-.f64 1 (*.f64 x (/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x)))))
Compiler

Compiled 298 to 225 computations (24.5% saved)

localize33.0ms (0.4%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x)))
0.0b
(-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625))
0.0b
(+.f64 253/1000 (*.f64 -3/25 x))
0.0b
(-.f64 1 (*.f64 x (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x))))))
0.1b
(*.f64 x (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x)))))
0.2b
(*.f64 (*.f64 x x) 9/625)
0.2b
(*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x))))
0.2b
(*.f64 -3/25 x)
Compiler

Compiled 88 to 62 computations (29.5% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x))))
0.0ms
x
@0
(*.f64 x (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x)))))
0.0ms
x
@inf
(*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x))))
0.0ms
x
@-inf
(*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x))))
0.0ms
x
@inf
(*.f64 x (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x)))))

rewrite65.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
673×log-prod_binary64
422×prod-diff_binary64
262×fma-def_binary64
242×expm1-udef_binary64
242×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01541
133213
2433113
Stop Event
node limit
Counts
2 → 104
Calls
Call 1
Inputs
(*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x))))
(*.f64 x (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 253/1000 (*.f64 x 3/25))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 253/1000 (neg.f64 (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 253/1000 (*.f64 (neg.f64 x) -3/25))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 253/1000 (*.f64 -1 (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 253/1000 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 x 3/25)) 2)) (cbrt.f64 (*.f64 x 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 253/1000 (*.f64 (neg.f64 (sqrt.f64 (*.f64 x 3/25))) (sqrt.f64 (*.f64 x 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 3/25) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x -3/25 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 64009/1000000 (/.f64 1 (fma.f64 x -3/25 253/1000))) (*.f64 (*.f64 (*.f64 x x) -9/625) (/.f64 1 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 (fma.f64 x -3/25 253/1000)) 64009/1000000) (*.f64 (/.f64 1 (fma.f64 x -3/25 253/1000)) (*.f64 (*.f64 x x) -9/625)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 x -3/25 253/1000))) (cbrt.f64 (exp.f64 (fma.f64 x -3/25 253/1000))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x -3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x -3/25 253/1000)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x -3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 253/1000 (*.f64 x 3/25))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x -3/25 253/1000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 64009/1000000 (fma.f64 x -3/25 253/1000)) (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (fma.f64 x -3/25 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x -3/25 253/1000) (fma.f64 (*.f64 x x) -9/625 64009/1000000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x 3/25) (fma.f64 x 3/25 -253/1000) 64009/1000000) (fma.f64 (pow.f64 x 3) -27/15625 16194277/1000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x -3/25 253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 (fma.f64 x -3/25 253/1000) 2)) (cbrt.f64 (/.f64 1 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 2) (/.f64 (fma.f64 x -3/25 253/1000) (cbrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 x -3/25 253/1000)) (pow.f64 (fma.f64 x -3/25 253/1000) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (/.f64 (fma.f64 x -3/25 253/1000) (sqrt.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 x -3/25 253/1000)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 262254607552729/1000000000000000000 (pow.f64 (*.f64 (*.f64 x x) 9/625) 3)) (*.f64 (fma.f64 x -3/25 253/1000) (+.f64 4097152081/1000000000000 (fma.f64 81/390625 (pow.f64 x 4) (*.f64 576081/625000000 (*.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) -27/15625 16194277/1000000000) (fma.f64 (*.f64 x 3/25) (fma.f64 x 3/25 -253/1000) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) -27/15625 16194277/1000000000) (fma.f64 x (*.f64 x 9/625) (-.f64 64009/1000000 (*.f64 -759/25000 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 4097152081/1000000000000 (*.f64 81/390625 (pow.f64 x 4))) (*.f64 (fma.f64 x -3/25 253/1000) (fma.f64 (*.f64 x x) 9/625 64009/1000000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 x 3) -27/15625 16194277/1000000000)) (neg.f64 (fma.f64 (*.f64 x 3/25) (fma.f64 x 3/25 -253/1000) 64009/1000000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (neg.f64 (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 262254607552729/1000000000000000000 (pow.f64 (*.f64 (*.f64 x x) 9/625) 3)) 1) (*.f64 (+.f64 4097152081/1000000000000 (fma.f64 81/390625 (pow.f64 x 4) (*.f64 576081/625000000 (*.f64 x x)))) (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4097152081/1000000000000 (*.f64 81/390625 (pow.f64 x 4))) 1) (*.f64 (fma.f64 (*.f64 x x) 9/625 64009/1000000) (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 262254607552729/1000000000000000000 (pow.f64 (*.f64 (*.f64 x x) 9/625) 3)) -1) (*.f64 (+.f64 4097152081/1000000000000 (fma.f64 81/390625 (pow.f64 x 4) (*.f64 576081/625000000 (*.f64 x x)))) (neg.f64 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4097152081/1000000000000 (*.f64 81/390625 (pow.f64 x 4))) -1) (*.f64 (fma.f64 (*.f64 x x) 9/625 64009/1000000) (neg.f64 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (-.f64 262254607552729/1000000000000000000 (pow.f64 (*.f64 (*.f64 x x) 9/625) 3))) (*.f64 (neg.f64 (fma.f64 x -3/25 253/1000)) (+.f64 4097152081/1000000000000 (fma.f64 81/390625 (pow.f64 x 4) (*.f64 576081/625000000 (*.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (-.f64 4097152081/1000000000000 (*.f64 81/390625 (pow.f64 x 4)))) (*.f64 (neg.f64 (fma.f64 x -3/25 253/1000)) (fma.f64 (*.f64 x x) 9/625 64009/1000000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (sqrt.f64 (fma.f64 x -3/25 253/1000))) (sqrt.f64 (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) 1) (fma.f64 x -3/25 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (cbrt.f64 (pow.f64 (fma.f64 x -3/25 253/1000) 2))) (cbrt.f64 (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 16194277/1000000000 (*.f64 (pow.f64 x 3) -27/15625)) (+.f64 64009/1000000 (fma.f64 x (*.f64 x 9/625) (*.f64 -759/25000 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x (*.f64 x 9/625) -64009/1000000) (fma.f64 x 3/25 -253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 262254607552729/1000000000000000000 (pow.f64 (*.f64 (*.f64 x x) 9/625) 3)) (/.f64 1 (fma.f64 x -3/25 253/1000))) (+.f64 4097152081/1000000000000 (fma.f64 81/390625 (pow.f64 x 4) (*.f64 576081/625000000 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4097152081/1000000000000 (*.f64 81/390625 (pow.f64 x 4))) (/.f64 1 (fma.f64 x -3/25 253/1000))) (fma.f64 (*.f64 x x) 9/625 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (neg.f64 (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) -1) (neg.f64 (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 (fma.f64 x -3/25 253/1000)) (-.f64 262254607552729/1000000000000000000 (pow.f64 (*.f64 (*.f64 x x) 9/625) 3))) (+.f64 4097152081/1000000000000 (fma.f64 81/390625 (pow.f64 x 4) (*.f64 576081/625000000 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 (fma.f64 x -3/25 253/1000)) (-.f64 4097152081/1000000000000 (*.f64 81/390625 (pow.f64 x 4)))) (fma.f64 (*.f64 x x) 9/625 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x -3/25 253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 x -3/25 253/1000)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x -3/25 253/1000) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x -3/25 253/1000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x -3/25 253/1000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x -3/25 253/1000) (fma.f64 (*.f64 x x) -9/625 64009/1000000)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 x 3/25) (fma.f64 x 3/25 -253/1000) 64009/1000000) (fma.f64 (pow.f64 x 3) -27/15625 16194277/1000000000)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x -3/25 253/1000) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x -3/25 253/1000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) 3) (pow.f64 (fma.f64 x -3/25 253/1000) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) 3) (pow.f64 (/.f64 1 (fma.f64 x -3/25 253/1000)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (fma.f64 x -3/25 253/1000)) 3) (pow.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 64009/1000000 (/.f64 1 (fma.f64 x -3/25 253/1000)) (*.f64 (*.f64 (*.f64 x x) -9/625) (/.f64 1 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x -3/25 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 3/25 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x 3/25) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -3/25 x 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 3/25) 1 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (fma.f64 x -3/25 253/1000)) 64009/1000000 (*.f64 (/.f64 1 (fma.f64 x -3/25 253/1000)) (*.f64 (*.f64 x x) -9/625)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x 3/25)) (pow.f64 (cbrt.f64 (*.f64 x 3/25)) 2) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 3/25)) 2) (cbrt.f64 (*.f64 x 3/25)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) -3/25) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 x 9/625)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) -3/25) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 3/25)) (sqrt.f64 (*.f64 x 3/25)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3/25 x 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cbrt.f64 (*.f64 81/390625 (pow.f64 x 4)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x 3/25)) 2)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3/25 (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3/25 (sqrt.f64 x)) (sqrt.f64 x) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x -3/25 253/1000)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x -3/25 253/1000)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x -3/25 253/1000))) (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x -3/25 253/1000))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x -3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x -3/25 253/1000)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x -3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (fma.f64 x -3/25 253/1000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 x -3/25 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 1) (fma.f64 x -3/25 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) -1) (neg.f64 (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (fma.f64 x -3/25 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 x -3/25 253/1000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x -3/25 253/1000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (fma.f64 x -3/25 253/1000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (fma.f64 x -3/25 253/1000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 x -3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (fma.f64 x -3/25 253/1000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 x -3/25 253/1000) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 x -3/25 253/1000) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 x -3/25 253/1000))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (fma.f64 x -3/25 253/1000))))))))

simplify153.0ms (2%)

Algorithm
egg-herbie
Rules
800×sqr-pow_binary64
565×cube-prod_binary64
559×fabs-mul_binary64
541×pow-sqr_binary64
538×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
011189
122171
236144
362144
4156144
5470144
61667144
72918144
83122144
93335144
103555144
113861144
124261144
134769144
145330144
156022144
166855144
177247144
187539144
197815144
207887144
217921144
Stop Event
node limit
Counts
128 → 112
Calls
Call 1
Inputs
253/1000
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(*.f64 253/1000 x)
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(*.f64 3/25 (pow.f64 x 2))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(*.f64 3/25 (pow.f64 x 2))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
Outputs
253/1000
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(fma.f64 3/25 x 253/1000)
(*.f64 253/1000 x)
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(*.f64 x (fma.f64 3/25 x 253/1000))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(*.f64 x (fma.f64 3/25 x 253/1000))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(*.f64 x (fma.f64 3/25 x 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(*.f64 x (fma.f64 3/25 x 253/1000))

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 253/1000 x)
0.0b
(-.f64 1 (*.f64 253/1000 x))
0.0b
(-.f64 1 (*.f64 253/1000 x))
0.1b
(*.f64 253/1000 x)
Compiler

Compiled 12 to 9 computations (25% saved)

series2.0ms (0%)

Counts
2 → 12
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 253/1000 x)
0.0ms
x
@-inf
(-.f64 1 (*.f64 253/1000 x))
0.0ms
x
@inf
(-.f64 1 (*.f64 253/1000 x))
0.0ms
x
@0
(-.f64 1 (*.f64 253/1000 x))
0.0ms
x
@-inf
(*.f64 253/1000 x)

rewrite52.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
112811
2151511
Stop Event
node limit
Counts
2 → 39
Calls
Call 1
Inputs
(*.f64 253/1000 x)
(-.f64 1 (*.f64 253/1000 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 253/1000 x) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 253/1000 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 253/1000 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 253/1000 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 253/1000 x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 x x) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 253/1000) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 253/1000 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 253/1000 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 253/1000 x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 253/1000 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 x -253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (*.f64 x -253/1000) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (*.f64 x -253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 x -253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 1 (*.f64 x -253/1000))) (pow.f64 (cbrt.f64 (+.f64 1 (*.f64 x -253/1000))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 (*.f64 x -253/1000))) 2) (cbrt.f64 (+.f64 1 (*.f64 x -253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1 (*.f64 x -253/1000))) (sqrt.f64 (+.f64 1 (*.f64 x -253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (*.f64 253/1000 x) 3)) (/.f64 1 (+.f64 1 (*.f64 (*.f64 253/1000 x) (+.f64 (*.f64 253/1000 x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 (*.f64 x x) 64009/1000000)) (/.f64 1 (+.f64 (*.f64 253/1000 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (*.f64 (*.f64 253/1000 x) (+.f64 (*.f64 253/1000 x) 1))) (-.f64 1 (pow.f64 (*.f64 253/1000 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 253/1000 x) 1) (-.f64 1 (*.f64 (*.f64 x x) 64009/1000000))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (*.f64 253/1000 x) 3)) (+.f64 1 (*.f64 (*.f64 253/1000 x) (+.f64 (*.f64 253/1000 x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (*.f64 x x) 64009/1000000)) (+.f64 (*.f64 253/1000 x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (*.f64 253/1000 x) 3))) (neg.f64 (+.f64 1 (*.f64 (*.f64 253/1000 x) (+.f64 (*.f64 253/1000 x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (*.f64 (*.f64 x x) 64009/1000000))) (neg.f64 (+.f64 (*.f64 253/1000 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (*.f64 x -253/1000) 3)) (+.f64 1 (-.f64 (*.f64 (*.f64 x -253/1000) (*.f64 x -253/1000)) (*.f64 x -253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (*.f64 x -253/1000) (*.f64 x -253/1000))) (-.f64 1 (*.f64 x -253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (*.f64 x -253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 (*.f64 x -253/1000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 1 (*.f64 x -253/1000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 1 (*.f64 x -253/1000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 1 (*.f64 x -253/1000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 1 (*.f64 x -253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 1 (*.f64 x -253/1000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 1 (*.f64 x -253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (*.f64 x -253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 1 (*.f64 x -253/1000))))))))

simplify8.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0672
11054
21254
Stop Event
saturated
Counts
51 → 43
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -253/1000 x))
(+.f64 1 (*.f64 -253/1000 x))
(+.f64 1 (*.f64 -253/1000 x))
(*.f64 -253/1000 x)
(+.f64 1 (*.f64 -253/1000 x))
(+.f64 1 (*.f64 -253/1000 x))
(+.f64 1 (*.f64 -253/1000 x))
(*.f64 -253/1000 x)
(+.f64 1 (*.f64 -253/1000 x))
(+.f64 1 (*.f64 -253/1000 x))
(+.f64 1 (*.f64 -253/1000 x))
Outputs
1
(+.f64 1 (*.f64 -253/1000 x))
(fma.f64 -253/1000 x 1)
(+.f64 1 (*.f64 -253/1000 x))
(fma.f64 -253/1000 x 1)
(+.f64 1 (*.f64 -253/1000 x))
(fma.f64 -253/1000 x 1)
(*.f64 -253/1000 x)
(+.f64 1 (*.f64 -253/1000 x))
(fma.f64 -253/1000 x 1)
(+.f64 1 (*.f64 -253/1000 x))
(fma.f64 -253/1000 x 1)
(+.f64 1 (*.f64 -253/1000 x))
(fma.f64 -253/1000 x 1)
(*.f64 -253/1000 x)
(+.f64 1 (*.f64 -253/1000 x))
(fma.f64 -253/1000 x 1)
(+.f64 1 (*.f64 -253/1000 x))
(fma.f64 -253/1000 x 1)
(+.f64 1 (*.f64 -253/1000 x))
(fma.f64 -253/1000 x 1)

localize48.0ms (0.6%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 x x) 9/625)
0.0b
(-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625))
0.0b
(+.f64 253/1000 (*.f64 -3/25 x))
0.0b
(-.f64 1 (/.f64 (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x) (+.f64 253/1000 (*.f64 -3/25 x))))
0.2b
(*.f64 (*.f64 x x) 9/625)
0.2b
(*.f64 -3/25 x)
0.3b
(*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x)
7.8b
(/.f64 (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x) (+.f64 253/1000 (*.f64 -3/25 x)))
Compiler

Compiled 71 to 46 computations (35.2% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x)
0.0ms
x
@-inf
(*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x)
0.0ms
x
@0
(/.f64 (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x) (+.f64 253/1000 (*.f64 -3/25 x)))
0.0ms
x
@inf
(/.f64 (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x) (+.f64 253/1000 (*.f64 -3/25 x)))
0.0ms
x
@0
(*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x)

rewrite62.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
679×log-prod_binary64
449×prod-diff_binary64
255×fma-def_binary64
242×pow1/3_binary64
240×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01335
129621
2400919
Stop Event
node limit
Counts
2 → 79
Calls
Call 1
Inputs
(/.f64 (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x) (+.f64 253/1000 (*.f64 -3/25 x)))
(*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 x (fma.f64 x -3/25 253/1000)))) (cbrt.f64 (exp.f64 (*.f64 x (fma.f64 x -3/25 253/1000)))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 x (fma.f64 x -3/25 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 x (fma.f64 x -3/25 253/1000))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 x (fma.f64 x -3/25 253/1000))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (fma.f64 x -3/25 253/1000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 64009/1000000 (/.f64 (fma.f64 x -3/25 253/1000) x)) (/.f64 (*.f64 x (*.f64 x 9/625)) (/.f64 (fma.f64 x -3/25 253/1000) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (fma.f64 x -3/25 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (/.f64 1 (/.f64 (fma.f64 x -3/25 253/1000) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (*.f64 x (/.f64 1 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (/.f64 1 (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x -3/25 253/1000) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (fma.f64 x -3/25 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) (/.f64 1 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (fma.f64 x -3/25 253/1000))) (cbrt.f64 (pow.f64 (*.f64 x (fma.f64 x -3/25 253/1000)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 x (fma.f64 x -3/25 253/1000)) 2)) (cbrt.f64 (*.f64 x (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) (/.f64 1 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (fma.f64 x -3/25 253/1000))) (sqrt.f64 (*.f64 x (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (neg.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000))) (/.f64 1 (neg.f64 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x -3/25 253/1000)) (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 1) (fma.f64 x -3/25 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) 1) (/.f64 x (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) 2) 1) (/.f64 (cbrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) 1) (/.f64 (sqrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) (fma.f64 x -3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x -3/25 253/1000)) 2)) (/.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (cbrt.f64 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (pow.f64 (cbrt.f64 (fma.f64 x -3/25 253/1000)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x -3/25 253/1000)) 2)) (/.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (cbrt.f64 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) 2) (pow.f64 (cbrt.f64 (fma.f64 x -3/25 253/1000)) 2)) (cbrt.f64 (*.f64 x (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) (pow.f64 (cbrt.f64 (fma.f64 x -3/25 253/1000)) 2)) (/.f64 (sqrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) (cbrt.f64 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (sqrt.f64 (fma.f64 x -3/25 253/1000))) (/.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (sqrt.f64 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) (sqrt.f64 (fma.f64 x -3/25 253/1000))) (/.f64 x (sqrt.f64 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 x -3/25 253/1000))) (/.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (sqrt.f64 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) 2) (sqrt.f64 (fma.f64 x -3/25 253/1000))) (/.f64 (cbrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) (sqrt.f64 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 (pow.f64 x 3) -27/15625 16194277/1000000000)) (fma.f64 (*.f64 x 3/25) (fma.f64 x -3/25 -253/1000) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (fma.f64 x -3/25 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (fma.f64 x -3/25 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 x -3/25 253/1000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x -3/25 253/1000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (fma.f64 x -3/25 253/1000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 x (fma.f64 x -3/25 253/1000))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 3) (pow.f64 (fma.f64 x -3/25 253/1000) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 (*.f64 x (fma.f64 x -3/25 253/1000))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) (neg.f64 (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (fma.f64 x -3/25 253/1000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 x (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 x -3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (fma.f64 x -3/25 253/1000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 3) (pow.f64 (fma.f64 x -3/25 253/1000) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (fma.f64 x -3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 x -3/25 253/1000))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (fma.f64 x -3/25 253/1000))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 64009/1000000 x) (*.f64 (*.f64 (*.f64 x x) -9/625) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 64009/1000000) (*.f64 x (*.f64 (*.f64 x x) -9/625)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 (*.f64 x x) -9/625 64009/1000000))) (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 (*.f64 x x) -9/625 64009/1000000))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 (*.f64 x x) -9/625 64009/1000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 (*.f64 x x) -9/625 64009/1000000)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 (*.f64 x x) -9/625 64009/1000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 262254607552729/1000000000000000000 (*.f64 729/244140625 (pow.f64 (*.f64 x x) 3))) x) (+.f64 4097152081/1000000000000 (fma.f64 81/390625 (pow.f64 x 4) (*.f64 576081/625000000 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4097152081/1000000000000 (*.f64 81/390625 (pow.f64 x 4))) x) (fma.f64 x (*.f64 x 9/625) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 262254607552729/1000000000000000000 (*.f64 729/244140625 (pow.f64 (*.f64 x x) 3)))) (+.f64 4097152081/1000000000000 (fma.f64 81/390625 (pow.f64 x 4) (*.f64 576081/625000000 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 4097152081/1000000000000 (*.f64 81/390625 (pow.f64 x 4)))) (fma.f64 x (*.f64 x 9/625) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) 3) (pow.f64 x 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (fma.f64 (*.f64 x x) -9/625 64009/1000000)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 x x) -9/625 64009/1000000) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 64009/1000000 x (*.f64 (*.f64 (*.f64 x x) -9/625) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 64009/1000000 (*.f64 x (*.f64 (*.f64 x x) -9/625)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (fma.f64 (*.f64 x x) -9/625 64009/1000000))))))))

simplify143.0ms (1.9%)

Algorithm
egg-herbie
Rules
969×sqr-pow_binary64
536×unswap-sqr_binary64
500×*-commutative_binary64
488×cube-prod_binary64
463×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
016234
136234
271225
3173207
4441207
51625207
63200207
73406207
83657207
93944207
104323207
114832207
125455207
136161207
146632207
156951207
167223207
177391207
187481207
Stop Event
node limit
Counts
103 → 89
Calls
Call 1
Inputs
(*.f64 253/1000 x)
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(*.f64 3/25 (pow.f64 x 2))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(*.f64 3/25 (pow.f64 x 2))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(*.f64 64009/1000000 x)
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(*.f64 -9/625 (pow.f64 x 3))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(*.f64 -9/625 (pow.f64 x 3))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
Outputs
(*.f64 253/1000 x)
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 x (*.f64 x 3/25))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 x (*.f64 x 3/25))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 3/25 (*.f64 x x) (*.f64 253/1000 x))
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(*.f64 64009/1000000 x)
(*.f64 x 64009/1000000)
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 64009/1000000 x (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 x 64009/1000000 (*.f64 -9/625 (pow.f64 x 3)))
(*.f64 x (fma.f64 -9/625 (*.f64 x x) 64009/1000000))
(*.f64 x (fma.f64 x (*.f64 x -9/625) 64009/1000000))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 64009/1000000 x (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 x 64009/1000000 (*.f64 -9/625 (pow.f64 x 3)))
(*.f64 x (fma.f64 -9/625 (*.f64 x x) 64009/1000000))
(*.f64 x (fma.f64 x (*.f64 x -9/625) 64009/1000000))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 64009/1000000 x (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 x 64009/1000000 (*.f64 -9/625 (pow.f64 x 3)))
(*.f64 x (fma.f64 -9/625 (*.f64 x x) 64009/1000000))
(*.f64 x (fma.f64 x (*.f64 x -9/625) 64009/1000000))
(*.f64 -9/625 (pow.f64 x 3))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 64009/1000000 x (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 x 64009/1000000 (*.f64 -9/625 (pow.f64 x 3)))
(*.f64 x (fma.f64 -9/625 (*.f64 x x) 64009/1000000))
(*.f64 x (fma.f64 x (*.f64 x -9/625) 64009/1000000))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 64009/1000000 x (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 x 64009/1000000 (*.f64 -9/625 (pow.f64 x 3)))
(*.f64 x (fma.f64 -9/625 (*.f64 x x) 64009/1000000))
(*.f64 x (fma.f64 x (*.f64 x -9/625) 64009/1000000))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 64009/1000000 x (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 x 64009/1000000 (*.f64 -9/625 (pow.f64 x 3)))
(*.f64 x (fma.f64 -9/625 (*.f64 x x) 64009/1000000))
(*.f64 x (fma.f64 x (*.f64 x -9/625) 64009/1000000))
(*.f64 -9/625 (pow.f64 x 3))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 64009/1000000 x (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 x 64009/1000000 (*.f64 -9/625 (pow.f64 x 3)))
(*.f64 x (fma.f64 -9/625 (*.f64 x x) 64009/1000000))
(*.f64 x (fma.f64 x (*.f64 x -9/625) 64009/1000000))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 64009/1000000 x (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 x 64009/1000000 (*.f64 -9/625 (pow.f64 x 3)))
(*.f64 x (fma.f64 -9/625 (*.f64 x x) 64009/1000000))
(*.f64 x (fma.f64 x (*.f64 x -9/625) 64009/1000000))
(+.f64 (*.f64 64009/1000000 x) (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 64009/1000000 x (*.f64 -9/625 (pow.f64 x 3)))
(fma.f64 x 64009/1000000 (*.f64 -9/625 (pow.f64 x 3)))
(*.f64 x (fma.f64 -9/625 (*.f64 x x) 64009/1000000))
(*.f64 x (fma.f64 x (*.f64 x -9/625) 64009/1000000))

localize43.0ms (0.6%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 x x) -3/25)
0.2b
(*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))
0.0b
(-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25)))
0.0b
(-.f64 1 (*.f64 (*.f64 x x) -3/25))
0.0b
(-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25)))
0.2b
(*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))
0.2b
(*.f64 (*.f64 x x) -3/25)
12.2b
(/.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))) (-.f64 1 (*.f64 (*.f64 x x) -3/25)))
Compiler

Compiled 64 to 34 computations (46.9% saved)

series7.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
(-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25)))
1.0ms
x
@0
(/.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))) (-.f64 1 (*.f64 (*.f64 x x) -3/25)))
1.0ms
x
@inf
(/.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))) (-.f64 1 (*.f64 (*.f64 x x) -3/25)))
0.0ms
x
@0
(*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))
0.0ms
x
@inf
(*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))

rewrite114.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
533×log-prod_binary64
315×fma-def_binary64
304×pow-prod-down_binary64
246×pow2_binary64
212×pow-unpow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01055
123134
2330630
Stop Event
node limit
Counts
4 → 307
Calls
Call 1
Inputs
(/.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))) (-.f64 1 (*.f64 (*.f64 x x) -3/25)))
(*.f64 (*.f64 x x) -3/25)
(*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))
(-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 x (*.f64 x -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x (*.f64 x -3/25) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (*.f64 x -3/25) 1))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (*.f64 x -3/25) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (*.f64 x -3/25) 1)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (*.f64 x -3/25) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (*.f64 x (*.f64 x -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)) (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x (*.f64 x -3/25) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1)) (/.f64 (*.f64 -27/15625 (pow.f64 x 6)) (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (*.f64 x -3/25) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (*.f64 x -3/25) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) (*.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (*.f64 9/625 (pow.f64 x 4))) (/.f64 1 (+.f64 -1 (*.f64 x (*.f64 x -3/25)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 -27/15625 (pow.f64 x 6))) (/.f64 1 (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)) (fma.f64 9/625 (pow.f64 x 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4)) (sqrt.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) -2) (/.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) -1/2) (/.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) 1) (/.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (fma.f64 x (*.f64 x -3/25) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x (*.f64 x -3/25) 1) 1) (/.f64 (fma.f64 x (*.f64 x -3/25) 1) (fma.f64 x (*.f64 x -3/25) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1))) (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25)))) (/.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x (*.f64 x -3/25) 1) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1))) (/.f64 (fma.f64 x (*.f64 x -3/25) 1) (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (-.f64 1 (*.f64 -27/15625 (pow.f64 x 6)))) (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (*.f64 x -3/25) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) 6) (pow.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1) (-.f64 1 (*.f64 -27/15625 (pow.f64 x 6)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (+.f64 -1 (*.f64 x (*.f64 x -3/25)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (fma.f64 x (*.f64 x -3/25) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (*.f64 x -3/25) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) 6) (pow.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 1 (*.f64 x (*.f64 x -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) (hypot.f64 (*.f64 x (*.f64 x -3/25)) (*.f64 x (sqrt.f64 -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (*.f64 x -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 x -3/25) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (sqrt.f64 (*.f64 9/625 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (neg.f64 (*.f64 x -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) -3/25 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 3/25 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -3/25 (*.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -3/25 (*.f64 x (neg.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (*.f64 x -3/25)) 1 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (*.f64 x -3/25) 1) (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) -2) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (*.f64 x -3/25))) (cbrt.f64 (*.f64 9/625 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 9/625 (pow.f64 x 4))) (cbrt.f64 (*.f64 x (*.f64 x -3/25))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 9/625 (pow.f64 x 4))) (neg.f64 (cbrt.f64 (*.f64 x (*.f64 x -3/25)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x) x) (*.f64 (pow.f64 (cbrt.f64 x) 2) -3/25) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 -3/25)) (*.f64 x (sqrt.f64 -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 -3/25)) (neg.f64 (*.f64 x (sqrt.f64 -3/25))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)) (/.f64 (fma.f64 x (*.f64 x -3/25) 1) (fma.f64 x (*.f64 x -3/25) 1)) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (neg.f64 x)) -3/25 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -3/25) x 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1))) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3/25 (*.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 81/390625))) (sqrt.f64 (cbrt.f64 (*.f64 9/625 (pow.f64 x 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (sqrt.f64 -3/25)) x) (sqrt.f64 -3/25) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1))) (sqrt.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1))) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 x (*.f64 x -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (fma.f64 x (*.f64 x -3/25) 1)) (/.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) (fma.f64 x (*.f64 x -3/25) 1)) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) 1) (/.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) (fma.f64 9/625 (pow.f64 x 4) 1)) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) 1) (/.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) (fma.f64 9/625 (pow.f64 x 4) 1)) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) -2) (/.f64 (fma.f64 x (*.f64 x -3/25) 1) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1))) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4)) (/.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1))) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4)) (/.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1))) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) (fma.f64 x (*.f64 x -3/25) 1)) (/.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) (fma.f64 x (*.f64 x -3/25) 1)) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) -2) (fma.f64 x (*.f64 x -3/25) 1) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x) (*.f64 x -3/25) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (*.f64 9/625 (pow.f64 x 4)))) (cbrt.f64 (*.f64 x (*.f64 x -3/25))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 x (sqrt.f64 -3/25))) (*.f64 x (sqrt.f64 -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (-.f64 1 (*.f64 -27/15625 (pow.f64 x 6)))) (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (fma.f64 x (*.f64 x -3/25) 1) (-.f64 1 (*.f64 (pow.f64 x 12) 729/244140625))) (+.f64 1 (fma.f64 9/625 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 81/390625))) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (fma.f64 x (*.f64 x -3/25) 1) (+.f64 1 (*.f64 (pow.f64 x 8) 81/390625))) (fma.f64 9/625 (pow.f64 x 4) 1) (neg.f64 (/.f64 (*.f64 9/625 (pow.f64 x 4)) (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3/25 (*.f64 (cbrt.f64 x) x)) (pow.f64 (cbrt.f64 x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (*.f64 x -3/25) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (*.f64 x (*.f64 x -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (*.f64 x (*.f64 x -3/25))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (*.f64 9/625 (pow.f64 x 4))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log1p.f64 (*.f64 x (*.f64 x -3/25)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 (*.f64 x (*.f64 x -3/25)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log1p.f64 (*.f64 x (*.f64 x -3/25)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log1p.f64 (*.f64 9/625 (pow.f64 x 4))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log1p.f64 (*.f64 x (*.f64 x -3/25))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (*.f64 x -3/25) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 x -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x -3/25))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x -3/25)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 x -3/25)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 x -3/25)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 x (*.f64 x -3/25) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 x (*.f64 x -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 x -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 9/625 (pow.f64 x 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 x -3/25))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 9/625 (pow.f64 x 4))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sqrt.f64 -3/25)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -27/15625 (pow.f64 x 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x 12) 729/244140625) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x (*.f64 x -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 9/625 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 x (*.f64 x -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 x -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 x -3/25)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 x -3/25))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 -27/15625 (pow.f64 x 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x (*.f64 x -3/25) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (*.f64 x -3/25) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) (*.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 -1 (*.f64 9/625 (pow.f64 x 4))) (/.f64 1 (+.f64 -1 (*.f64 x (*.f64 x -3/25)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (*.f64 -27/15625 (pow.f64 x 6))) (/.f64 1 (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)) (fma.f64 9/625 (pow.f64 x 4) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) -2) (/.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) -1/2) (/.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) 1) (/.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (fma.f64 x (*.f64 x -3/25) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (fma.f64 x (*.f64 x -3/25) 1) 1) (/.f64 (fma.f64 x (*.f64 x -3/25) 1) (fma.f64 x (*.f64 x -3/25) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1))) (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25)))) (/.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (fma.f64 x (*.f64 x -3/25) 1) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1))) (/.f64 (fma.f64 x (*.f64 x -3/25) 1) (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (-.f64 1 (*.f64 -27/15625 (pow.f64 x 6)))) (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 x -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 2 (log.f64 x) (log1p.f64 -28/25)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 2 (log.f64 x) (log1p.f64 -28/25)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 9/625 (pow.f64 x 4))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (*.f64 x -3/25)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (sqrt.f64 -3/25))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 -27/15625 (pow.f64 x 6))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (fma.f64 2 (log.f64 x) (log1p.f64 -28/25)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (fma.f64 2 (log.f64 x) (log1p.f64 -28/25)) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 9/625 (pow.f64 x 4))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (fma.f64 2 (log.f64 x) (log1p.f64 -28/25)) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 x -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (*.f64 x (*.f64 x -3/25))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 9/625 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 9/625 (pow.f64 x 4)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 9/625 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 9/625 (pow.f64 x 4))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 9/625 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 9/625 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 x -3/25)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 9/625 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x 8) 81/390625) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 x -3/25))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 9/625 (pow.f64 x 4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sqrt.f64 -3/25)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -27/15625 (pow.f64 x 6)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x 12) 729/244140625) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 9/625 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 x 8) 81/390625))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 9/625 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 9/625 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 9/625 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 12) 729/244140625))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 9/625 (pow.f64 x 4) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (*.f64 x -3/25) 1) (fma.f64 x (*.f64 x -3/25) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (*.f64 (pow.f64 x 12) 729/244140625)) (/.f64 1 (+.f64 1 (fma.f64 9/625 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 81/390625)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (*.f64 (pow.f64 x 8) 81/390625)) (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 9/625 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 9/625 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 2 (log.f64 x) (log1p.f64 -28/25)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 9/625 (pow.f64 x 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 9/625 (pow.f64 x 4)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 12) 729/244140625)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (fma.f64 2 (log.f64 x) (log1p.f64 -28/25)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (fma.f64 2 (log.f64 x) (log1p.f64 -28/25)) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 9/625 (pow.f64 x 4))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 9/625 (pow.f64 x 4))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 9/625 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (*.f64 9/625 (pow.f64 x 4))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 9/625 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 9/625 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (*.f64 x -3/25) 1) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 9/625 (pow.f64 x 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 9/625 (pow.f64 x 4) 1))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 9/625 (pow.f64 x 4) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 9/625 (pow.f64 x 4) 1)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 9/625 (pow.f64 x 4) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 9/625 (pow.f64 x 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (*.f64 x -3/25) 1) (fma.f64 x (*.f64 x -3/25) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 2) (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 3/2) (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 (pow.f64 x 12) 729/244140625)) (/.f64 1 (+.f64 1 (fma.f64 9/625 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 81/390625)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 (pow.f64 x 8) 81/390625)) (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) 3/2) (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 5) (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (fma.f64 9/625 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 81/390625))) (-.f64 1 (*.f64 (pow.f64 x 12) 729/244140625))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (+.f64 1 (*.f64 (pow.f64 x 8) 81/390625))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x (*.f64 x -3/25) 1) (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 2) (fma.f64 9/625 (pow.f64 x 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 3/2) (fma.f64 x (*.f64 x -3/25) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (*.f64 9/625 (pow.f64 x 4))) (*.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)) (+.f64 -1 (*.f64 x (*.f64 x -3/25)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (pow.f64 x 12) 729/244140625)) (+.f64 1 (fma.f64 9/625 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 81/390625))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (*.f64 (pow.f64 x 8) 81/390625)) (fma.f64 9/625 (pow.f64 x 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (+.f64 -1 (*.f64 9/625 (pow.f64 x 4))) 2) (pow.f64 (+.f64 -1 (*.f64 x (*.f64 x -3/25))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 1 (*.f64 -27/15625 (pow.f64 x 6))) 2) (pow.f64 (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (*.f64 (pow.f64 x 12) 729/244140625))) (neg.f64 (+.f64 1 (fma.f64 9/625 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 81/390625)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (*.f64 (pow.f64 x 8) 81/390625))) (+.f64 -1 (*.f64 9/625 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 -27/15625 (pow.f64 x 6))) (fma.f64 9/625 (pow.f64 x 4) 1)) (*.f64 (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1) (fma.f64 x (*.f64 x -3/25) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (-.f64 1 (*.f64 -27/15625 (pow.f64 x 6)))) (*.f64 (fma.f64 x (*.f64 x -3/25) 1) (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (*.f64 9/625 (pow.f64 x 4))) 1) (*.f64 (+.f64 -1 (*.f64 x (*.f64 x -3/25))) (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (*.f64 9/625 (pow.f64 x 4))) (fma.f64 9/625 (pow.f64 x 4) 1)) (+.f64 -1 (*.f64 9/625 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (+.f64 -1 (*.f64 9/625 (pow.f64 x 4)))) (+.f64 -1 (*.f64 9/625 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (*.f64 (pow.f64 x 12) 729/244140625)) (+.f64 1 (fma.f64 9/625 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 81/390625))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 -27/15625 (pow.f64 x 6))) (fma.f64 x (*.f64 x -3/25) 1)) (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (*.f64 9/625 (pow.f64 x 4))) (fma.f64 x (*.f64 x -3/25) 1)) (+.f64 -1 (*.f64 x (*.f64 x -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 x (*.f64 x -3/25) 1) (-.f64 1 (*.f64 -27/15625 (pow.f64 x 6)))) (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 x (*.f64 x -3/25) 1) (+.f64 -1 (*.f64 9/625 (pow.f64 x 4)))) (+.f64 -1 (*.f64 x (*.f64 x -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (*.f64 x -3/25) 1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 (fma.f64 9/625 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 81/390625))) (-.f64 1 (*.f64 (pow.f64 x 12) 729/244140625))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (+.f64 1 (*.f64 (pow.f64 x 8) 81/390625))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 9/625 (pow.f64 x 4) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 9/625 (pow.f64 x 4) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 9/625 (pow.f64 x 4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x (*.f64 x -3/25) 1)) (pow.f64 (pow.f64 (exp.f64 x) x) (fma.f64 9/625 (*.f64 x x) -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x (*.f64 x -3/25) 1))) (pow.f64 (pow.f64 (exp.f64 x) x) (fma.f64 9/625 (*.f64 x x) -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) 6))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (fma.f64 x (*.f64 x -3/25) 1) (sqrt.f64 (fma.f64 9/625 (pow.f64 x 4) (*.f64 (pow.f64 x 8) 81/390625))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 9/625 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x (*.f64 x -3/25) 1) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 x (*.f64 9/625 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 (*.f64 x -3/25) (*.f64 x (*.f64 x -3/25))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) (*.f64 9/625 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) (neg.f64 (*.f64 9/625 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) (*.f64 (*.f64 x x) 9/625) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -3/25 (*.f64 -3/25 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (*.f64 x -3/25)) (*.f64 x (*.f64 x -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 9/625 (pow.f64 x 4)) 1 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (*.f64 x -3/25) 1) 1 (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 9/625 (pow.f64 x 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 4) 9/625 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 4) -9/625 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) (*.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1))) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 9/625 (pow.f64 x 4))) (cbrt.f64 (*.f64 (pow.f64 x 8) 81/390625)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 81/390625)) (cbrt.f64 (*.f64 9/625 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 81/390625)) (neg.f64 (cbrt.f64 (*.f64 9/625 (pow.f64 x 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x) x) (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 9/625 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25))) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 -3/25)) (pow.f64 (*.f64 x (sqrt.f64 -3/25)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 -1 (*.f64 9/625 (pow.f64 x 4))) (/.f64 1 (+.f64 -1 (*.f64 x (*.f64 x -3/25)))) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (*.f64 -27/15625 (pow.f64 x 6))) (/.f64 1 (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1)) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (fma.f64 x (*.f64 x -3/25) 1)) (fma.f64 9/625 (pow.f64 x 4) 1) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (neg.f64 x)) (*.f64 9/625 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 9/625 (*.f64 x x)) (*.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3/25 (pow.f64 x 4)) -3/25 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3/25 (pow.f64 x 4)) 3/25 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 x (sqrt.f64 -3/25)) 3) (*.f64 x (sqrt.f64 -3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 9/625 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) -2) (/.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1))) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 x (*.f64 x -3/25) 1) -1/2) (/.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25)))) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) 1) (/.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (fma.f64 x (*.f64 x -3/25) 1)) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (fma.f64 x (*.f64 x -3/25) 1) 1) (/.f64 (fma.f64 x (*.f64 x -3/25) 1) (fma.f64 x (*.f64 x -3/25) 1)) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1))) (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1)) 4) (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25)))) (/.f64 (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1)) (hypot.f64 1 (*.f64 x (sqrt.f64 -3/25)))) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (fma.f64 x (*.f64 x -3/25) 1) (cbrt.f64 (fma.f64 9/625 (pow.f64 x 4) 1))) (/.f64 (fma.f64 x (*.f64 x -3/25) 1) (cbrt.f64 (fma.f64 x (*.f64 x -3/25) 1))) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 x 4)) 9/625 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (*.f64 (pow.f64 x 8) 81/390625))) (cbrt.f64 (*.f64 9/625 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 -3/25 (pow.f64 x 4))) -3/25 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (fma.f64 9/625 (pow.f64 x 4) 1) (-.f64 1 (*.f64 -27/15625 (pow.f64 x 6)))) (fma.f64 -3/25 (fma.f64 -3/25 (pow.f64 x 4) (*.f64 x x)) 1) (*.f64 (*.f64 x x) (fma.f64 9/625 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (*.f64 x -3/25)) x) (*.f64 x -3/25) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 9/625 (pow.f64 x 4)) 5/6) (cbrt.f64 (*.f64 x (*.f64 x -3/25))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 9/625 (pow.f64 x 4) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (*.f64 9/625 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (*.f64 9/625 (pow.f64 x 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log1p.f64 (*.f64 9/625 (pow.f64 x 4)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 (*.f64 9/625 (pow.f64 x 4)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (*.f64 x (*.f64 x -3/25))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log1p.f64 (*.f64 9/625 (pow.f64 x 4))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log1p.f64 (*.f64 x (*.f64 x -3/25))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 9/625 (pow.f64 x 4) 1)))))))

simplify180.0ms (2.3%)

Algorithm
egg-herbie
Rules
1095×sqr-pow_binary64
702×pow-sqr_binary64
573×associate-*l*_binary64
496×cube-prod_binary64
435×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016342
130342
254342
3128342
4422342
51671342
62566342
72690342
82880342
93091342
103372342
113739342
124196342
134720342
145352342
156105342
166417342
176643342
186839342
196895342
206919342
217753342
Stop Event
node limit
Counts
355 → 317
Calls
Call 1
Inputs
1
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(*.f64 -3/25 (pow.f64 x 2))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(*.f64 -3/25 (pow.f64 x 2))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
1
(+.f64 (*.f64 -9/625 (pow.f64 x 4)) 1)
(+.f64 (*.f64 -9/625 (pow.f64 x 4)) 1)
(+.f64 (*.f64 -9/625 (pow.f64 x 4)) 1)
(*.f64 -9/625 (pow.f64 x 4))
(+.f64 1 (*.f64 -9/625 (pow.f64 x 4)))
(+.f64 1 (*.f64 -9/625 (pow.f64 x 4)))
(+.f64 1 (*.f64 -9/625 (pow.f64 x 4)))
(*.f64 -9/625 (pow.f64 x 4))
(+.f64 1 (*.f64 -9/625 (pow.f64 x 4)))
(+.f64 1 (*.f64 -9/625 (pow.f64 x 4)))
(+.f64 1 (*.f64 -9/625 (pow.f64 x 4)))
Outputs
1
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 x (*.f64 -3/25 x) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 x (*.f64 -3/25 x) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 x (*.f64 -3/25 x) 1)
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 x (*.f64 -3/25 x) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 x (*.f64 -3/25 x) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 x (*.f64 -3/25 x) 1)
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 x (*.f64 -3/25 x) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 x (*.f64 -3/25 x) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) 1)
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 x (*.f64 -3/25 x) 1)
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
(*.f64 9/625 (pow.f64 x 4))
1
(+.f64 (*.f64 -9/625 (pow.f64 x 4)) 1)
(fma.f64 -9/625 (pow.f64 x 4) 1)
(fma.f64 (pow.f64 x 4) -9/625 1)
(+.f64 (*.f64 -9/625 (pow.f64 x 4)) 1)
(fma.f64 -9/625 (pow.f64 x 4) 1)
(fma.f64 (pow.f64 x 4) -9/625 1)
(+.f64 (*.f64 -9/625 (pow.f64 x 4)) 1)
(fma.f64 -9/625 (pow.f64 x 4) 1)
(fma.f64 (pow.f64 x 4) -9/625 1)
(*.f64 -9/625 (pow.f64 x 4))
(*.f64 (pow.f64 x 4) -9/625)
(+.f64 1 (*.f64 -9/625 (pow.f64 x 4)))
(fma.f64 -9/625 (pow.f64 x 4) 1)
(fma.f64 (pow.f64 x 4) -9/625 1)
(+.f64 1 (*.f64 -9/625 (pow.f64 x 4)))
(fma.f64 -9/625 (pow.f64 x 4) 1)
(fma.f64 (pow.f64 x 4) -9/625 1)
(+.f64 1 (*.f64 -9/625 (pow.f64 x 4)))
(fma.f64 -9/625 (pow.f64 x 4) 1)
(fma.f64 (pow.f64 x 4) -9/625 1)
(*.f64 -9/625 (pow.f64 x 4))
(*.f64 (pow.f64 x 4) -9/625)
(+.f64 1 (*.f64 -9/625 (pow.f64 x 4)))
(fma.f64 -9/625 (pow.f64 x 4) 1)
(fma.f64 (pow.f64 x 4) -9/625 1)
(+.f64 1 (*.f64 -9/625 (pow.f64 x 4)))
(fma.f64 -9/625 (pow.f64 x 4) 1)
(fma.f64 (pow.f64 x 4) -9/625 1)
(+.f64 1 (*.f64 -9/625 (pow.f64 x 4)))
(fma.f64 -9/625 (pow.f64 x 4) 1)
(fma.f64 (pow.f64 x 4) -9/625 1)

localize13.0ms (0.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 x (sqrt.f64 3/25)) 2)
0.0b
(*.f64 x (sqrt.f64 3/25))
0.0b
(-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 2))
0.0b
(-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 2))
0.0b
(*.f64 x (sqrt.f64 3/25))
0.3b
(pow.f64 (*.f64 x (sqrt.f64 3/25)) 2)
Compiler

Compiled 25 to 21 computations (16% saved)

series36.0ms (0.5%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
32.0ms
x
@inf
(pow.f64 (*.f64 x (sqrt.f64 3/25)) 2)
1.0ms
x
@0
(pow.f64 (*.f64 x (sqrt.f64 3/25)) 2)
1.0ms
x
@-inf
(pow.f64 (*.f64 x (sqrt.f64 3/25)) 2)
0.0ms
x
@0
(-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 2))
0.0ms
x
@inf
(-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 2))

rewrite174.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
795×pow1_binary64
746×add-log-exp_binary64
745×log1p-expm1-u_binary64
745×expm1-log1p-u_binary64
730×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0927
119123
2212423
Stop Event
node limit
Counts
3 → 65
Calls
Call 1
Inputs
(pow.f64 (*.f64 x (sqrt.f64 3/25)) 2)
(*.f64 x (sqrt.f64 3/25))
(-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 3/25 (*.f64 x x)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (sqrt.f64 3/25) (*.f64 x (sqrt.f64 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/25 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 3/25) (*.f64 x (*.f64 x (sqrt.f64 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (sqrt.f64 3/25)) (*.f64 x (sqrt.f64 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/25 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 3/25 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 3/25 (*.f64 x x))) (cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 3/25 (*.f64 x x))) (*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 3/25))) (*.f64 x (sqrt.f64 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 4)) (cbrt.f64 (*.f64 3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (sqrt.f64 3/25))) (*.f64 (sqrt.f64 (*.f64 x (sqrt.f64 3/25))) (*.f64 x (sqrt.f64 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) 3/25)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (sqrt.f64 3/25)) (sqrt.f64 (*.f64 x (sqrt.f64 3/25)))) (sqrt.f64 (*.f64 x (sqrt.f64 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (sqrt.f64 3/25)) x) (sqrt.f64 3/25))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (sqrt.f64 3/25)) (sqrt.f64 3/25)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (sqrt.f64 3/25)) (cbrt.f64 (*.f64 3/25 (*.f64 x x)))) (cbrt.f64 (*.f64 x (sqrt.f64 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 3/25 (*.f64 x x))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (sqrt.f64 3/25))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sqrt.f64 3/25)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3/25 (*.f64 x x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 3/25))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (sqrt.f64 3/25))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 3/25 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 x (sqrt.f64 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (sqrt.f64 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (*.f64 3/25 (sqrt.f64 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 3/25 (sqrt.f64 3/25)) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (sqrt.f64 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (sqrt.f64 3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (sqrt.f64 3/25))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (*.f64 x x) -3/25))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x x) -3/25) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (*.f64 3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x))) 2)) (cbrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))) (sqrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 6)) (/.f64 1 (+.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) (pow.f64 (*.f64 x (sqrt.f64 3/25)) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 4)) (/.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) (pow.f64 (*.f64 x (sqrt.f64 3/25)) 4))) (-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 3/25 (*.f64 x x)) 1) (-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 6)) (+.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) (pow.f64 (*.f64 x (sqrt.f64 3/25)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 4)) (+.f64 (*.f64 3/25 (*.f64 x x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 6))) (neg.f64 (+.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) (pow.f64 (*.f64 x (sqrt.f64 3/25)) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 4))) (neg.f64 (+.f64 (*.f64 3/25 (*.f64 x x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (*.f64 (*.f64 x x) -3/25) 3)) (+.f64 1 (-.f64 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25)) (*.f64 (*.f64 x x) -3/25))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))) (-.f64 1 (*.f64 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (*.f64 (*.f64 x x) -3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))))))))

simplify54.0ms (0.7%)

Algorithm
egg-herbie
Rules
904×distribute-rgt-neg-in_binary64
896×distribute-lft-neg-in_binary64
617×unswap-sqr_binary64
608×fma-neg_binary64
570×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
013398
129243
266243
3199243
4841243
51872243
63565243
75894243
Stop Event
node limit
Counts
101 → 72
Calls
Call 1
Inputs
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
1
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
Outputs
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))
(*.f64 3/25 (*.f64 x x))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))
(*.f64 3/25 (*.f64 x x))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))
(*.f64 3/25 (*.f64 x x))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))
(*.f64 3/25 (*.f64 x x))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))
(*.f64 3/25 (*.f64 x x))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))
(*.f64 3/25 (*.f64 x x))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))
(*.f64 3/25 (*.f64 x x))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))
(*.f64 3/25 (*.f64 x x))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))
(*.f64 3/25 (*.f64 x x))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))
(*.f64 3/25 (*.f64 x x))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))
(*.f64 3/25 (*.f64 x x))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))
(*.f64 3/25 (*.f64 x x))
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
(*.f64 (sqrt.f64 3/25) x)
1
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2)))
(neg.f64 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x)))
(*.f64 (*.f64 x x) -3/25)
(*.f64 x (*.f64 x -3/25))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2)))
(neg.f64 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x)))
(*.f64 (*.f64 x x) -3/25)
(*.f64 x (*.f64 x -3/25))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (*.f64 x x))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)

eval886.0ms (11.5%)

Compiler

Compiled 16014 to 11828 computations (26.1% saved)

prune260.0ms (3.4%)

Pruning

16 alts after pruning (6 fresh and 10 done)

PrunedKeptTotal
New8014805
Fresh123
Picked011
Done099
Total80216818
Error
0b
Counts
818 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
25.1b
(-.f64 1 (*.f64 253/1000 x))
0.1b
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
0.2b
(-.f64 1 (*.f64 x (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x))))))
26.3b
1
33.1b
(-.f64 1 (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000))))
2.7b
(-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 2))
61.4b
(*.f64 -253/1000 x)
8.4b
(-.f64 1 (/.f64 (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x) (+.f64 253/1000 (*.f64 -3/25 x))))
15.6b
(/.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))) (-.f64 1 (*.f64 (*.f64 x x) -3/25)))
38.9b
(*.f64 x (*.f64 x -3/25))
2.6b
(-.f64 1 (*.f64 (sqrt.f64 3/25) (*.f64 x (*.f64 x (sqrt.f64 3/25)))))
0.1b
(-.f64 1 (+.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25))))
2.6b
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
18.1b
(/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)) (+.f64 1 (-.f64 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2) (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))))
38.9b
(*.f64 -3/25 (*.f64 x x))
0.2b
(-.f64 1 (*.f64 x (/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x)))))
Compiler

Compiled 267 to 202 computations (24.3% saved)

localize25.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (*.f64 x (sqrt.f64 3/25)))
0.2b
(*.f64 (sqrt.f64 3/25) (*.f64 x (*.f64 x (sqrt.f64 3/25))))
0.0b
(*.f64 x (sqrt.f64 3/25))
0.0b
(-.f64 1 (*.f64 (sqrt.f64 3/25) (*.f64 x (*.f64 x (sqrt.f64 3/25)))))
0.0b
(-.f64 1 (*.f64 (sqrt.f64 3/25) (*.f64 x (*.f64 x (sqrt.f64 3/25)))))
0.0b
(*.f64 x (sqrt.f64 3/25))
0.2b
(*.f64 (sqrt.f64 3/25) (*.f64 x (*.f64 x (sqrt.f64 3/25))))
0.2b
(*.f64 x (*.f64 x (sqrt.f64 3/25)))
Compiler

Compiled 36 to 28 computations (22.2% saved)

series4.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 (sqrt.f64 3/25) (*.f64 x (*.f64 x (sqrt.f64 3/25))))
1.0ms
x
@0
(*.f64 x (*.f64 x (sqrt.f64 3/25)))
1.0ms
x
@inf
(*.f64 (sqrt.f64 3/25) (*.f64 x (*.f64 x (sqrt.f64 3/25))))
1.0ms
x
@inf
(*.f64 x (*.f64 x (sqrt.f64 3/25)))
0.0ms
x
@inf
(-.f64 1 (*.f64 (sqrt.f64 3/25) (*.f64 x (*.f64 x (sqrt.f64 3/25)))))

rewrite199.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
862×pow1_binary64
803×add-log-exp_binary64
803×log1p-expm1-u_binary64
803×expm1-log1p-u_binary64
788×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0940
119026
2225226
Stop Event
node limit
Counts
3 → 52
Calls
Call 1
Inputs
(*.f64 x (*.f64 x (sqrt.f64 3/25)))
(*.f64 (sqrt.f64 3/25) (*.f64 x (*.f64 x (sqrt.f64 3/25))))
(-.f64 1 (*.f64 (sqrt.f64 3/25) (*.f64 x (*.f64 x (sqrt.f64 3/25)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (*.f64 x (sqrt.f64 3/25)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 x (sqrt.f64 3/25))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 x (sqrt.f64 3/25))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 x (sqrt.f64 3/25)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (pow.f64 3/25 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (*.f64 x (sqrt.f64 3/25))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 x) (sqrt.f64 3/25)) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (*.f64 x (sqrt.f64 3/25))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (*.f64 x (sqrt.f64 3/25)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 x (sqrt.f64 3/25)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 x (sqrt.f64 3/25)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 x (sqrt.f64 3/25)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 3/25 (*.f64 x x)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sqrt.f64 3/25)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3/25 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3/25 (*.f64 x x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 3/25 (*.f64 x x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 3/25 (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 3/25 (*.f64 x x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 3/25 (*.f64 x x))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (*.f64 3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (neg.f64 (*.f64 3/25 (*.f64 x x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 3/25 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (*.f64 3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))) 2) (cbrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))) (sqrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (*.f64 3/25 (*.f64 x x)) 3)) (/.f64 1 (+.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) (pow.f64 (*.f64 3/25 (*.f64 x x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (*.f64 3/25 (*.f64 x x)) 2)) (/.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) (pow.f64 (*.f64 3/25 (*.f64 x x)) 2))) (-.f64 1 (pow.f64 (*.f64 3/25 (*.f64 x x)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 3/25 (*.f64 x x)) 1) (-.f64 1 (pow.f64 (*.f64 3/25 (*.f64 x x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (*.f64 3/25 (*.f64 x x)) 3)) (+.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) (pow.f64 (*.f64 3/25 (*.f64 x x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (*.f64 3/25 (*.f64 x x)) 2)) (+.f64 (*.f64 3/25 (*.f64 x x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (*.f64 3/25 (*.f64 x x)) 3))) (neg.f64 (+.f64 1 (+.f64 (*.f64 3/25 (*.f64 x x)) (pow.f64 (*.f64 3/25 (*.f64 x x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (*.f64 3/25 (*.f64 x x)) 2))) (neg.f64 (+.f64 (*.f64 3/25 (*.f64 x x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (neg.f64 (*.f64 3/25 (*.f64 x x))) 3)) (+.f64 1 (-.f64 (*.f64 (neg.f64 (*.f64 3/25 (*.f64 x x))) (neg.f64 (*.f64 3/25 (*.f64 x x)))) (neg.f64 (*.f64 3/25 (*.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (neg.f64 (*.f64 3/25 (*.f64 x x))) (neg.f64 (*.f64 3/25 (*.f64 x x))))) (-.f64 1 (neg.f64 (*.f64 3/25 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (neg.f64 (*.f64 3/25 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 1 (*.f64 3/25 (*.f64 x x)))))))))

simplify160.0ms (2.1%)

Algorithm
egg-herbie
Rules
844×unswap-sqr_binary64
773×fma-neg_binary64
733×distribute-rgt-neg-in_binary64
726×distribute-lft-neg-in_binary64
608×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
013434
129279
269279
3221279
4955279
52130279
64299279
77116279
Stop Event
node limit
Counts
88 → 61
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
1
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
Outputs
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (*.f64 x x))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (*.f64 x x))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (*.f64 x x))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (*.f64 x x))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (*.f64 x x))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (*.f64 x x))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (*.f64 x x))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (*.f64 x x))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (*.f64 x x))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (*.f64 x x))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (*.f64 x x))
(*.f64 (sqrt.f64 3/25) (pow.f64 x 2))
(*.f64 (sqrt.f64 3/25) (*.f64 x x))
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))
(*.f64 x (*.f64 x 3/25))
(*.f64 (*.f64 x x) 3/25)
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))
(*.f64 x (*.f64 x 3/25))
(*.f64 (*.f64 x x) 3/25)
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))
(*.f64 x (*.f64 x 3/25))
(*.f64 (*.f64 x x) 3/25)
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))
(*.f64 x (*.f64 x 3/25))
(*.f64 (*.f64 x x) 3/25)
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))
(*.f64 x (*.f64 x 3/25))
(*.f64 (*.f64 x x) 3/25)
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))
(*.f64 x (*.f64 x 3/25))
(*.f64 (*.f64 x x) 3/25)
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))
(*.f64 x (*.f64 x 3/25))
(*.f64 (*.f64 x x) 3/25)
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))
(*.f64 x (*.f64 x 3/25))
(*.f64 (*.f64 x x) 3/25)
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))
(*.f64 x (*.f64 x 3/25))
(*.f64 (*.f64 x x) 3/25)
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))
(*.f64 x (*.f64 x 3/25))
(*.f64 (*.f64 x x) 3/25)
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))
(*.f64 x (*.f64 x 3/25))
(*.f64 (*.f64 x x) 3/25)
(*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))
(*.f64 x (*.f64 x 3/25))
(*.f64 (*.f64 x x) 3/25)
1
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2)))
(neg.f64 (*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2)))
(*.f64 (*.f64 x x) -3/25)
(*.f64 x (*.f64 x -3/25))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2)))
(neg.f64 (*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2)))
(*.f64 (*.f64 x x) -3/25)
(*.f64 x (*.f64 x -3/25))
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)
(+.f64 1 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 3/25) 2) (pow.f64 x 2))))
(+.f64 1 (neg.f64 (*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 3/25) 2))))
(fma.f64 -3/25 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -3/25 1)
(fma.f64 x (*.f64 x -3/25) 1)

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 -253/1000 x)
0.1b
(*.f64 -253/1000 x)
Compiler

Compiled 6 to 4 computations (33.3% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 -253/1000 x)
0.0ms
x
@-inf
(*.f64 -253/1000 x)
0.0ms
x
@inf
(*.f64 -253/1000 x)

rewrite34.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
044
1804
28754
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(*.f64 -253/1000 x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 -253/1000 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -253/1000 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) -253/500))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) -253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (exp.f64 x) -253/2000)) (log.f64 (pow.f64 (exp.f64 x) -253/2000)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 -253/1000 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 (*.f64 -253/1000 x)) 3) 1) (+.f64 (*.f64 (+.f64 1 (*.f64 -253/1000 x)) (+.f64 1 (*.f64 -253/1000 x))) (+.f64 1 (*.f64 (+.f64 1 (*.f64 -253/1000 x)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 1 (*.f64 -253/1000 x)) (+.f64 1 (*.f64 -253/1000 x))) 1) (+.f64 (+.f64 1 (*.f64 -253/1000 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -253/1000 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x x) 64009/1000000) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 -253/1000 x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -253/1000 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 -253/1000 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 -253/1000 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 -253/1000 x))) 2)) (cbrt.f64 (log.f64 (*.f64 -253/1000 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 -253/1000 x)))) (sqrt.f64 (log.f64 (*.f64 -253/1000 x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 x x) 64009/1000000))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 -253/1000 x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) -253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 -253/1000 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -253/1000 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -253/1000 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 -253/1000 x) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 -253/1000 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 -253/1000 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -253/1000 x)))))))

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 -3/25 (*.f64 x x))
0.2b
(*.f64 -3/25 (*.f64 x x))
Compiler

Compiled 11 to 5 computations (54.5% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 -3/25 (*.f64 x x))
0.0ms
x
@inf
(*.f64 -3/25 (*.f64 x x))
0.0ms
x
@-inf
(*.f64 -3/25 (*.f64 x x))

rewrite33.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
432×pow1_binary64
422×add-sqr-sqrt_binary64
411×*-un-lft-identity_binary64
403×add-log-exp_binary64
403×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11027
211487
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 -3/25 (*.f64 x x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -3/25 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -3/25) (*.f64 x x))) (cbrt.f64 (pow.f64 (exp.f64 -3/25) (*.f64 x x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -3/25) (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -3/25) (*.f64 x x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -3/25) (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 -3/25 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -3/25 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 -3/25 (*.f64 x x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -3/25 (*.f64 x x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sqrt.f64 -3/25)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 9/625 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -3/25) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 -3/25 (*.f64 x x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -3/25 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -3/25 (*.f64 x x))))))))

simplify137.0ms (1.8%)

Algorithm
egg-herbie
Rules
1106×sqr-pow_binary64
618×cube-prod_binary64
552×fabs-mul_binary64
536×pow-sqr_binary64
445×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0684
11284
22384
34484
410784
533684
6123784
7211384
8227784
9246184
10266984
11296084
12335384
13383384
14439684
15507884
16591584
17630784
18659384
19686784
20693984
21697584
22791684
Stop Event
node limit
Counts
26 → 16
Calls
Call 1
Inputs
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (pow.f64 x 2))
Outputs
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))

localize25.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000)))
0.1b
(*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000))
0.0b
(+.f64 (*.f64 x 3/25) 253/1000)
0.0b
(-.f64 1 (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000))))
0.0b
(+.f64 (*.f64 x 3/25) 253/1000)
0.1b
(*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000))
0.2b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000)))
0.2b
(*.f64 x 3/25)
Compiler

Compiled 47 to 30 computations (36.2% saved)

series5.0ms (0.1%)

Counts
3 → 24
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000)))
1.0ms
x
@0
(*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000))
1.0ms
x
@-inf
(*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000))
1.0ms
x
@inf
(*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000))
0.0ms
x
@0
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000)))

rewrite161.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
468×log-prod_binary64
454×prod-exp_binary64
341×pow-prod-down_binary64
335×exp-prod_binary64
331×prod-diff_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
120023
2256623
Stop Event
node limit
Counts
3 → 176
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000)))
(*.f64 (sqrt.f64 x) (+.f64 (*.f64 x 3/25) 253/1000))
(+.f64 (*.f64 x 3/25) 253/1000)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x 3/25) x) (*.f64 253/1000 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 253/1000 x) (*.f64 (*.f64 x 3/25) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 3/25 (pow.f64 x 3/2)) (sqrt.f64 x)) (*.f64 (*.f64 (sqrt.f64 x) 253/1000) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 3/25)) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 x) (*.f64 3/25 (pow.f64 x 3/2))) (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3/25 253/1000))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3/25 253/1000)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000)) (-.f64 (fma.f64 (*.f64 x x) 9/625 64009/1000000) (*.f64 x 759/25000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (fma.f64 (*.f64 x x) 9/625 -64009/1000000)) (fma.f64 x 3/25 -253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 x 3/25 253/1000) 3) (pow.f64 x 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 (fma.f64 x 3/25 253/1000)) (cbrt.f64 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000))))) (sqrt.f64 (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (fma.f64 x 3/25 253/1000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 x 3/25) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 253/1000 (*.f64 x (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 3/25 (pow.f64 x 3/2)) (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 3/25) x (*.f64 253/1000 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 253/1000 x (*.f64 (*.f64 x 3/25) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3/25 (pow.f64 x 3/2)) (sqrt.f64 x) (*.f64 (*.f64 (sqrt.f64 x) 253/1000) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3/25 253/1000)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 x 3/25 253/1000))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x) 1/2) (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 x)) 1) (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sqrt.f64 x)) (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x) 1/2) (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 x)) 1) (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1) (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (fma.f64 x 3/25 253/1000)) (*.f64 (log.f64 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1) (*.f64 (log.f64 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))) 1) (log.f64 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))) (*.f64 (log.f64 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))) 1) (*.f64 (log.f64 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))) (*.f64 (log.f64 (sqrt.f64 x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))) 1) (*.f64 (log.f64 (sqrt.f64 x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (fma.f64 x 3/25 253/1000))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3/25 (pow.f64 x 3/2)) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 x) 253/1000) (*.f64 3/25 (pow.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 3/25 (pow.f64 x 3/2)) 1) (*.f64 (*.f64 (sqrt.f64 x) 253/1000) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 x)) (fma.f64 x 3/25 253/1000))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 x)) (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 x)) (fma.f64 x 3/25 253/1000)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 x)) (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 3/25 (pow.f64 x 3/2)) 3) (pow.f64 (*.f64 (sqrt.f64 x) 253/1000) 3)) (+.f64 (*.f64 (*.f64 (*.f64 x x) 9/625) x) (-.f64 (pow.f64 (*.f64 (sqrt.f64 x) 253/1000) 2) (*.f64 (*.f64 3/25 (pow.f64 x 3/2)) (*.f64 (sqrt.f64 x) 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) 9/625) x) (pow.f64 (*.f64 (sqrt.f64 x) 253/1000) 2)) (-.f64 (*.f64 3/25 (pow.f64 x 3/2)) (*.f64 (sqrt.f64 x) 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000) (sqrt.f64 x)) (-.f64 (fma.f64 (*.f64 x x) 9/625 64009/1000000) (*.f64 x 759/25000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (*.f64 x x) 9/625 -64009/1000000) (sqrt.f64 x)) (fma.f64 x 3/25 -253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 x) (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000)) (-.f64 (fma.f64 (*.f64 x x) 9/625 64009/1000000) (*.f64 x 759/25000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 x) (fma.f64 (*.f64 x x) 9/625 -64009/1000000)) (fma.f64 x 3/25 -253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (pow.f64 (fma.f64 x 3/25 253/1000) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 x (pow.f64 (fma.f64 x 3/25 253/1000) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 x)) (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 3/25 (sqrt.f64 x)) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 x 3/25) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) 253/1000 (*.f64 3/25 (pow.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3/25 (pow.f64 x 3/2) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 3/25) (sqrt.f64 x) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 253/1000 (sqrt.f64 x) (*.f64 3/25 (pow.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 3/25 (pow.f64 x 3/2)) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sqrt.f64 x) 253/1000) (*.f64 3/25 (pow.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 3/2) 3/25 (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 9/625)) (*.f64 (cbrt.f64 (*.f64 x 3/25)) (sqrt.f64 x)) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (pow.f64 x 1/6) 253/1000) (*.f64 3/25 (pow.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (pow.f64 x 1/6) (*.f64 x 3/25)) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 3/25)) (pow.f64 (*.f64 (*.f64 x 3/25) x) 1/2) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 1/4) (*.f64 (pow.f64 x 1/4) 253/1000) (*.f64 3/25 (pow.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 1/4) (*.f64 (pow.f64 x 1/4) (*.f64 x 3/25)) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3/25 (pow.f64 x 3/2)) 1 (*.f64 (*.f64 (sqrt.f64 x) 253/1000) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) 253/1000)) 2) (cbrt.f64 (*.f64 (sqrt.f64 x) 253/1000)) (*.f64 3/25 (pow.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 3/25 (pow.f64 x 3/2))) 2) (cbrt.f64 (*.f64 3/25 (pow.f64 x 3/2))) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 x) 253/1000)) (sqrt.f64 (*.f64 (sqrt.f64 x) 253/1000)) (*.f64 3/25 (pow.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 3/25 (pow.f64 x 3/2))) (sqrt.f64 (*.f64 3/25 (pow.f64 x 3/2))) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 x) 3/25) x (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 253/1000 (cbrt.f64 x)) (pow.f64 x 1/6) (*.f64 3/25 (pow.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 253/1000 (pow.f64 x 1/4)) (pow.f64 x 1/4) (*.f64 3/25 (pow.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 x) (cbrt.f64 (*.f64 (*.f64 x x) 9/625))) (cbrt.f64 (*.f64 x 3/25)) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 x (*.f64 x 3/25)) 1/2) (sqrt.f64 (*.f64 x 3/25)) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x 3/25) (cbrt.f64 x)) (pow.f64 x 1/6) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x 3/25) (pow.f64 x 1/4)) (pow.f64 x 1/4) (*.f64 (sqrt.f64 x) 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x) 1/2) (log.f64 (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 x)) 1) (log.f64 (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sqrt.f64 x)) (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x) 1/2) (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 x)) 1) (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1) (log.f64 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (fma.f64 x 3/25 253/1000)) (*.f64 (log.f64 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1) (*.f64 (log.f64 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (fma.f64 x 3/25 253/1000)) (*.f64 (log.f64 (sqrt.f64 x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1) (*.f64 (log.f64 (sqrt.f64 x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 x) (fma.f64 x 3/25 253/1000))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x 3/25 253/1000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 x x) 9/625) (fma.f64 x 3/25 -253/1000)) (/.f64 64009/1000000 (fma.f64 x 3/25 -253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x 3/25 253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x 3/25 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x 3/25 253/1000)) (pow.f64 (cbrt.f64 (fma.f64 x 3/25 253/1000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x 3/25 253/1000)) 2) (cbrt.f64 (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x 3/25 253/1000)) (sqrt.f64 (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000) (/.f64 1 (-.f64 (fma.f64 (*.f64 x x) 9/625 64009/1000000) (*.f64 x 759/25000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 x x) 9/625 -64009/1000000) (/.f64 1 (fma.f64 x 3/25 -253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 (*.f64 x x) 9/625 64009/1000000) (*.f64 x 759/25000)) (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x 3/25 -253/1000) (fma.f64 (*.f64 x x) 9/625 -64009/1000000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000) (-.f64 (fma.f64 (*.f64 x x) 9/625 64009/1000000) (*.f64 x 759/25000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000) (+.f64 64009/1000000 (-.f64 (*.f64 (*.f64 x x) 9/625) (*.f64 x 759/25000))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 x x) 9/625 -64009/1000000) (fma.f64 x 3/25 -253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000)) (neg.f64 (-.f64 (fma.f64 (*.f64 x x) 9/625 64009/1000000) (*.f64 x 759/25000))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (*.f64 x x) 9/625 -64009/1000000)) (neg.f64 (fma.f64 x 3/25 -253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (-.f64 253/1000 (*.f64 x 3/25)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x 3/25 253/1000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x 3/25 253/1000) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x 3/25 253/1000) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x 3/25 253/1000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x 3/25 253/1000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 (*.f64 x x) 9/625 64009/1000000) (*.f64 x 759/25000)) (fma.f64 (pow.f64 x 3) 27/15625 16194277/1000000000)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x 3/25 -253/1000) (fma.f64 (*.f64 x x) 9/625 -64009/1000000)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x 3/25 253/1000))) 2)) (cbrt.f64 (log.f64 (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x 3/25 253/1000)))) (sqrt.f64 (log.f64 (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x 3/25 253/1000) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x 3/25 253/1000))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x 3/25 253/1000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 3/25 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 3/25) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3/25 x 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 3/25) 1 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x 3/25) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x 3/25)) (cbrt.f64 (*.f64 (*.f64 x x) 9/625)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 9/625)) (cbrt.f64 (*.f64 x 3/25)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) 3/25) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 3/25)) (sqrt.f64 (*.f64 x 3/25)) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3/25 (sqrt.f64 x)) (sqrt.f64 x) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3/25 (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) 253/1000)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x 3/25 253/1000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 x 3/25 253/1000) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x 3/25 253/1000))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x 3/25 253/1000))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x 3/25 253/1000)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x 3/25 253/1000)))))))

simplify52.0ms (0.7%)

Algorithm
egg-herbie
Rules
814×unswap-sqr_binary64
792×fma-neg_binary64
599×distribute-rgt-neg-in_binary64
514×distribute-lft-neg-in_binary64
421×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
021189
145171
2101144
3247144
41072144
52279144
64368144
76340144
Stop Event
node limit
Counts
200 → 187
Calls
Call 1
Inputs
(*.f64 253/1000 x)
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(*.f64 3/25 (pow.f64 x 2))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(*.f64 -3/25 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 x 2)))
(+.f64 (*.f64 -3/25 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 x 2))) (*.f64 -253/1000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)))
(+.f64 (*.f64 -3/25 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 x 2))) (*.f64 -253/1000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)))
(+.f64 (*.f64 -3/25 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 x 2))) (*.f64 -253/1000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)))
253/1000
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(*.f64 3/25 x)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 3/25 x))
Outputs
(*.f64 253/1000 x)
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 253/1000 x (*.f64 x (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 253/1000 x (*.f64 x (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 253/1000 x (*.f64 x (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(*.f64 3/25 (pow.f64 x 2))
(*.f64 3/25 (*.f64 x x))
(*.f64 x (*.f64 x 3/25))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 253/1000 x (*.f64 x (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 253/1000 x (*.f64 x (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(+.f64 (*.f64 253/1000 x) (*.f64 3/25 (pow.f64 x 2)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 253/1000 x (*.f64 x (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(*.f64 -3/25 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 x 2)))
(*.f64 3/25 (*.f64 x x))
(*.f64 x (*.f64 x 3/25))
(+.f64 (*.f64 -3/25 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 x 2))) (*.f64 -253/1000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 253/1000 x (*.f64 x (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(+.f64 (*.f64 -3/25 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 x 2))) (*.f64 -253/1000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 253/1000 x (*.f64 x (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
(+.f64 (*.f64 -3/25 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 x 2))) (*.f64 -253/1000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)))
(fma.f64 253/1000 x (*.f64 3/25 (*.f64 x x)))
(fma.f64 253/1000 x (*.f64 x (*.f64 x 3/25)))
(*.f64 x (fma.f64 x 3/25 253/1000))
253/1000
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 x 3/25))
(fma.f64 x 3/25 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 x 3/25))
(fma.f64 x 3/25 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 x 3/25))
(fma.f64 x 3/25 253/1000)
(*.f64 3/25 x)
(*.f64 x 3/25)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 x 3/25))
(fma.f64 x 3/25 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 x 3/25))
(fma.f64 x 3/25 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 x 3/25))
(fma.f64 x 3/25 253/1000)
(*.f64 3/25 x)
(*.f64 x 3/25)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 x 3/25))
(fma.f64 x 3/25 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 x 3/25))
(fma.f64 x 3/25 253/1000)
(+.f64 253/1000 (*.f64 3/25 x))
(+.f64 253/1000 (*.f64 x 3/25))
(fma.f64 x 3/25 253/1000)

localize49.0ms (0.6%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x))
0.1b
(fma.f64 x 3/25 253/1000)
0.0b
(-.f64 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2) (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))
0.0b
(+.f64 1 (-.f64 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2) (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x))))
0.1b
(*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x))
0.2b
(pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)
0.3b
(pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2)
17.8b
(/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)) (+.f64 1 (-.f64 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2) (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))))
Compiler

Compiled 116 to 80 computations (31% saved)

series13.0ms (0.2%)

Counts
4 → 48
Calls

12 calls:

TimeVariablePointExpression
4.0ms
x
@0
(/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)) (+.f64 1 (-.f64 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2) (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))))
3.0ms
x
@inf
(pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)
1.0ms
x
@inf
(/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)) (+.f64 1 (-.f64 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2) (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))))
1.0ms
x
@-inf
(/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)) (+.f64 1 (-.f64 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2) (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))))
0.0ms
x
@0
(*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x))

rewrite90.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
706×log-prod_binary64
673×fma-def_binary64
379×fma-neg_binary64
264×expm1-udef_binary64
264×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01682
137570
2498766
Stop Event
node limit
Counts
4 → 139
Calls
Call 1
Inputs
(/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)) (+.f64 1 (-.f64 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2) (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))))
(pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 2)
(pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)
(*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)))) (cbrt.f64 (exp.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (/.f64 1 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) 2) (*.f64 (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) (/.f64 1 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))) 2) (cbrt.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2)) (*.f64 (hypot.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2)) (/.f64 1 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2)) (sqrt.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))) (/.f64 (hypot.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2)) (sqrt.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3) -1) (/.f64 1 (neg.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)) (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) 2) 1) (/.f64 (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2)) 1) (/.f64 (hypot.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1) 2))) (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (cbrt.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) 2) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1) 2))) (cbrt.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2)) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1) 2))) (/.f64 (hypot.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2)) (cbrt.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))) (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (sqrt.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) 2) (sqrt.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))) (/.f64 (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) (sqrt.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (+.f64 1 (pow.f64 (*.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1)) 3))) (fma.f64 (*.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (-.f64 1 (pow.f64 (*.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1)) 2))) (-.f64 1 (*.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2)) (sqrt.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1) (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (neg.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) 3) (pow.f64 (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log1p.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (log1p.f64 (*.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log1p.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (log1p.f64 (*.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) (fma.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 (fma.f64 3/25 x 253/1000) x 1) 1))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 3/25 x 253/1000) (*.f64 x (*.f64 (fma.f64 3/25 x 253/1000) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (fma.f64 3/25 x 253/1000) (*.f64 (fma.f64 3/25 x 253/1000) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (*.f64 (fma.f64 3/25 x 253/1000) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) 2) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) 2) (*.f64 (cbrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) (*.f64 (fma.f64 3/25 x 253/1000) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 4)) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 3/25 x 253/1000) 2) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) (pow.f64 (fma.f64 3/25 x 253/1000) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2) (sqrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (fma.f64 3/25 x 253/1000)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) x) (fma.f64 3/25 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) 2)) (cbrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2))) (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)))) (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (*.f64 (fma.f64 3/25 x 253/1000) x)) (hypot.f64 1 (*.f64 (fma.f64 3/25 x 253/1000) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 3/25 x 253/1000) (*.f64 x (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (fma.f64 3/25 x 253/1000) (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2) (*.f64 (fma.f64 3/25 x 253/1000) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) 2) (*.f64 (cbrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 4)) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) 2) (*.f64 (fma.f64 3/25 x 253/1000) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) (*.f64 (sqrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 3/25 x 253/1000) 2) (*.f64 (*.f64 x x) (*.f64 (fma.f64 3/25 x 253/1000) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 3/25 x 253/1000) 3) (pow.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 3) (pow.f64 (fma.f64 3/25 x 253/1000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2) (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) 3) (pow.f64 (sqrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 4))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) (pow.f64 (fma.f64 3/25 x 253/1000) 2)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2) (fma.f64 3/25 x 253/1000)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2) x) (fma.f64 3/25 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) 2)) (cbrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2) (sqrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x))) (sqrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (exp.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 9))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) 2) (cbrt.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2)) (hypot.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 9)) (/.f64 1 (+.f64 1 (+.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 6) (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 6)) (/.f64 1 (+.f64 1 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 3/25 x 253/1000) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 3/25 x 253/1000) x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fma.f64 3/25 x 253/1000) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 3/25 x) x) (*.f64 253/1000 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 3/25 x)) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 3/25 x 253/1000)) x)) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 3/25 x 253/1000)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 3/25 x 253/1000)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 3/25 x 253/1000)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 3/25 x 253/1000)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (fma.f64 3/25 x 253/1000) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 3/25 x 253/1000) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (fma.f64 3/25 x 253/1000) x))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (fma.f64 3/25 x 253/1000) x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 3/25 x 253/1000)) x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 3/25 x 253/1000) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/25 x 253/1000) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 3/25 x) (*.f64 x 253/1000))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3/25 x) x (*.f64 253/1000 x))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 3/25 x 253/1000) x)))))))

simplify136.0ms (1.8%)

Algorithm
egg-herbie
Rules
538×fma-def_binary64
533×distribute-rgt-out_binary64
500×distribute-lft-out_binary64
492×unswap-sqr_binary64
486×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
044644
1109630
2257612
3778551
42744547
55022547
66425547
76768547
87052547
97423547
107911547
Stop Event
node limit
Counts
187 → 171
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -253/1000 x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(*.f64 -3/25 (pow.f64 x 2))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(*.f64 -3/25 (pow.f64 x 2))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(*.f64 64009/1000000 (pow.f64 x 2))
(+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3)))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3))))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3))))
(*.f64 9/625 (pow.f64 x 4))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (*.f64 759/12500 (pow.f64 x 3)))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3))))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3))))
(*.f64 9/625 (pow.f64 x 4))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (*.f64 759/12500 (pow.f64 x 3)))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3))))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3))))
(*.f64 -16194277/1000000000 (pow.f64 x 3))
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (*.f64 -16194277/1000000000 (pow.f64 x 3)))
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (+.f64 (*.f64 -16194277/1000000000 (pow.f64 x 3)) (*.f64 -6831/625000 (pow.f64 x 5))))
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (+.f64 (*.f64 -16194277/1000000000 (pow.f64 x 3)) (*.f64 -6831/625000 (pow.f64 x 5)))))
(*.f64 -27/15625 (pow.f64 x 6))
(+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (*.f64 -6831/625000 (pow.f64 x 5)))
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (*.f64 -6831/625000 (pow.f64 x 5))))
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (+.f64 (*.f64 -16194277/1000000000 (pow.f64 x 3)) (*.f64 -6831/625000 (pow.f64 x 5)))))
(*.f64 -27/15625 (pow.f64 x 6))
(+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (*.f64 -6831/625000 (pow.f64 x 5)))
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (*.f64 -6831/625000 (pow.f64 x 5))))
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (+.f64 (*.f64 -16194277/1000000000 (pow.f64 x 3)) (*.f64 -6831/625000 (pow.f64 x 5)))))
(*.f64 -253/1000 x)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(*.f64 -3/25 (pow.f64 x 2))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(*.f64 -3/25 (pow.f64 x 2))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
Outputs
1
(+.f64 1 (*.f64 -253/1000 x))
(fma.f64 -253/1000 x 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (fma.f64 -253/1000 x 1))
(fma.f64 x (*.f64 x -3/25) (fma.f64 -253/1000 x 1))
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (fma.f64 -253/1000 x 1))
(fma.f64 x (*.f64 x -3/25) (fma.f64 -253/1000 x 1))
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 x -3/25))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(fma.f64 -3/25 (*.f64 x x) (*.f64 -253/1000 x))
(fma.f64 -253/1000 x (*.f64 x (*.f64 x -3/25)))
(*.f64 x (+.f64 (*.f64 x -3/25) -253/1000))
(*.f64 x (fma.f64 x -3/25 -253/1000))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (fma.f64 -253/1000 x 1))
(fma.f64 x (*.f64 x -3/25) (fma.f64 -253/1000 x 1))
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (fma.f64 -253/1000 x 1))
(fma.f64 x (*.f64 x -3/25) (fma.f64 -253/1000 x 1))
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 x -3/25))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(fma.f64 -3/25 (*.f64 x x) (*.f64 -253/1000 x))
(fma.f64 -253/1000 x (*.f64 x (*.f64 x -3/25)))
(*.f64 x (+.f64 (*.f64 x -3/25) -253/1000))
(*.f64 x (fma.f64 x -3/25 -253/1000))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (fma.f64 -253/1000 x 1))
(fma.f64 x (*.f64 x -3/25) (fma.f64 -253/1000 x 1))
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (+.f64 1 (*.f64 -253/1000 x)))
(fma.f64 -3/25 (*.f64 x x) (fma.f64 -253/1000 x 1))
(fma.f64 x (*.f64 x -3/25) (fma.f64 -253/1000 x 1))
(fma.f64 x (fma.f64 x -3/25 -253/1000) 1)
(*.f64 64009/1000000 (pow.f64 x 2))
(*.f64 (*.f64 x x) 64009/1000000)
(*.f64 x (*.f64 x 64009/1000000))
(+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3)))
(fma.f64 64009/1000000 (*.f64 x x) (*.f64 759/12500 (pow.f64 x 3)))
(fma.f64 (*.f64 x x) 64009/1000000 (*.f64 759/12500 (pow.f64 x 3)))
(*.f64 (*.f64 x x) (+.f64 64009/1000000 (*.f64 x 759/12500)))
(*.f64 (*.f64 x x) (fma.f64 x 759/12500 64009/1000000))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (fma.f64 64009/1000000 (*.f64 x x) (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (fma.f64 (*.f64 x x) 64009/1000000 (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 (*.f64 x x) (+.f64 64009/1000000 (*.f64 x 759/12500))))
(fma.f64 x (*.f64 x (fma.f64 x 759/12500 64009/1000000)) (*.f64 9/625 (pow.f64 x 4)))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 (*.f64 x x) (fma.f64 x 759/12500 64009/1000000)))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (fma.f64 64009/1000000 (*.f64 x x) (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (fma.f64 (*.f64 x x) 64009/1000000 (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 (*.f64 x x) (+.f64 64009/1000000 (*.f64 x 759/12500))))
(fma.f64 x (*.f64 x (fma.f64 x 759/12500 64009/1000000)) (*.f64 9/625 (pow.f64 x 4)))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 (*.f64 x x) (fma.f64 x 759/12500 64009/1000000)))
(*.f64 9/625 (pow.f64 x 4))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (*.f64 759/12500 (pow.f64 x 3)))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 759/12500 (pow.f64 x 3)))
(fma.f64 759/12500 (pow.f64 x 3) (*.f64 9/625 (pow.f64 x 4)))
(*.f64 (pow.f64 x 3) (+.f64 759/12500 (*.f64 x 9/625)))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (fma.f64 64009/1000000 (*.f64 x x) (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (fma.f64 (*.f64 x x) 64009/1000000 (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 (*.f64 x x) (+.f64 64009/1000000 (*.f64 x 759/12500))))
(fma.f64 x (*.f64 x (fma.f64 x 759/12500 64009/1000000)) (*.f64 9/625 (pow.f64 x 4)))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 (*.f64 x x) (fma.f64 x 759/12500 64009/1000000)))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (fma.f64 64009/1000000 (*.f64 x x) (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (fma.f64 (*.f64 x x) 64009/1000000 (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 (*.f64 x x) (+.f64 64009/1000000 (*.f64 x 759/12500))))
(fma.f64 x (*.f64 x (fma.f64 x 759/12500 64009/1000000)) (*.f64 9/625 (pow.f64 x 4)))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 (*.f64 x x) (fma.f64 x 759/12500 64009/1000000)))
(*.f64 9/625 (pow.f64 x 4))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (*.f64 759/12500 (pow.f64 x 3)))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 759/12500 (pow.f64 x 3)))
(fma.f64 759/12500 (pow.f64 x 3) (*.f64 9/625 (pow.f64 x 4)))
(*.f64 (pow.f64 x 3) (+.f64 759/12500 (*.f64 x 9/625)))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (fma.f64 64009/1000000 (*.f64 x x) (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (fma.f64 (*.f64 x x) 64009/1000000 (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 (*.f64 x x) (+.f64 64009/1000000 (*.f64 x 759/12500))))
(fma.f64 x (*.f64 x (fma.f64 x 759/12500 64009/1000000)) (*.f64 9/625 (pow.f64 x 4)))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 (*.f64 x x) (fma.f64 x 759/12500 64009/1000000)))
(+.f64 (*.f64 9/625 (pow.f64 x 4)) (+.f64 (*.f64 64009/1000000 (pow.f64 x 2)) (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (fma.f64 64009/1000000 (*.f64 x x) (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (fma.f64 (*.f64 x x) 64009/1000000 (*.f64 759/12500 (pow.f64 x 3))))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 (*.f64 x x) (+.f64 64009/1000000 (*.f64 x 759/12500))))
(fma.f64 x (*.f64 x (fma.f64 x 759/12500 64009/1000000)) (*.f64 9/625 (pow.f64 x 4)))
(fma.f64 9/625 (pow.f64 x 4) (*.f64 (*.f64 x x) (fma.f64 x 759/12500 64009/1000000)))
(*.f64 -16194277/1000000000 (pow.f64 x 3))
(*.f64 (pow.f64 x 3) -16194277/1000000000)
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (*.f64 -16194277/1000000000 (pow.f64 x 3)))
(fma.f64 -576081/25000000 (pow.f64 x 4) (*.f64 (pow.f64 x 3) -16194277/1000000000))
(fma.f64 (pow.f64 x 3) -16194277/1000000000 (*.f64 (pow.f64 x 4) -576081/25000000))
(*.f64 (pow.f64 x 3) (+.f64 -16194277/1000000000 (*.f64 x -576081/25000000)))
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (+.f64 (*.f64 -16194277/1000000000 (pow.f64 x 3)) (*.f64 -6831/625000 (pow.f64 x 5))))
(fma.f64 -576081/25000000 (pow.f64 x 4) (fma.f64 -16194277/1000000000 (pow.f64 x 3) (*.f64 -6831/625000 (pow.f64 x 5))))
(fma.f64 (pow.f64 x 4) -576081/25000000 (fma.f64 (pow.f64 x 3) -16194277/1000000000 (*.f64 -6831/625000 (pow.f64 x 5))))
(fma.f64 (pow.f64 x 3) -16194277/1000000000 (fma.f64 -6831/625000 (pow.f64 x 5) (*.f64 (pow.f64 x 4) -576081/25000000)))
(fma.f64 -6831/625000 (pow.f64 x 5) (*.f64 (pow.f64 x 3) (+.f64 -16194277/1000000000 (*.f64 x -576081/25000000))))
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (+.f64 (*.f64 -16194277/1000000000 (pow.f64 x 3)) (*.f64 -6831/625000 (pow.f64 x 5)))))
(fma.f64 -576081/25000000 (pow.f64 x 4) (fma.f64 -27/15625 (pow.f64 x 6) (fma.f64 -16194277/1000000000 (pow.f64 x 3) (*.f64 -6831/625000 (pow.f64 x 5)))))
(fma.f64 (pow.f64 x 4) -576081/25000000 (fma.f64 -27/15625 (pow.f64 x 6) (fma.f64 (pow.f64 x 3) -16194277/1000000000 (*.f64 -6831/625000 (pow.f64 x 5)))))
(fma.f64 (pow.f64 x 4) -576081/25000000 (fma.f64 -6831/625000 (pow.f64 x 5) (fma.f64 (pow.f64 x 3) -16194277/1000000000 (*.f64 -27/15625 (pow.f64 x 6)))))
(fma.f64 -6831/625000 (pow.f64 x 5) (*.f64 (pow.f64 x 3) (+.f64 (fma.f64 (pow.f64 x 3) -27/15625 -16194277/1000000000) (*.f64 x -576081/25000000))))
(fma.f64 -6831/625000 (pow.f64 x 5) (fma.f64 -27/15625 (pow.f64 x 6) (*.f64 (pow.f64 x 3) (+.f64 -16194277/1000000000 (*.f64 x -576081/25000000)))))
(*.f64 -27/15625 (pow.f64 x 6))
(+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (*.f64 -6831/625000 (pow.f64 x 5)))
(fma.f64 -27/15625 (pow.f64 x 6) (*.f64 -6831/625000 (pow.f64 x 5)))
(fma.f64 -6831/625000 (pow.f64 x 5) (*.f64 -27/15625 (pow.f64 x 6)))
(*.f64 (pow.f64 x 5) (+.f64 -6831/625000 (*.f64 x -27/15625)))
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (*.f64 -6831/625000 (pow.f64 x 5))))
(fma.f64 -576081/25000000 (pow.f64 x 4) (fma.f64 -27/15625 (pow.f64 x 6) (*.f64 -6831/625000 (pow.f64 x 5))))
(fma.f64 (pow.f64 x 4) -576081/25000000 (fma.f64 -6831/625000 (pow.f64 x 5) (*.f64 -27/15625 (pow.f64 x 6))))
(fma.f64 -6831/625000 (pow.f64 x 5) (fma.f64 -27/15625 (pow.f64 x 6) (*.f64 (pow.f64 x 4) -576081/25000000)))
(fma.f64 (pow.f64 x 4) -576081/25000000 (*.f64 (pow.f64 x 5) (+.f64 -6831/625000 (*.f64 x -27/15625))))
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (+.f64 (*.f64 -16194277/1000000000 (pow.f64 x 3)) (*.f64 -6831/625000 (pow.f64 x 5)))))
(fma.f64 -576081/25000000 (pow.f64 x 4) (fma.f64 -27/15625 (pow.f64 x 6) (fma.f64 -16194277/1000000000 (pow.f64 x 3) (*.f64 -6831/625000 (pow.f64 x 5)))))
(fma.f64 (pow.f64 x 4) -576081/25000000 (fma.f64 -27/15625 (pow.f64 x 6) (fma.f64 (pow.f64 x 3) -16194277/1000000000 (*.f64 -6831/625000 (pow.f64 x 5)))))
(fma.f64 (pow.f64 x 4) -576081/25000000 (fma.f64 -6831/625000 (pow.f64 x 5) (fma.f64 (pow.f64 x 3) -16194277/1000000000 (*.f64 -27/15625 (pow.f64 x 6)))))
(fma.f64 -6831/625000 (pow.f64 x 5) (*.f64 (pow.f64 x 3) (+.f64 (fma.f64 (pow.f64 x 3) -27/15625 -16194277/1000000000) (*.f64 x -576081/25000000))))
(fma.f64 -6831/625000 (pow.f64 x 5) (fma.f64 -27/15625 (pow.f64 x 6) (*.f64 (pow.f64 x 3) (+.f64 -16194277/1000000000 (*.f64 x -576081/25000000)))))
(*.f64 -27/15625 (pow.f64 x 6))
(+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (*.f64 -6831/625000 (pow.f64 x 5)))
(fma.f64 -27/15625 (pow.f64 x 6) (*.f64 -6831/625000 (pow.f64 x 5)))
(fma.f64 -6831/625000 (pow.f64 x 5) (*.f64 -27/15625 (pow.f64 x 6)))
(*.f64 (pow.f64 x 5) (+.f64 -6831/625000 (*.f64 x -27/15625)))
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (*.f64 -6831/625000 (pow.f64 x 5))))
(fma.f64 -576081/25000000 (pow.f64 x 4) (fma.f64 -27/15625 (pow.f64 x 6) (*.f64 -6831/625000 (pow.f64 x 5))))
(fma.f64 (pow.f64 x 4) -576081/25000000 (fma.f64 -6831/625000 (pow.f64 x 5) (*.f64 -27/15625 (pow.f64 x 6))))
(fma.f64 -6831/625000 (pow.f64 x 5) (fma.f64 -27/15625 (pow.f64 x 6) (*.f64 (pow.f64 x 4) -576081/25000000)))
(fma.f64 (pow.f64 x 4) -576081/25000000 (*.f64 (pow.f64 x 5) (+.f64 -6831/625000 (*.f64 x -27/15625))))
(+.f64 (*.f64 -576081/25000000 (pow.f64 x 4)) (+.f64 (*.f64 -27/15625 (pow.f64 x 6)) (+.f64 (*.f64 -16194277/1000000000 (pow.f64 x 3)) (*.f64 -6831/625000 (pow.f64 x 5)))))
(fma.f64 -576081/25000000 (pow.f64 x 4) (fma.f64 -27/15625 (pow.f64 x 6) (fma.f64 -16194277/1000000000 (pow.f64 x 3) (*.f64 -6831/625000 (pow.f64 x 5)))))
(fma.f64 (pow.f64 x 4) -576081/25000000 (fma.f64 -27/15625 (pow.f64 x 6) (fma.f64 (pow.f64 x 3) -16194277/1000000000 (*.f64 -6831/625000 (pow.f64 x 5)))))
(fma.f64 (pow.f64 x 4) -576081/25000000 (fma.f64 -6831/625000 (pow.f64 x 5) (fma.f64 (pow.f64 x 3) -16194277/1000000000 (*.f64 -27/15625 (pow.f64 x 6)))))
(fma.f64 -6831/625000 (pow.f64 x 5) (*.f64 (pow.f64 x 3) (+.f64 (fma.f64 (pow.f64 x 3) -27/15625 -16194277/1000000000) (*.f64 x -576081/25000000))))
(fma.f64 -6831/625000 (pow.f64 x 5) (fma.f64 -27/15625 (pow.f64 x 6) (*.f64 (pow.f64 x 3) (+.f64 -16194277/1000000000 (*.f64 x -576081/25000000)))))
(*.f64 -253/1000 x)
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(fma.f64 -3/25 (*.f64 x x) (*.f64 -253/1000 x))
(fma.f64 -253/1000 x (*.f64 x (*.f64 x -3/25)))
(*.f64 x (+.f64 (*.f64 x -3/25) -253/1000))
(*.f64 x (fma.f64 x -3/25 -253/1000))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(fma.f64 -3/25 (*.f64 x x) (*.f64 -253/1000 x))
(fma.f64 -253/1000 x (*.f64 x (*.f64 x -3/25)))
(*.f64 x (+.f64 (*.f64 x -3/25) -253/1000))
(*.f64 x (fma.f64 x -3/25 -253/1000))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(fma.f64 -3/25 (*.f64 x x) (*.f64 -253/1000 x))
(fma.f64 -253/1000 x (*.f64 x (*.f64 x -3/25)))
(*.f64 x (+.f64 (*.f64 x -3/25) -253/1000))
(*.f64 x (fma.f64 x -3/25 -253/1000))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 x -3/25))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(fma.f64 -3/25 (*.f64 x x) (*.f64 -253/1000 x))
(fma.f64 -253/1000 x (*.f64 x (*.f64 x -3/25)))
(*.f64 x (+.f64 (*.f64 x -3/25) -253/1000))
(*.f64 x (fma.f64 x -3/25 -253/1000))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(fma.f64 -3/25 (*.f64 x x) (*.f64 -253/1000 x))
(fma.f64 -253/1000 x (*.f64 x (*.f64 x -3/25)))
(*.f64 x (+.f64 (*.f64 x -3/25) -253/1000))
(*.f64 x (fma.f64 x -3/25 -253/1000))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(fma.f64 -3/25 (*.f64 x x) (*.f64 -253/1000 x))
(fma.f64 -253/1000 x (*.f64 x (*.f64 x -3/25)))
(*.f64 x (+.f64 (*.f64 x -3/25) -253/1000))
(*.f64 x (fma.f64 x -3/25 -253/1000))
(*.f64 -3/25 (pow.f64 x 2))
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 x -3/25))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(fma.f64 -3/25 (*.f64 x x) (*.f64 -253/1000 x))
(fma.f64 -253/1000 x (*.f64 x (*.f64 x -3/25)))
(*.f64 x (+.f64 (*.f64 x -3/25) -253/1000))
(*.f64 x (fma.f64 x -3/25 -253/1000))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(fma.f64 -3/25 (*.f64 x x) (*.f64 -253/1000 x))
(fma.f64 -253/1000 x (*.f64 x (*.f64 x -3/25)))
(*.f64 x (+.f64 (*.f64 x -3/25) -253/1000))
(*.f64 x (fma.f64 x -3/25 -253/1000))
(+.f64 (*.f64 -3/25 (pow.f64 x 2)) (*.f64 -253/1000 x))
(fma.f64 -3/25 (*.f64 x x) (*.f64 -253/1000 x))
(fma.f64 -253/1000 x (*.f64 x (*.f64 x -3/25)))
(*.f64 x (+.f64 (*.f64 x -3/25) -253/1000))
(*.f64 x (fma.f64 x -3/25 -253/1000))

eval423.0ms (5.5%)

Compiler

Compiled 12646 to 9316 computations (26.3% saved)

prune74.0ms (1%)

Pruning

16 alts after pruning (3 fresh and 13 done)

PrunedKeptTotal
New5483551
Fresh101
Picked101
Done11314
Total55116567
Error
0b
Counts
567 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
25.1b
(-.f64 1 (*.f64 253/1000 x))
0.1b
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
0.2b
(-.f64 1 (*.f64 x (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x))))))
2.7b
(-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 2))
61.4b
(*.f64 -253/1000 x)
8.4b
(-.f64 1 (/.f64 (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x) (+.f64 253/1000 (*.f64 -3/25 x))))
15.6b
(/.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))) (-.f64 1 (*.f64 (*.f64 x x) -3/25)))
38.9b
(*.f64 x (*.f64 x -3/25))
2.6b
(-.f64 1 (*.f64 (sqrt.f64 3/25) (*.f64 x (*.f64 x (sqrt.f64 3/25)))))
26.3b
1
0.1b
(-.f64 1 (+.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25))))
18.1b
(/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (*.f64 x (*.f64 3/25 x)) (*.f64 x 253/1000)) 2) (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))))
2.6b
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
34.4b
(-.f64 1 (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 3/25 x))))
38.9b
(*.f64 -3/25 (*.f64 x x))
0.2b
(-.f64 1 (*.f64 x (/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x)))))
Compiler

Compiled 199 to 151 computations (24.1% saved)

regimes32.0ms (0.4%)

Counts
16 → 1
Calls
Call 1
Inputs
1
(*.f64 -253/1000 x)
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 x -3/25))
(-.f64 1 (*.f64 253/1000 x))
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
(-.f64 1 (+.f64 (*.f64 x 253/1000) (*.f64 x (*.f64 x 3/25))))
(-.f64 1 (*.f64 x (/.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (+.f64 253/1000 (*.f64 -3/25 x)))))
(-.f64 1 (/.f64 (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) x) (+.f64 253/1000 (*.f64 -3/25 x))))
(-.f64 1 (*.f64 x (*.f64 (-.f64 64009/1000000 (*.f64 (*.f64 x x) 9/625)) (/.f64 1 (+.f64 253/1000 (*.f64 -3/25 x))))))
(/.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 x x) -3/25) (*.f64 (*.f64 x x) -3/25))) (-.f64 1 (*.f64 (*.f64 x x) -3/25)))
(-.f64 1 (pow.f64 (*.f64 x (sqrt.f64 3/25)) 2))
(-.f64 1 (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 3/25 x))))
(-.f64 1 (*.f64 (sqrt.f64 3/25) (*.f64 x (*.f64 x (sqrt.f64 3/25)))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (*.f64 x (*.f64 3/25 x)) (*.f64 x 253/1000)) 2) (*.f64 (fma.f64 x 3/25 253/1000) (neg.f64 x)))))
Outputs
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
Calls

3 calls:

10.0ms
(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
9.0ms
x
8.0ms
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
Results
ErrorSegmentsBranch
0.1b1x
0.1b1(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
0.1b1(*.f64 x (+.f64 253/1000 (*.f64 x 3/25)))
Compiler

Compiled 204 to 146 computations (28.4% saved)

regimes6.0ms (0.1%)

Counts
6 → 1
Calls
Call 1
Inputs
1
(*.f64 -253/1000 x)
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 x -3/25))
(-.f64 1 (*.f64 253/1000 x))
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
Outputs
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
Calls

1 calls:

5.0ms
x
Results
ErrorSegmentsBranch
2.6b1x
Compiler

Compiled 29 to 19 computations (34.5% saved)

regimes14.0ms (0.2%)

Counts
5 → 3
Calls
Call 1
Inputs
1
(*.f64 -253/1000 x)
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 x -3/25))
(-.f64 1 (*.f64 253/1000 x))
Outputs
(*.f64 x (*.f64 x -3/25))
(-.f64 1 (*.f64 253/1000 x))
(*.f64 -3/25 (*.f64 x x))
Calls

1 calls:

13.0ms
x
Results
ErrorSegmentsBranch
2.1b3x
Compiler

Compiled 22 to 15 computations (31.8% saved)

bsearch39.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
0.07561304932366755
3.8842121144293134
21.0ms
-59.12902663105794
-3.0827595691772376
Compiler

Compiled 14 to 11 computations (21.4% saved)

regimes13.0ms (0.2%)

Counts
4 → 3
Calls
Call 1
Inputs
1
(*.f64 -253/1000 x)
(*.f64 -3/25 (*.f64 x x))
(*.f64 x (*.f64 x -3/25))
Outputs
(*.f64 x (*.f64 x -3/25))
1
(*.f64 -3/25 (*.f64 x x))
Calls

1 calls:

11.0ms
x
Results
ErrorSegmentsBranch
2.5b3x
Compiler

Compiled 17 to 11 computations (35.3% saved)

bsearch37.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
0.07561304932366755
3.8842121144293134
19.0ms
-59.12902663105794
-3.0827595691772376
Compiler

Compiled 14 to 11 computations (21.4% saved)

regimes11.0ms (0.1%)

Counts
3 → 3
Calls
Call 1
Inputs
1
(*.f64 -253/1000 x)
(*.f64 -3/25 (*.f64 x x))
Outputs
(*.f64 -3/25 (*.f64 x x))
1
(*.f64 -3/25 (*.f64 x x))
Calls

1 calls:

10.0ms
x
Results
ErrorSegmentsBranch
2.5b3x
Compiler

Compiled 12 to 8 computations (33.3% saved)

bsearch36.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
0.07561304932366755
3.8842121144293134
18.0ms
-59.12902663105794
-3.0827595691772376
Compiler

Compiled 14 to 11 computations (21.4% saved)

regimes4.0ms (0.1%)

Accuracy

Total -35.9b remaining (-136.6%)

Threshold costs -35.9b (-136.6%)

Counts
2 → 1
Calls
Call 1
Inputs
1
(*.f64 -253/1000 x)
Outputs
1
Calls

1 calls:

3.0ms
x
Results
ErrorSegmentsBranch
26.3b1x
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
16×*-commutative_binary64
14×+-commutative_binary64
11×sub-neg_binary64
10×distribute-rgt-neg-in_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028111
153111
278111
395111
4110111
5118111
6125111
7127111
8128111
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
(if (<=.f64 x -2080417674237599/35184372088832) (*.f64 x (*.f64 x -3/25)) (if (<=.f64 x 1394814569506472448/18446744073709551616) (-.f64 1 (*.f64 253/1000 x)) (*.f64 -3/25 (*.f64 x x))))
(if (<=.f64 x -2080417674237599/35184372088832) (*.f64 x (*.f64 x -3/25)) (if (<=.f64 x 1394814569506472448/18446744073709551616) 1 (*.f64 -3/25 (*.f64 x x))))
(if (<=.f64 x -2080417674237599/35184372088832) (*.f64 -3/25 (*.f64 x x)) (if (<=.f64 x 1394814569506472448/18446744073709551616) 1 (*.f64 -3/25 (*.f64 x x))))
1
Outputs
(-.f64 1 (*.f64 x (+.f64 253/1000 (*.f64 x 3/25))))
(-.f64 1 (*.f64 3/25 (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 x x) -3/25))
(if (<=.f64 x -2080417674237599/35184372088832) (*.f64 x (*.f64 x -3/25)) (if (<=.f64 x 1394814569506472448/18446744073709551616) (-.f64 1 (*.f64 253/1000 x)) (*.f64 -3/25 (*.f64 x x))))
(if (<=.f64 x -2080417674237599/35184372088832) (*.f64 x (*.f64 x -3/25)) (if (<=.f64 x 2724247206067329/36028797018963968) (+.f64 1 (*.f64 -253/1000 x)) (*.f64 (*.f64 x x) -3/25)))
(if (<=.f64 x -2080417674237599/35184372088832) (*.f64 x (*.f64 x -3/25)) (if (<=.f64 x 2724247206067329/36028797018963968) (+.f64 1 (*.f64 x -253/1000)) (*.f64 (*.f64 x x) -3/25)))
(if (<=.f64 x -2080417674237599/35184372088832) (*.f64 x (*.f64 x -3/25)) (if (<=.f64 x 1394814569506472448/18446744073709551616) 1 (*.f64 -3/25 (*.f64 x x))))
(if (<=.f64 x -2080417674237599/35184372088832) (*.f64 x (*.f64 x -3/25)) (if (<=.f64 x 2724247206067329/36028797018963968) 1 (*.f64 (*.f64 x x) -3/25)))
(if (<=.f64 x -2080417674237599/35184372088832) (*.f64 -3/25 (*.f64 x x)) (if (<=.f64 x 1394814569506472448/18446744073709551616) 1 (*.f64 -3/25 (*.f64 x x))))
(if (<=.f64 x -2080417674237599/35184372088832) (*.f64 (*.f64 x x) -3/25) (if (<=.f64 x 2724247206067329/36028797018963968) 1 (*.f64 (*.f64 x x) -3/25)))
1

end56.0ms (0.7%)

Stop Event
fuel
Compiler

Compiled 163 to 112 computations (31.3% saved)

Profiling

Loading profile data...