Details

Time bar (total: 17.7s)

analyze1.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
99.9%0%0.1%1
Compiler

Compiled 10 to 7 computations (30% saved)

sample5.0s (28.5%)

Results
2.5s4025×body1024valid
2.0s2088×body2048valid
389.0ms1362×body512valid
124.0ms777×body256valid
6.0msbody4096valid

preprocess21.0ms (0.1%)

Algorithm
egg-herbie
Rules
76×fma-def_binary64
57×fma-neg_binary64
27×cancel-sign-sub-inv_binary64
24×sub-neg_binary64
18×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01122
11722
22522
33822
45322
58122
614122
719922
828422
935522
1040722
1141122
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 eps))
Outputs
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 eps))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 eps))
Compiler

Compiled 11 to 8 computations (27.3% saved)

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
39×fma-def_binary64
32×fma-neg_binary64
15×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
11011
21511
32211
43111
54811
68611
712311
816711
920311
1022911
1123111
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Outputs
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))

eval0.0ms (0%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
38.5b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
38.5b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 9 to 6 computations (33.3% saved)

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.9b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
3.8b
(cos.f64 (+.f64 x eps))
Compiler

Compiled 20 to 6 computations (70% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@0
(cos.f64 (+.f64 x eps))
1.0ms
eps
@inf
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
1.0ms
eps
@0
(cos.f64 (+.f64 x eps))
0.0ms
eps
@0
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
0.0ms
x
@0
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))

rewrite76.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
588×unpow-prod-down_binary64
457×fma-def_binary64
445×log-prod_binary64
271×pow-prod-down_binary64
266×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
117417
2276217
Stop Event
node limit
Counts
2 → 183
Calls
Call 1
Inputs
(cos.f64 (+.f64 x eps))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (+.f64 x eps)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (+.f64 x eps)))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (cos.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))) (*.f64 (sin.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (sin.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 (+.f64 x eps)))) 2) 3) (cbrt.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (cos.f64 (+.f64 x eps)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (cos.f64 (+.f64 x eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 (+.f64 x eps)) (cbrt.f64 (cos.f64 (+.f64 x eps)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (sqrt.f64 (cos.f64 (+.f64 x eps)))) 1/3) (cbrt.f64 (sqrt.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 (+.f64 x eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (pow.f64 (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (pow.f64 (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) 1) (pow.f64 (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) 1) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 1/3) (cbrt.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2) -2) 1/3) (cbrt.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2) 3) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 -2) 2) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) (neg.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) (neg.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (cos.f64 x)) 3)) (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (-.f64 (pow.f64 (neg.f64 (cos.f64 x)) 2) (*.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (neg.f64 (cos.f64 x)) 2)) (-.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (/.f64 1 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (neg.f64 (cbrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (neg.f64 (sqrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (cos.f64 x))) 2) (cbrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (cos.f64 x))) (sqrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cos.f64 x) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))))

simplify70.0ms (0.4%)

Algorithm
egg-herbie
Rules
813×fma-neg_binary64
459×neg-mul-1_binary64
395×fma-def_binary64
369×associate-+l+_binary64
297×distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
068630
1191612
2512583
32203567
47547567
Stop Event
node limit
Counts
231 → 219
Calls
Call 1
Inputs
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
Outputs
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 (neg.f64 x) (sin.f64 eps)))
(-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps)))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (*.f64 (neg.f64 x) (sin.f64 eps))))
(+.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (*.f64 (cos.f64 eps) (*.f64 (*.f64 x x) -1/2)))
(+.f64 (cos.f64 eps) (*.f64 x (-.f64 (*.f64 (cos.f64 eps) (*.f64 -1/2 x)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 x (fma.f64 (cos.f64 eps) (*.f64 x -1/2) (neg.f64 (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(+.f64 (cos.f64 eps) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (*.f64 (neg.f64 x) (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 (cos.f64 eps) (*.f64 (*.f64 x x) -1/2)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))))
(+.f64 (cos.f64 eps) (fma.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x x)) (*.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)))))
(fma.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 eps) (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (+.f64 eps x))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (cos.f64 x) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))
(+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (+.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)) (*.f64 eps (sin.f64 x))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps))))
(fma.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (+.f64 eps x))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (neg.f64 x) (sin.f64 eps)) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (neg.f64 x) -1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (+.f64 (cos.f64 eps) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2))))) -1)
(+.f64 (fma.f64 (*.f64 x x) (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 (sin.f64 eps) (neg.f64 x))) (+.f64 (cos.f64 eps) -1))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (fma.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2) (neg.f64 (sin.f64 eps))) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(+.f64 (+.f64 (cos.f64 eps) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)))))) -1)
(+.f64 (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))) (+.f64 (cos.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) -1)))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x) (fma.f64 (*.f64 x x) (fma.f64 (cos.f64 eps) -1/2 1/2) -1)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (cos.f64 x))) (*.f64 eps (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))))) (*.f64 eps (sin.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps))))
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))))) (*.f64 eps (sin.f64 x))))
(fma.f64 (cos.f64 x) (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps)))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))

eval51.0ms (0.3%)

Compiler

Compiled 3964 to 1199 computations (69.8% saved)

prune74.0ms (0.4%)

Pruning

40 alts after pruning (39 fresh and 1 done)

PrunedKeptTotal
New18039219
Fresh000
Picked011
Done000
Total18040220
Error
0.2b
Counts
220 → 40
Alt Table
Click to see full alt table
StatusErrorProgram
22.6b
(fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
38.5b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
57.5b
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)
17.3b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
47.3b
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
38.7b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
40.1b
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
38.6b
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
35.7b
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))))
39.8b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
38.6b
(log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))
38.6b
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
35.5b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
38.1b
(-.f64 (cos.f64 eps) (cos.f64 x))
22.9b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
35.3b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
38.5b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
57.1b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
23.2b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
22.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
38.6b
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x))))
38.9b
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
22.5b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
40.3b
(*.f64 (sin.f64 x) (neg.f64 eps))
22.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
23.0b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
38.5b
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
23.0b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
56.8b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
22.5b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
57.0b
(-.f64 (cos.f64 x) (cos.f64 x))
48.2b
(fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))
15.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
22.7b
(-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (cos.f64 x))
30.4b
(fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
57.5b
(exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
38.5b
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
39.5b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
38.1b
(-.f64 (cos.f64 eps) 1)
45.1b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
Compiler

Compiled 1265 to 840 computations (33.6% saved)

localize52.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (+.f64 x eps))
0.3b
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))
4.0b
(sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))
Compiler

Compiled 88 to 34 computations (61.4% saved)

series19.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
3.0ms
x
@0
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))
2.0ms
x
@inf
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))
2.0ms
eps
@0
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))
1.0ms
x
@0
(sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))
1.0ms
x
@-inf
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))

rewrite112.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
675×fma-def_binary64
454×log-prod_binary64
298×fma-neg_binary64
187×expm1-udef_binary64
187×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01342
130916
2479016
Stop Event
node limit
Counts
3 → 192
Calls
Call 1
Inputs
(sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))
(+.f64 x (+.f64 x eps))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (*.f64 1/2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 0) (cos.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 0) (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 0)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (sin.f64 0)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (cos.f64 (*.f64 (+.f64 x eps) 1/2))) (*.f64 (cos.f64 (*.f64 x 1/2)) (sin.f64 (*.f64 (+.f64 x eps) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 x eps)))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (cos.f64 (*.f64 1/2 x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 x eps))) (sin.f64 (*.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps)))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps)))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sin.f64 (*.f64 1/2 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 1/2 eps)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 1/2 eps)))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (*.f64 1/2 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (*.f64 1/2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) (cbrt.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) (sqrt.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 2)) (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 (*.f64 1/2 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sin.f64 (*.f64 1/2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sin.f64 (*.f64 1/2 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sin.f64 (*.f64 1/2 eps))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1/2 (/.f64 (cos.f64 (*.f64 1/2 (+.f64 eps eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (sin.f64 (*.f64 1/2 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 (*.f64 1/2 eps)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x eps) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 eps 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 eps (/.f64 0 eps))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 0 eps)) (/.f64 (pow.f64 (+.f64 x eps) 2) (-.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps eps) (/.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (pow.f64 (cbrt.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 eps) (sqrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3)) (/.f64 1 (fma.f64 x x (*.f64 (+.f64 x eps) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (-.f64 0 eps)) (/.f64 1 (-.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (+.f64 x eps) eps)) (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 0 eps) (*.f64 eps (-.f64 0 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 eps (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps eps) eps)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3)) (fma.f64 x x (*.f64 (+.f64 x eps) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3)) (+.f64 (pow.f64 (+.f64 x eps) 2) (-.f64 (*.f64 x x) (*.f64 x (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 eps 3) (*.f64 eps eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (-.f64 0 eps)) (-.f64 0 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 eps eps)) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3))) (neg.f64 (fma.f64 x x (*.f64 (+.f64 x eps) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 eps (-.f64 0 eps))) (neg.f64 (-.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 eps 3)) (neg.f64 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x eps) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (+.f64 x eps) 2) (fma.f64 x x (*.f64 x (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x eps) 2) (*.f64 x x)) eps)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (*.f64 eps eps)) (-.f64 0 eps))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 eps 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 eps) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 eps) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 eps 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x x (*.f64 (+.f64 x eps) eps)) (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 0 eps) (*.f64 eps (-.f64 0 eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 eps eps) (pow.f64 eps 3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 eps (*.f64 eps eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 eps eps))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (+.f64 x eps))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (+.f64 x eps)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x eps))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 x eps)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 x eps)) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x eps))) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 x eps)) (/.f64 1 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x eps))) (/.f64 1 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 eps 3))))) (#(struct:change #<rule egg-rr> (2) ((x . eps)))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 (+.f64 x eps) eps)) (sqrt.f64 (*.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 (+.f64 x eps) eps)) (*.f64 (sqrt.f64 x) (sqrt.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 x eps)) (sqrt.f64 (*.f64 (+.f64 x eps) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 eps)) (sqrt.f64 (*.f64 (+.f64 x eps) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (-.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x eps) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x eps) 1 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps 1 (fma.f64 (neg.f64 x) 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps 1 (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps 1 (+.f64 (neg.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps 1 (neg.f64 (/.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (-.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x eps) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x eps) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 eps 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 eps (fma.f64 (neg.f64 x) 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 eps (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 eps (+.f64 (neg.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 eps (neg.f64 (/.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps eps) (/.f64 1 eps) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps eps) (/.f64 1 eps) (fma.f64 (neg.f64 x) 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps eps) (/.f64 1 eps) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps eps) (/.f64 1 eps) (+.f64 (neg.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps eps) (/.f64 1 eps) (neg.f64 (/.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (-.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (-.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (pow.f64 (cbrt.f64 eps) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (pow.f64 (cbrt.f64 eps) 2) (fma.f64 (neg.f64 x) 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (pow.f64 (cbrt.f64 eps) 2) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (pow.f64 (cbrt.f64 eps) 2) (+.f64 (neg.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (pow.f64 (cbrt.f64 eps) 2) (neg.f64 (/.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps) (fma.f64 (neg.f64 x) 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps) (+.f64 (neg.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps) (neg.f64 (/.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (+.f64 x eps)) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (+.f64 x eps)) 2) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x eps)) 2) (cbrt.f64 (+.f64 x eps)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x eps)) 2) (cbrt.f64 (+.f64 x eps)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (-.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (sqrt.f64 eps) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (sqrt.f64 eps) (fma.f64 (neg.f64 x) 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (sqrt.f64 eps) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (sqrt.f64 eps) (+.f64 (neg.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (sqrt.f64 eps) (neg.f64 (/.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 (+.f64 x eps)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 (+.f64 x eps)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3)) (/.f64 1 (fma.f64 x x (*.f64 (+.f64 x eps) eps))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3)) (/.f64 1 (fma.f64 x x (*.f64 (+.f64 x eps) eps))) (fma.f64 (neg.f64 x) 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3)) (/.f64 1 (fma.f64 x x (*.f64 (+.f64 x eps) eps))) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3)) (/.f64 1 (fma.f64 x x (*.f64 (+.f64 x eps) eps))) (+.f64 (neg.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3)) (/.f64 1 (fma.f64 x x (*.f64 (+.f64 x eps) eps))) (neg.f64 (/.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps)) (fma.f64 (neg.f64 x) 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps)) (+.f64 (neg.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps)) (neg.f64 (/.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 eps 3)) (/.f64 1 (fma.f64 eps (-.f64 eps x) (*.f64 x x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 eps 3)) (/.f64 1 (fma.f64 eps (-.f64 eps x) (*.f64 x x))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (-.f64 0 eps)) (/.f64 1 (-.f64 0 eps)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (-.f64 0 eps)) (/.f64 1 (-.f64 0 eps)) (fma.f64 (neg.f64 x) 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (-.f64 0 eps)) (/.f64 1 (-.f64 0 eps)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (-.f64 0 eps)) (/.f64 1 (-.f64 0 eps)) (+.f64 (neg.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (-.f64 0 eps)) (/.f64 1 (-.f64 0 eps)) (neg.f64 (/.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)) (fma.f64 (neg.f64 x) 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)) (+.f64 (neg.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)) (neg.f64 (/.f64 0 eps)))))))

simplify84.0ms (0.5%)

Algorithm
egg-herbie
Rules
643×fma-neg_binary64
582×fma-def_binary64
505×neg-sub0_binary64
460×neg-mul-1_binary64
360×distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
090986
1256974
2710847
32755825
45996822
Stop Event
node limit
Counts
264 → 234
Calls
Call 1
Inputs
(sin.f64 (*.f64 1/2 eps))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 x)
(+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(*.f64 1/2 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
eps
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(*.f64 2 x)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(*.f64 2 x)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(*.f64 2 x)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
eps
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
eps
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
Outputs
(sin.f64 (*.f64 1/2 eps))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (sin.f64 (*.f64 1/2 eps))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (fma.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) -1/6))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 x)
(+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/8) (sin.f64 x)))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (+.f64 1 (*.f64 eps (*.f64 eps -1/8))) (sin.f64 x)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps)))))
(fma.f64 (cos.f64 x) (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/2 eps)) (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/8) (sin.f64 x)))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/8)) (fma.f64 (cos.f64 x) (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/2 eps)) (sin.f64 x)))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(*.f64 1/2 (*.f64 eps (sin.f64 x)))
(*.f64 (*.f64 1/2 eps) (sin.f64 x))
(*.f64 eps (*.f64 1/2 (sin.f64 x)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(fma.f64 1/2 (*.f64 eps (sin.f64 x)) (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) 1/4)))
(fma.f64 1/2 (*.f64 eps (sin.f64 x)) (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps 1/4))))
(*.f64 eps (+.f64 (*.f64 1/2 (sin.f64 x)) (*.f64 (cos.f64 x) (*.f64 eps 1/4))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/4 (*.f64 eps (*.f64 eps (cos.f64 x))) (fma.f64 1/2 (*.f64 eps (sin.f64 x)) (*.f64 (sin.f64 x) (*.f64 -1/12 (pow.f64 eps 3)))))
(fma.f64 (cos.f64 x) (*.f64 eps (*.f64 eps 1/4)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12))))
(*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/12 (*.f64 eps eps)) 1/2))))
(fma.f64 (cos.f64 x) (*.f64 eps (*.f64 eps 1/4)) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/12 (*.f64 1/2 eps))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (fma.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/4 (*.f64 eps (*.f64 eps (cos.f64 x))) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (fma.f64 (*.f64 1/2 eps) (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 -1/48 (pow.f64 eps 4))))))
(fma.f64 (cos.f64 x) (*.f64 eps (*.f64 eps 1/4)) (fma.f64 (cos.f64 x) (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12)))))
(+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/12 (*.f64 eps eps)) 1/2))) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps 1/4)) (*.f64 -1/48 (pow.f64 eps 4)))))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/12 (*.f64 1/2 eps))) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps 1/4)) (*.f64 -1/48 (pow.f64 eps 4)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)))))
(+.f64 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 -1/2 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (*.f64 x x) -1/2)))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))))))
(+.f64 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (fma.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))) (fma.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (*.f64 x x) -1/2))))
(+.f64 (*.f64 (*.f64 x x) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 (pow.f64 x 3) (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/6) (sin.f64 (*.f64 1/2 eps))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
eps
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(*.f64 2 x)
(*.f64 x 2)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(*.f64 2 x)
(*.f64 x 2)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(*.f64 2 x)
(*.f64 x 2)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
eps
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
eps
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
1.4b
(-.f64 (cos.f64 eps) 1)
Compiler

Compiled 10 to 6 computations (40% saved)

series1.0ms (0%)

Counts
1 → 4
Calls

3 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(-.f64 (cos.f64 eps) 1)
0.0ms
eps
@-inf
(-.f64 (cos.f64 eps) 1)
0.0ms
eps
@inf
(-.f64 (cos.f64 eps) 1)

rewrite43.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
498×pow1_binary64
485×add-sqr-sqrt_binary64
464×add-log-exp_binary64
463×log1p-expm1-u_binary64
463×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
11046
212836
Stop Event
node limit
Counts
1 → 31
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (cos.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (cos.f64 eps) 3) -1) (/.f64 1 (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (+.f64 (pow.f64 (cos.f64 eps) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 eps) 1) (+.f64 (pow.f64 (cos.f64 eps) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 eps) 3) -1) (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 eps) 3) -1) (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 eps) 3) -1)) (neg.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1)) (neg.f64 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (cbrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (sqrt.f64 (cos.f64 eps)) -1)))))

simplify98.0ms (0.6%)

Algorithm
egg-herbie
Rules
601×distribute-rgt-out_binary64
520×sqr-pow_binary64
481×associate-+l+_binary64
477×distribute-lft-out_binary64
413×unswap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02470
15670
212970
342070
4199570
5437770
6475170
7525770
8624770
9723170
10767070
Stop Event
node limit
Counts
35 → 39
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
Outputs
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/24 (pow.f64 eps 4))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2) (*.f64 -1/720 (pow.f64 eps 6)))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 1/40320 (pow.f64 eps 8) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps)))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 eps 4) 1/40320 1/24) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
0.9b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
0.9b
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
3.8b
(cos.f64 (+.f64 x eps))
Compiler

Compiled 37 to 8 computations (78.4% saved)

series6.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
2.0ms
x
@0
(exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
1.0ms
eps
@0
(exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
0.0ms
x
@0
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
0.0ms
eps
@-inf
(exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
0.0ms
x
@inf
(exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))

rewrite77.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
483×log-prod_binary64
468×fma-def_binary64
301×pow-prod-down_binary64
286×pow2_binary64
244×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0924
119824
2296124
Stop Event
node limit
Counts
2 → 194
Calls
Call 1
Inputs
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (*.f64 2 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (*.f64 1/2 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 (exp.f64 (cos.f64 x)) (exp.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (/.f64 (pow.f64 (cos.f64 x) 3) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (/.f64 (pow.f64 (cos.f64 x) 2) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 (exp.f64 (cos.f64 (+.f64 x eps))))) (log.f64 (neg.f64 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) (neg.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) (neg.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (cos.f64 x)) 3)) (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (-.f64 (pow.f64 (neg.f64 (cos.f64 x)) 2) (*.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (neg.f64 (cos.f64 x)) 2)) (-.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 (exp.f64 (cos.f64 x)) (exp.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (neg.f64 (cbrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (neg.f64 (sqrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (cos.f64 x))) 2) (cbrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (cos.f64 x))) (sqrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cos.f64 x) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (exp.f64 1) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (exp.f64 1) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (exp.f64 1) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (exp.f64 (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (/.f64 1 (exp.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (exp.f64 1) (*.f64 (neg.f64 (cos.f64 x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (cbrt.f64 (exp.f64 (*.f64 2 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 (*.f64 2 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (exp.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 1/2 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (pow.f64 (exp.f64 1) (*.f64 1/2 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 2 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (pow.f64 (exp.f64 1) (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (exp.f64 (cos.f64 x)) (exp.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (exp.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (neg.f64 (exp.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (*.f64 (cos.f64 x) (cos.f64 eps))) (pow.f64 (exp.f64 1) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (*.f64 (cos.f64 x) (cos.f64 eps))) (pow.f64 (exp.f64 1) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (pow.f64 (exp.f64 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (/.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)))) (pow.f64 (exp.f64 1) (/.f64 (pow.f64 (cos.f64 x) 3) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (/.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (pow.f64 (exp.f64 1) (/.f64 (pow.f64 (cos.f64 x) 2) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (*.f64 2 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (*.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (*.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -2) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -2) (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (exp.f64 (cos.f64 x)) (exp.f64 (cos.f64 (+.f64 x eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) 1) (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) 1) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))) (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (cbrt.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (cbrt.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (cbrt.f64 -2)) (cbrt.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2)) (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (sqrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (sqrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 1) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (cbrt.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))) (sqrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (sqrt.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (sqrt.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (sqrt.f64 -2)) (sqrt.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) -2) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x)))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 -2) 1) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 -2) (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 -2) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 -2) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) 2)) (cbrt.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 -2) (sqrt.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))) (sqrt.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (exp.f64 (*.f64 2 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))))

simplify73.0ms (0.4%)

Algorithm
egg-herbie
Rules
683×fma-def_binary64
587×distribute-rgt-out_binary64
581×associate-*r*_binary64
546×associate-*l*_binary64
310×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0103906
1320883
21001820
35552803
Stop Event
node limit
Counts
242 → 231
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))))
(+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1/2 (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)) (*.f64 -1/2 (cos.f64 eps)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))) (+.f64 (*.f64 1/6 (sin.f64 eps)) (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 3))) (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1/2 (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)) (*.f64 -1/2 (cos.f64 eps)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2))))))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
1
(+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x))))))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (sin.f64 x))))) (+.f64 1 (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (neg.f64 x) (sin.f64 eps)) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(fma.f64 (sin.f64 eps) (neg.f64 x) (+.f64 (cos.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 x (sin.f64 (neg.f64 eps)) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x))) 1))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (fma.f64 (neg.f64 x) (sin.f64 eps) -1)))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x)))) 1))
(+.f64 (cos.f64 eps) (+.f64 (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) -1)))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) -1)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (cos.f64 x) (*.f64 eps (neg.f64 (sin.f64 x))))
(*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (cos.f64 x) (*.f64 eps (neg.f64 (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x))))
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (cos.f64 x) (*.f64 eps (neg.f64 (sin.f64 x))))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 (cos.f64 x) (*.f64 1/24 (pow.f64 eps 4)) (*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x)))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (+.f64 (cos.f64 eps) -1))
(+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))))
(+.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (neg.f64 (*.f64 (*.f64 x (sin.f64 eps)) (exp.f64 (+.f64 (cos.f64 eps) -1)))))
(-.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (*.f64 x (exp.f64 (+.f64 (cos.f64 eps) -1)))))
(*.f64 (+.f64 (*.f64 (sin.f64 eps) (neg.f64 x)) 1) (exp.f64 (+.f64 (cos.f64 eps) -1)))
(*.f64 (+.f64 (*.f64 x (sin.f64 (neg.f64 eps))) 1) (exp.f64 (+.f64 (cos.f64 eps) -1)))
(+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1/2 (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)) (*.f64 -1/2 (cos.f64 eps)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2)))))
(+.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 -1 (*.f64 (*.f64 x (sin.f64 eps)) (exp.f64 (+.f64 (cos.f64 eps) -1))) (*.f64 (+.f64 1/2 (fma.f64 1/2 (pow.f64 (sin.f64 eps) 2) (*.f64 (cos.f64 eps) -1/2))) (*.f64 (*.f64 x x) (exp.f64 (+.f64 (cos.f64 eps) -1))))))
(+.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (*.f64 (*.f64 x x) (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)))))) (*.f64 (sin.f64 eps) (*.f64 x (exp.f64 (+.f64 (cos.f64 eps) -1))))))
(+.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (*.f64 (*.f64 x x) (fma.f64 (cos.f64 eps) -1/2 (fma.f64 1/2 (pow.f64 (sin.f64 eps) 2) 1/2))) (*.f64 x (sin.f64 eps)))))
(*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (+.f64 (*.f64 (*.f64 x x) (fma.f64 (cos.f64 eps) -1/2 (fma.f64 1/2 (pow.f64 (sin.f64 eps) 2) 1/2))) 1) (*.f64 x (sin.f64 eps))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))) (+.f64 (*.f64 1/6 (sin.f64 eps)) (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 3))) (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1/2 (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)) (*.f64 -1/2 (cos.f64 eps)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2))))))
(fma.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2))) (fma.f64 1/6 (sin.f64 eps) (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)))) (*.f64 (pow.f64 x 3) (exp.f64 (+.f64 (cos.f64 eps) -1))) (+.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 -1 (*.f64 (*.f64 x (sin.f64 eps)) (exp.f64 (+.f64 (cos.f64 eps) -1))) (*.f64 (+.f64 1/2 (fma.f64 1/2 (pow.f64 (sin.f64 eps) 2) (*.f64 (cos.f64 eps) -1/2))) (*.f64 (*.f64 x x) (exp.f64 (+.f64 (cos.f64 eps) -1)))))))
(+.f64 (-.f64 (*.f64 (*.f64 x x) (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)))))) (*.f64 (sin.f64 eps) (*.f64 x (exp.f64 (+.f64 (cos.f64 eps) -1))))) (fma.f64 (-.f64 (fma.f64 (sin.f64 eps) 1/6 (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3))) (*.f64 (sin.f64 eps) (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (pow.f64 x 3) (exp.f64 (+.f64 (cos.f64 eps) -1))) (exp.f64 (+.f64 (cos.f64 eps) -1))))
(+.f64 (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (*.f64 (*.f64 x x) (fma.f64 (cos.f64 eps) -1/2 (fma.f64 1/2 (pow.f64 (sin.f64 eps) 2) 1/2))) (*.f64 x (sin.f64 eps)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 3) (fma.f64 -1/6 (pow.f64 (sin.f64 eps) 3) (*.f64 (sin.f64 eps) (+.f64 (neg.f64 (fma.f64 (cos.f64 eps) -1/2 1/2)) 1/6)))) 1) (exp.f64 (+.f64 (cos.f64 eps) -1))))
(+.f64 (*.f64 (*.f64 x (exp.f64 (+.f64 (cos.f64 eps) -1))) (-.f64 (*.f64 (fma.f64 (cos.f64 eps) -1/2 (fma.f64 1/2 (pow.f64 (sin.f64 eps) 2) 1/2)) x) (sin.f64 eps))) (*.f64 (+.f64 (*.f64 (pow.f64 x 3) (fma.f64 -1/6 (pow.f64 (sin.f64 eps) 3) (*.f64 (sin.f64 eps) (-.f64 1/6 (fma.f64 (cos.f64 eps) -1/2 1/2))))) 1) (exp.f64 (+.f64 (cos.f64 eps) -1))))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
1
(+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 1 (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 1 (*.f64 eps (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 eps) 1)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x))))))
(+.f64 1 (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x))))))
(+.f64 1 (-.f64 (*.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))) (*.f64 eps (sin.f64 x))))
(+.f64 1 (*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))) (sin.f64 x))))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (sin.f64 x))))) (+.f64 1 (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (fma.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x)) (*.f64 1/6 (sin.f64 x)))) (+.f64 1 (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))))))
(+.f64 (-.f64 (*.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))) (*.f64 eps (sin.f64 x))) (fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 (cos.f64 x)) 1/6))) 1))
(+.f64 (*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))) (sin.f64 x))) (fma.f64 (pow.f64 eps 3) (fma.f64 (sin.f64 x) (fma.f64 1/2 (cos.f64 x) 1/6) (*.f64 -1/6 (pow.f64 (sin.f64 x) 3))) 1))
(+.f64 1 (fma.f64 (pow.f64 eps 3) (fma.f64 (sin.f64 x) (fma.f64 1/2 (cos.f64 x) 1/6) (*.f64 -1/6 (pow.f64 (sin.f64 x) 3))) (*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))) (sin.f64 x)))))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
0.0b
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)
0.9b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
3.8b
(cos.f64 (+.f64 x eps))
Compiler

Compiled 39 to 10 computations (74.4% saved)

series11.0ms (0.1%)

Counts
2 → 40
Calls

12 calls:

TimeVariablePointExpression
3.0ms
eps
@0
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)
2.0ms
x
@0
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)
1.0ms
x
@inf
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)
1.0ms
x
@0
(sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
1.0ms
eps
@inf
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)

rewrite75.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
505×log-prod_binary64
480×fma-def_binary64
316×pow-prod-down_binary64
303×pow2_binary64
244×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01024
123824
2318024
Stop Event
node limit
Counts
2 → 159
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)
(sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (/.f64 (pow.f64 (cos.f64 x) 3) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (/.f64 (pow.f64 (cos.f64 x) 2) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/4) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3/4) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 5/6) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) (neg.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) (neg.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (cos.f64 x)) 3)) (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (-.f64 (pow.f64 (neg.f64 (cos.f64 x)) 2) (*.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (neg.f64 (cos.f64 x)) 2)) (-.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (/.f64 1 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cbrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cbrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (neg.f64 (cbrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/4) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3/4) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/4) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3/4) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/4) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3/4) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (neg.f64 (sqrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (cos.f64 x))) 2) (cbrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (cos.f64 x))) (sqrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cos.f64 x) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3/4) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/4) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3/4) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/4) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3/4) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/4) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 5/6) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 5/6) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 5/6) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/4) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -2) (sqrt.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) (hypot.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) (sqrt.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (neg.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 1))))))

simplify61.0ms (0.3%)

Algorithm
egg-herbie
Rules
663×fma-neg_binary64
591×distribute-rgt-neg-out_binary64
441×distribute-lft-neg-out_binary64
431×associate-*l*_binary64
419×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
080952
1225923
2726853
34182786
Stop Event
node limit
Counts
199 → 181
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 (-.f64 (+.f64 1/2 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 (cos.f64 eps) 1))) (*.f64 -1/2 (cos.f64 eps)))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (pow.f64 x 2)) (*.f64 -1 (*.f64 x (sin.f64 eps))))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 (-.f64 (+.f64 1/2 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 (cos.f64 eps) 1))) (*.f64 -1/2 (cos.f64 eps)))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (sin.f64 eps)) (-.f64 (cos.f64 eps) 1))) (*.f64 -1/6 (sin.f64 eps)))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (sin.f64 eps)) (-.f64 (cos.f64 eps) 1)))) (pow.f64 x 3)) (*.f64 -1 (*.f64 x (sin.f64 eps)))))) 1)
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(sqrt.f64 (-.f64 (cos.f64 eps) 1))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (*.f64 (sin.f64 eps) x))) (sqrt.f64 (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (*.f64 (sin.f64 eps) x))) (+.f64 (sqrt.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)))))))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (*.f64 (pow.f64 x 3) (+.f64 (*.f64 -1/6 (sin.f64 eps)) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (sin.f64 eps)) (-.f64 (cos.f64 eps) 1))))))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (*.f64 (sin.f64 eps) x))) (+.f64 (sqrt.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))))))))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (neg.f64 x) (sin.f64 eps)) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(-.f64 (cos.f64 eps) (+.f64 (*.f64 x (sin.f64 eps)) 1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 (-.f64 (+.f64 1/2 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 (cos.f64 eps) 1))) (*.f64 -1/2 (cos.f64 eps)))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (pow.f64 x 2)) (*.f64 -1 (*.f64 x (sin.f64 eps))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 (+.f64 1/2 (-.f64 (fma.f64 1/4 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) -1)) (*.f64 (cos.f64 eps) -1/2)) (pow.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2))) (*.f64 x x) (*.f64 (neg.f64 x) (sin.f64 eps))) 1))
(+.f64 -1 (+.f64 (cos.f64 eps) (-.f64 (*.f64 x (*.f64 x (+.f64 1/2 (-.f64 (fma.f64 1/4 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) -1)) (*.f64 (cos.f64 eps) -1/2)) (pow.f64 (*.f64 (sin.f64 eps) (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2))))) (*.f64 x (sin.f64 eps)))))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (-.f64 (fma.f64 1/4 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) -1)) (fma.f64 (cos.f64 eps) -1/2 1/2)) (pow.f64 (*.f64 (sin.f64 eps) (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2))) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 1/4 (-.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) -1)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 1 (+.f64 (cos.f64 eps) -1)))))))) (sin.f64 eps)) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 (-.f64 (+.f64 1/2 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 (cos.f64 eps) 1))) (*.f64 -1/2 (cos.f64 eps)))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (sin.f64 eps)) (-.f64 (cos.f64 eps) 1))) (*.f64 -1/6 (sin.f64 eps)))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (sin.f64 eps)) (-.f64 (cos.f64 eps) 1)))) (pow.f64 x 3)) (*.f64 -1 (*.f64 x (sin.f64 eps)))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 (+.f64 1/2 (-.f64 (fma.f64 1/4 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) -1)) (*.f64 (cos.f64 eps) -1/2)) (pow.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2))) (*.f64 x x) (fma.f64 (fma.f64 -1 (fma.f64 -1/2 (/.f64 (+.f64 1/2 (-.f64 (*.f64 (cos.f64 eps) -1/2) (pow.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2))) (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps))) (*.f64 (sin.f64 eps) -1/6)) (*.f64 -1/2 (/.f64 (+.f64 1/2 (-.f64 (*.f64 (cos.f64 eps) -1/2) (pow.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2))) (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps))))) (pow.f64 x 3) (*.f64 (neg.f64 x) (sin.f64 eps)))) 1))
(+.f64 (cos.f64 eps) (+.f64 (fma.f64 (+.f64 1/2 (-.f64 (fma.f64 1/4 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) -1)) (*.f64 (cos.f64 eps) -1/2)) (pow.f64 (*.f64 (sin.f64 eps) (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2))) (*.f64 x x) (fma.f64 (-.f64 (*.f64 -1/2 (*.f64 (/.f64 (-.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (pow.f64 (*.f64 (sin.f64 eps) (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2)) (+.f64 (cos.f64 eps) -1)) (sin.f64 eps))) (fma.f64 -1/2 (*.f64 (/.f64 (-.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (pow.f64 (*.f64 (sin.f64 eps) (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2)) (+.f64 (cos.f64 eps) -1)) (sin.f64 eps)) (*.f64 (sin.f64 eps) -1/6))) (pow.f64 x 3) (*.f64 x (neg.f64 (sin.f64 eps))))) -1))
(+.f64 (cos.f64 eps) (+.f64 -1 (fma.f64 (+.f64 (*.f64 (sin.f64 eps) 1/6) (*.f64 (*.f64 (sin.f64 eps) (/.f64 (-.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (pow.f64 (*.f64 (sin.f64 eps) (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2)) (+.f64 (cos.f64 eps) -1))) 0)) (pow.f64 x 3) (*.f64 x (-.f64 (*.f64 x (-.f64 (fma.f64 1/4 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) -1)) (fma.f64 (cos.f64 eps) -1/2 1/2)) (pow.f64 (*.f64 (sin.f64 eps) (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2))) (sin.f64 eps))))))
(fma.f64 (*.f64 x x) (+.f64 (*.f64 x (*.f64 (sin.f64 eps) 1/6)) (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 1/4 (-.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) -1)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 1 (+.f64 (cos.f64 eps) -1)))))))) (-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(sqrt.f64 (-.f64 (cos.f64 eps) 1))
(sqrt.f64 (+.f64 (cos.f64 eps) -1))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (*.f64 (sin.f64 eps) x))) (sqrt.f64 (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (*.f64 x (sin.f64 eps))) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))
(fma.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)))) (*.f64 x (sin.f64 eps)) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (*.f64 (sin.f64 eps) x))) (+.f64 (sqrt.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)))))))
(+.f64 (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (*.f64 x (sin.f64 eps))) (sqrt.f64 (+.f64 (cos.f64 eps) -1))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (*.f64 (*.f64 x x) (+.f64 1/2 (-.f64 (*.f64 (cos.f64 eps) -1/2) (pow.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2)))))))
(fma.f64 -1/2 (*.f64 x (*.f64 (sin.f64 eps) (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (*.f64 (*.f64 x x) (-.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (pow.f64 (*.f64 (sin.f64 eps) (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2)))) (sqrt.f64 (+.f64 (cos.f64 eps) -1))))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (+.f64 (*.f64 x (*.f64 (sin.f64 eps) -1/2)) (*.f64 (*.f64 x x) (*.f64 1/2 (-.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (pow.f64 (*.f64 (sin.f64 eps) (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2)))))))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (+.f64 (*.f64 -1/2 (*.f64 x (sin.f64 eps))) (*.f64 (*.f64 x x) (*.f64 1/2 (-.f64 (*.f64 (cos.f64 eps) -1/2) (fma.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) (*.f64 1/4 (pow.f64 (sin.f64 eps) 2)) -1/2)))))))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (*.f64 (pow.f64 x 3) (+.f64 (*.f64 -1/6 (sin.f64 eps)) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (sin.f64 eps)) (-.f64 (cos.f64 eps) 1))))))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (*.f64 (sin.f64 eps) x))) (+.f64 (sqrt.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (sin.f64 eps))) 2)) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (*.f64 (fma.f64 -1/2 (/.f64 (+.f64 1/2 (-.f64 (*.f64 (cos.f64 eps) -1/2) (pow.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2))) (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps))) (*.f64 (sin.f64 eps) -1/6)) (pow.f64 x 3))) (+.f64 (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (*.f64 x (sin.f64 eps))) (sqrt.f64 (+.f64 (cos.f64 eps) -1))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (*.f64 (*.f64 x x) (+.f64 1/2 (-.f64 (*.f64 (cos.f64 eps) -1/2) (pow.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2))))))))
(+.f64 (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (*.f64 (*.f64 x x) (-.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (pow.f64 (*.f64 (sin.f64 eps) (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2)))) (sqrt.f64 (+.f64 (cos.f64 eps) -1))) (*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)))) (+.f64 (*.f64 (fma.f64 -1/2 (*.f64 (/.f64 (-.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (pow.f64 (*.f64 (sin.f64 eps) (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2)) (+.f64 (cos.f64 eps) -1)) (sin.f64 eps)) (*.f64 (sin.f64 eps) -1/6)) (pow.f64 x 3)) (*.f64 x (sin.f64 eps)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (fma.f64 (fma.f64 -1/2 (*.f64 (sin.f64 eps) (/.f64 (-.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (pow.f64 (*.f64 (sin.f64 eps) (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2)) (+.f64 (cos.f64 eps) -1))) (*.f64 (sin.f64 eps) -1/6)) (pow.f64 x 3) (*.f64 x (sin.f64 eps)))) (fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (*.f64 (*.f64 x x) (*.f64 1/2 (-.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (pow.f64 (*.f64 (sin.f64 eps) (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))) 2)))) (sqrt.f64 (+.f64 (cos.f64 eps) -1))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (fma.f64 (fma.f64 -1/2 (*.f64 (sin.f64 eps) (/.f64 (-.f64 (*.f64 (cos.f64 eps) -1/2) (fma.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) (*.f64 1/4 (pow.f64 (sin.f64 eps) 2)) -1/2)) (+.f64 (cos.f64 eps) -1))) (*.f64 (sin.f64 eps) -1/6)) (pow.f64 x 3) (*.f64 x (sin.f64 eps)))) (fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (*.f64 (*.f64 x x) (*.f64 1/2 (-.f64 (*.f64 (cos.f64 eps) -1/2) (fma.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) (*.f64 1/4 (pow.f64 (sin.f64 eps) 2)) -1/2)))) (sqrt.f64 (+.f64 (cos.f64 eps) -1))))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(sqrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))
0.3b
(*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))
1.3b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
Compiler

Compiled 46 to 10 computations (78.3% saved)

series17.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
4.0ms
eps
@inf
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
3.0ms
x
@inf
(*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))
2.0ms
x
@inf
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
1.0ms
eps
@-inf
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
1.0ms
x
@-inf
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))

rewrite109.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
730×prod-diff_binary64
532×log-prod_binary64
292×pow2_binary64
281×fma-def_binary64
203×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01151
123245
2312725
Stop Event
node limit
Counts
3 → 283
Calls
Call 1
Inputs
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
(*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))
(fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 -1 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) (neg.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) (neg.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (cos.f64 x)) 3)) (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (-.f64 (pow.f64 (neg.f64 (cos.f64 x)) 2) (*.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (neg.f64 (cos.f64 x)) 2)) (-.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (/.f64 1 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (/.f64 1 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (neg.f64 (cbrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (neg.f64 (sqrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cos.f64 x) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps)))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps)))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps)))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (cos.f64 x))) 2) (cbrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (cos.f64 x))) (sqrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (+.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 eps x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (sin.f64 eps) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (sin.f64 x) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (sin.f64 eps) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (sin.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (fma.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 1 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2))) (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 1) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 eps))) (sin.f64 x) (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 eps))) (sin.f64 x) (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 eps))) (sin.f64 x) (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 eps))) (sin.f64 x) (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 eps))) (sin.f64 x) (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 eps))) (sin.f64 x) (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 eps))) (sin.f64 x) (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (neg.f64 (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 eps))) (sin.f64 x) (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 eps))) (sin.f64 x) (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 eps))) (sin.f64 x) (*.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x))) (sqrt.f64 (sin.f64 eps)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x))) (sqrt.f64 (sin.f64 eps)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x))) (sqrt.f64 (sin.f64 eps)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x))) (sqrt.f64 (sin.f64 eps)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x))) (sqrt.f64 (sin.f64 eps)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x))) (sqrt.f64 (sin.f64 eps)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x))) (sqrt.f64 (sin.f64 eps)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x))) (sqrt.f64 (sin.f64 eps)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x))) (sqrt.f64 (sin.f64 eps)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x))) (sqrt.f64 (sin.f64 eps)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (sqrt.f64 (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps))) (sqrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps))) (sqrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps))) (sqrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps))) (sqrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps))) (sqrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps))) (sqrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps))) (sqrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps))) (sqrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps))) (sqrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps))) (sqrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (sqrt.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1))) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1))) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1))) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1))) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1))) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1))) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1))) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (neg.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1))) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1))) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1))) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))) (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))) (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))) (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))) (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))) (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))) (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))) (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))) (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))) (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 eps))) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))) (*.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1)))) (fma.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1) (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1)))) (fma.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1) (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1)))) (fma.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1) (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1)))) (fma.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1) (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1)))) (fma.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1) (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1)))) (fma.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1) (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1)))) (fma.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1) (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (neg.f64 (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1)))) (fma.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1) (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1)))) (fma.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1) (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1)))) (fma.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1) (*.f64 (sin.f64 x) (*.f64 (sin.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (-.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)) (exp.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (exp.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (-.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 (+.f64 x eps))) 1))))))

simplify143.0ms (0.8%)

Algorithm
egg-herbie
Rules
786×fma-neg_binary64
655×fma-def_binary64
529×sub-neg_binary64
446×associate-+l+_binary64
382×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0891414
12641341
27661241
327531231
468861231
Stop Event
node limit
Counts
355 → 335
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(*.f64 -1 (*.f64 x (sin.f64 eps)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 x 5) (sin.f64 eps))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 x 5) (sin.f64 eps))) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 x 7) (sin.f64 eps))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 eps 7) (sin.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (neg.f64 (*.f64 x (sin.f64 eps))) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(fma.f64 (sin.f64 eps) (neg.f64 x) (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x))) 1))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (fma.f64 (neg.f64 x) (sin.f64 eps) -1)))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (fma.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2) (neg.f64 (sin.f64 eps))) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x)))) 1))
(+.f64 -1 (+.f64 (cos.f64 eps) (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (sin.f64 eps) (+.f64 (neg.f64 x) (*.f64 1/6 (pow.f64 x 3)))))))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) -1)))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) -1)))
(+.f64 (cos.f64 eps) (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (fma.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) -1)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x))))
(fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 eps)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (neg.f64 eps)))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3)))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps))))
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3))))))
(fma.f64 (cos.f64 x) (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(-.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(*.f64 -1 (*.f64 x (sin.f64 eps)))
(neg.f64 (*.f64 x (sin.f64 eps)))
(*.f64 (sin.f64 eps) (neg.f64 x))
(*.f64 x (neg.f64 (sin.f64 eps)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (neg.f64 (*.f64 x (sin.f64 eps))))
(*.f64 (sin.f64 eps) (+.f64 (neg.f64 x) (*.f64 1/6 (pow.f64 x 3))))
(*.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 x 5) (sin.f64 eps))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(fma.f64 -1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (neg.f64 (*.f64 x (sin.f64 eps)))))
(-.f64 (*.f64 (sin.f64 eps) (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (*.f64 1/6 (pow.f64 x 3)))) (*.f64 x (sin.f64 eps)))
(*.f64 (sin.f64 eps) (-.f64 (fma.f64 -1/120 (pow.f64 x 5) (*.f64 1/6 (pow.f64 x 3))) x))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 x 5) (sin.f64 eps))) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 x 7) (sin.f64 eps))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(fma.f64 -1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)) (fma.f64 1/5040 (*.f64 (sin.f64 eps) (pow.f64 x 7)) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (neg.f64 (*.f64 x (sin.f64 eps))))))
(+.f64 (*.f64 (sin.f64 eps) (+.f64 (neg.f64 x) (*.f64 1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (*.f64 1/5040 (pow.f64 x 7)))))
(*.f64 (sin.f64 eps) (+.f64 (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) (fma.f64 -1/120 (pow.f64 x 5) (*.f64 1/5040 (pow.f64 x 7)))))
(*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (-.f64 (fma.f64 -1/120 (pow.f64 x 5) (*.f64 1/5040 (pow.f64 x 7))) x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (neg.f64 (*.f64 eps (sin.f64 x))))
(*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3))))
(*.f64 (sin.f64 x) (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)))
(*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/120 (pow.f64 eps 5)) (neg.f64 eps))))
(*.f64 (sin.f64 x) (-.f64 (fma.f64 1/6 (pow.f64 eps 3) (*.f64 -1/120 (pow.f64 eps 5))) eps))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 eps 7) (sin.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/5040 (*.f64 (sin.f64 x) (pow.f64 eps 7)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (neg.f64 (*.f64 eps (sin.f64 x))))))
(+.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/120 (pow.f64 eps 5)) (neg.f64 eps))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/5040 (pow.f64 eps 7)) (*.f64 1/6 (pow.f64 eps 3)))))
(*.f64 (sin.f64 x) (+.f64 (-.f64 (*.f64 -1/120 (pow.f64 eps 5)) eps) (fma.f64 1/5040 (pow.f64 eps 7) (*.f64 1/6 (pow.f64 eps 3)))))
(*.f64 (sin.f64 x) (+.f64 (*.f64 -1/120 (pow.f64 eps 5)) (-.f64 (fma.f64 1/5040 (pow.f64 eps 7) (*.f64 1/6 (pow.f64 eps 3))) eps)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)))
(neg.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (neg.f64 (*.f64 x (sin.f64 eps))))
(-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps)))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (neg.f64 (*.f64 x (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x x))) (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 x (-.f64 (*.f64 (cos.f64 eps) (*.f64 -1/2 x)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 x (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) x)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(+.f64 (cos.f64 eps) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (neg.f64 (*.f64 x (sin.f64 eps))))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) (+.f64 (neg.f64 x) (*.f64 1/6 (pow.f64 x 3)))) (*.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x x)))))
(+.f64 (cos.f64 eps) (fma.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x x)) (*.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)))))
(fma.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (cos.f64 eps) (*.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (cos.f64 x) (neg.f64 (*.f64 eps (sin.f64 x))))
(fma.f64 (neg.f64 eps) (sin.f64 x) (cos.f64 x))
(fma.f64 (sin.f64 x) (neg.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))
(+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (fma.f64 (*.f64 eps -1/2) eps 1)) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (+.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3)))))
(fma.f64 (fma.f64 (*.f64 eps -1/2) eps 1) (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps))))
(fma.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))

eval739.0ms (4.2%)

Compiler

Compiled 32030 to 11705 computations (63.5% saved)

prune653.0ms (3.7%)

Pruning

76 alts after pruning (73 fresh and 3 done)

PrunedKeptTotal
New1394641458
Fresh25934
Picked011
Done325
Total1422761498
Error
0.1b
Counts
1498 → 76
Alt Table
Click to see full alt table
StatusErrorProgram
38.0b
(log.f64 (exp.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))
46.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
38.3b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) 1) -2)
50.7b
(pow.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))) 2)
38.5b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
17.3b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
57.1b
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
16.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
46.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) 1/3)) -2)
38.7b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
57.6b
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 2)
40.4b
(log.f64 (exp.f64 (-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)))
56.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (exp.f64 (log.f64 eps)) 1/2))) -2)
38.1b
(-.f64 (cos.f64 eps) (cos.f64 x))
57.0b
(log.f64 1)
38.5b
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
22.7b
(log.f64 (exp.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
33.0b
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
52.9b
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
50.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
56.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
40.3b
(*.f64 (sin.f64 x) (neg.f64 eps))
38.1b
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
47.4b
(expm1.f64 (log.f64 (cos.f64 eps)))
34.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))) -2)
36.7b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
47.5b
(*.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))
52.5b
(*.f64 -1/2 (*.f64 eps eps))
38.1b
(-.f64 (cos.f64 eps) 1)
38.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
35.5b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
38.3b
(*.f64 (log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
50.4b
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (neg.f64 eps))) 2)
22.7b
(log.f64 (exp.f64 (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))))
56.2b
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
45.1b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
35.3b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
50.1b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (sqrt.f64 (*.f64 eps eps)) 1/2))) -2)
56.8b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
33.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (expm1.f64 (log1p.f64 (sin.f64 (*.f64 1/2 eps))))) -2)
38.4b
(-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))
38.3b
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
55.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
33.6b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
23.0b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
37.1b
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
50.6b
(pow.f64 (sqrt.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))) 2)
22.5b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
39.8b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
36.8b
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
22.7b
(log.f64 (exp.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
22.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
22.9b
(-.f64 (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))) (cos.f64 x))
39.5b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
57.8b
(log.f64 (exp.f64 (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))))
38.5b
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
5.9b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
22.6b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))
46.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
44.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
32.1b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))) -2)
22.5b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
38.1b
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)))
15.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
22.5b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
55.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
44.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
35.7b
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
51.3b
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))) 2)
38.5b
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
38.1b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
38.1b
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
31.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
52.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (sqrt.f64 eps) 2) 1/2))) -2)
48.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)) -2)
22.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
Compiler

Compiled 2439 to 1820 computations (25.4% saved)

localize19.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
0.2b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
1.4b
(+.f64 (cos.f64 eps) -1)
Compiler

Compiled 40 to 17 computations (57.5% saved)

series9.0ms (0%)

Counts
3 → 60
Calls

15 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
1.0ms
eps
@-inf
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
1.0ms
x
@inf
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
1.0ms
eps
@inf
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
1.0ms
x
@0
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))

rewrite72.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
524×log-prod_binary64
331×pow-prod-down_binary64
313×prod-diff_binary64
298×pow2_binary64
208×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01238
124336
2305036
Stop Event
node limit
Counts
3 → 107
Calls
Call 1
Inputs
(+.f64 (cos.f64 eps) -1)
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (/.f64 1 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 eps) 2) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) (neg.f64 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 eps) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (cos.f64 eps) -1))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 eps)) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (cbrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (sqrt.f64 (cos.f64 eps)) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 1) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) 2) (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (-.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) 2) (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) 2)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (cos.f64 x)) (exp.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))) (exp.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 -1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1 (cos.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) -1) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (cos.f64 x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (cos.f64 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (cos.f64 x)) (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (cos.f64 x)) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 x) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 -1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cos.f64 x) (*.f64 (cos.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) -1 (*.f64 (cos.f64 x) (cos.f64 eps)))))))

simplify84.0ms (0.5%)

Algorithm
egg-herbie
Rules
618×fma-def_binary64
540×unswap-sqr_binary64
477×fma-neg_binary64
446×sub-neg_binary64
314×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0881088
12521043
2767995
32975975
46369975
Stop Event
node limit
Counts
167 → 148
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 2))))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 2)))))) 1)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/40320 (*.f64 (pow.f64 eps 8) (cos.f64 x))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 2))) (*.f64 1/24 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 4))))) 1)
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 6))) (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 2))) (*.f64 1/24 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 4)))))) 1)
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
Outputs
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (neg.f64 (*.f64 x (sin.f64 eps))) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(fma.f64 x (neg.f64 (sin.f64 eps)) (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 2))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 -1/2 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x x)))) 1))
(+.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (fma.f64 (+.f64 (*.f64 (cos.f64 eps) -1/2) 1/2) (*.f64 x x) -1))
(+.f64 (cos.f64 eps) (+.f64 -1 (*.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps)) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 2)))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 -1/2 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x x))))) 1))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x))) (fma.f64 (+.f64 (*.f64 (cos.f64 eps) -1/2) 1/2) (*.f64 x x) -1)))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x) (fma.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2) -1)))
(+.f64 (fma.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2) (cos.f64 eps)) (fma.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x) -1))
(+.f64 (cos.f64 eps) (fma.f64 x (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (fma.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x) -1)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x))) (*.f64 eps (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 -1/2 eps)) (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))))) (*.f64 eps (sin.f64 x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))))) (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (cos.f64 x)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps))))
(+.f64 (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x)))
(*.f64 (*.f64 -1/2 (*.f64 eps eps)) (cos.f64 x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (cos.f64 x)))
(*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (cos.f64 x))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x)))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)) (fma.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (cos.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)) (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6)))))
(*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/40320 (*.f64 (pow.f64 eps 8) (cos.f64 x))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)) (fma.f64 1/40320 (*.f64 (pow.f64 eps 8) (cos.f64 x)) (fma.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (cos.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))) (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))
(*.f64 (cos.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/40320 (pow.f64 eps 8))))))
(*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8))))))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 2)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (*.f64 -1/2 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x x))) 1))
(+.f64 (cos.f64 eps) (fma.f64 (+.f64 (*.f64 (cos.f64 eps) -1/2) 1/2) (*.f64 x x) -1))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (+.f64 (cos.f64 eps) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 2))) (*.f64 1/24 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 4))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1/2 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x x)) (*.f64 1/24 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 4)))) 1))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 4))) (fma.f64 (+.f64 (*.f64 (cos.f64 eps) -1/2) 1/2) (*.f64 x x) -1)))
(+.f64 (cos.f64 eps) (fma.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2) (fma.f64 (pow.f64 x 4) (fma.f64 1/24 (cos.f64 eps) -1/24) -1)))
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 1/24 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 6))) (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 2))) (*.f64 1/24 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 4)))))) 1)
(+.f64 (fma.f64 -1/720 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 6)) (+.f64 (cos.f64 eps) (fma.f64 -1/2 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x x)) (*.f64 1/24 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 4)))))) -1)
(+.f64 -1 (+.f64 (fma.f64 -1/2 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x x)) (*.f64 1/24 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 4)))) (fma.f64 (+.f64 (*.f64 -1/720 (cos.f64 eps)) 1/720) (pow.f64 x 6) (cos.f64 eps))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (+.f64 (cos.f64 eps) -1)) (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/720 (pow.f64 x 6)))))
(fma.f64 (pow.f64 x 6) (fma.f64 -1/720 (cos.f64 eps) 1/720) (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 1/24 (pow.f64 x 4)))))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 (cos.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -1/2 (*.f64 eps eps))
Compiler

Compiled 12 to 6 computations (50% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(*.f64 -1/2 (*.f64 eps eps))
1.0ms
eps
@inf
(*.f64 -1/2 (*.f64 eps eps))
0.0ms
eps
@-inf
(*.f64 -1/2 (*.f64 eps eps))

rewrite45.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
432×pow1_binary64
420×add-sqr-sqrt_binary64
411×*-un-lft-identity_binary64
401×add-log-exp_binary64
401×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 -1/2 (*.f64 eps eps))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/2 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 eps eps))) (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 eps eps))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 eps eps)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 eps eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (sqrt.f64 -1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/4 (pow.f64 eps 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/2) (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -1/2 (*.f64 eps eps))))))))

simplify179.0ms (1%)

Algorithm
egg-herbie
Rules
1082×sqr-pow_binary64
617×cube-prod_binary64
554×fabs-mul_binary64
523×pow-sqr_binary64
441×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0684
11284
22384
34484
410584
533184
6125084
7212384
8228784
9247184
10267984
11297684
12337184
13385284
14441884
15510284
16593584
17632784
18661984
19689584
20696984
21700384
22794484
Stop Event
node limit
Counts
26 → 16
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (pow.f64 eps 2))
Outputs
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 -1/2 eps))

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
0.3b
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
1.4b
(+.f64 (cos.f64 eps) -1)
Compiler

Compiled 24 to 16 computations (33.3% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
1.0ms
eps
@inf
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
1.0ms
eps
@-inf
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
0.0ms
eps
@0
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
0.0ms
eps
@inf
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))

rewrite57.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
688×pow1_binary64
641×add-log-exp_binary64
640×log1p-expm1-u_binary64
640×expm1-log1p-u_binary64
628×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
116815
2172815
Stop Event
node limit
Counts
2 → 65
Calls
Call 1
Inputs
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) -1)) (*.f64 -1 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1 (+.f64 (cos.f64 eps) -1)) (*.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 eps) -1) -1) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2) (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2) (*.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) (*.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sqrt.f64 (+.f64 (cos.f64 eps) -1))) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2)) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (+.f64 (pow.f64 (cos.f64 eps) 2) -1)) (*.f64 (+.f64 (cos.f64 eps) 1) (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) (*.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1))) (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) (*.f64 (+.f64 (cos.f64 eps) 1) (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (+.f64 (pow.f64 (cos.f64 eps) 2) -1)) (*.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1))) (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (+.f64 (cos.f64 eps) -1)) (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (+.f64 (cos.f64 eps) -1)) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (pow.f64 (cos.f64 eps) 2) -1)) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (+.f64 (cos.f64 eps) -1))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (cos.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (cos.f64 eps) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1))) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 eps) 1) (+.f64 (pow.f64 (cos.f64 eps) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 eps) 2) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1)) (neg.f64 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (cos.f64 eps) 2)) (-.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (cbrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (sqrt.f64 (cos.f64 eps)) -1)))))

simplify78.0ms (0.4%)

Algorithm
egg-herbie
Rules
837×distribute-rgt-out_binary64
775×distribute-lft-out_binary64
644×fma-def_binary64
598×associate-*l*_binary64
458×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042260
1100260
2232260
3768260
43623260
56928260
67834260
Stop Event
node limit
Counts
89 → 83
Calls
Call 1
Inputs
(*.f64 1/4 (pow.f64 eps 4))
(+.f64 (*.f64 1/4 (pow.f64 eps 4)) (*.f64 -1/24 (pow.f64 eps 6)))
(+.f64 (*.f64 1/4 (pow.f64 eps 4)) (+.f64 (*.f64 -1/24 (pow.f64 eps 6)) (*.f64 1/320 (pow.f64 eps 8))))
(+.f64 (*.f64 -17/120960 (pow.f64 eps 10)) (+.f64 (*.f64 1/4 (pow.f64 eps 4)) (+.f64 (*.f64 -1/24 (pow.f64 eps 6)) (*.f64 1/320 (pow.f64 eps 8)))))
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
Outputs
(*.f64 1/4 (pow.f64 eps 4))
(+.f64 (*.f64 1/4 (pow.f64 eps 4)) (*.f64 -1/24 (pow.f64 eps 6)))
(fma.f64 1/4 (pow.f64 eps 4) (*.f64 -1/24 (pow.f64 eps 6)))
(+.f64 (*.f64 1/4 (pow.f64 eps 4)) (+.f64 (*.f64 -1/24 (pow.f64 eps 6)) (*.f64 1/320 (pow.f64 eps 8))))
(fma.f64 1/4 (pow.f64 eps 4) (fma.f64 -1/24 (pow.f64 eps 6) (*.f64 1/320 (pow.f64 eps 8))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 eps 4) 1/320 1/4) (*.f64 -1/24 (pow.f64 eps 6)))
(+.f64 (*.f64 -17/120960 (pow.f64 eps 10)) (+.f64 (*.f64 1/4 (pow.f64 eps 4)) (+.f64 (*.f64 -1/24 (pow.f64 eps 6)) (*.f64 1/320 (pow.f64 eps 8)))))
(fma.f64 -17/120960 (pow.f64 eps 10) (fma.f64 1/4 (pow.f64 eps 4) (fma.f64 -1/24 (pow.f64 eps 6) (*.f64 1/320 (pow.f64 eps 8)))))
(fma.f64 1/4 (pow.f64 eps 4) (fma.f64 -17/120960 (pow.f64 eps 10) (fma.f64 -1/24 (pow.f64 eps 6) (*.f64 1/320 (pow.f64 eps 8)))))
(fma.f64 1/4 (pow.f64 eps 4) (fma.f64 -1/24 (pow.f64 eps 6) (fma.f64 1/320 (pow.f64 eps 8) (*.f64 -17/120960 (pow.f64 eps 10)))))
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 eps -1/2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 (pow.f64 eps 4) 1/24 (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 eps (*.f64 eps -1/2) (*.f64 (pow.f64 eps 4) 1/24))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 6) -1/720)))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 -1/2 (*.f64 eps eps))))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 eps (*.f64 eps -1/2) (*.f64 (pow.f64 eps 6) -1/720)))
(fma.f64 (pow.f64 eps 6) -1/720 (*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2))))
(fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 eps (*.f64 eps -1/2) (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 (pow.f64 eps 8) 1/40320 (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
0.4b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
0.9b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
3.8b
(cos.f64 (+.f64 x eps))
Compiler

Compiled 39 to 10 computations (74.4% saved)

series54.0ms (0.3%)

Counts
2 → 40
Calls

12 calls:

TimeVariablePointExpression
36.0ms
x
@inf
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
5.0ms
x
@0
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
3.0ms
eps
@-inf
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
2.0ms
eps
@0
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
2.0ms
x
@-inf
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)

rewrite119.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
515×log-prod_binary64
488×fma-def_binary64
331×pow-prod-down_binary64
306×pow2_binary64
244×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01024
124024
2322924
Stop Event
node limit
Counts
2 → 165
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (/.f64 (pow.f64 (cos.f64 x) 3) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (/.f64 (pow.f64 (cos.f64 x) 2) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (*.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) 1) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 2) (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6)) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) (neg.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) (neg.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (cos.f64 x)) 3)) (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (-.f64 (pow.f64 (neg.f64 (cos.f64 x)) 2) (*.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (neg.f64 (cos.f64 x)) 2)) (-.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (/.f64 1 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cbrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cbrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (neg.f64 (cbrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (*.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (*.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (*.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (neg.f64 (sqrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (cos.f64 x))) 2) (cbrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (cos.f64 x))) (sqrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cos.f64 x) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) 1) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) 1) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) 1) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 2) (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 2) (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 2) (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6)) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6)) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6)) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -2) (cbrt.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) (cbrt.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) (cbrt.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 1))))))

simplify87.0ms (0.5%)

Algorithm
egg-herbie
Rules
730×fma-def_binary64
599×distribute-lft-in_binary64
599×distribute-rgt-in_binary64
457×*-commutative_binary64
428×distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01332063
14181976
215151925
367391923
Stop Event
node limit
Counts
205 → 189
Calls
Call 1
Inputs
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(+.f64 (*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1)) (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (sin.f64 eps))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (sin.f64 eps)))) x))
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2))) (*.f64 (pow.f64 (*.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (pow.f64 (sin.f64 eps) 2))))))) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1)) (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (sin.f64 eps))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (sin.f64 eps)))) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/3) (pow.f64 (sin.f64 eps) 3))) (+.f64 (*.f64 -1/6 (sin.f64 eps)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/9) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))))) (pow.f64 1 1/3))) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/9) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/9) (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))) (*.f64 (pow.f64 (*.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 8)) 1/9) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/3) (pow.f64 (sin.f64 eps) 3))) (+.f64 (*.f64 -1/6 (sin.f64 eps)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/9) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps))))))))))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2))) (*.f64 (pow.f64 (*.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (pow.f64 (sin.f64 eps) 2))))))) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1)) (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (sin.f64 eps))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (sin.f64 eps)))) x))))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/9) (*.f64 (sin.f64 eps) x))) (pow.f64 (-.f64 (cos.f64 eps) 1) 1/3))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/9) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/3) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (pow.f64 x 2)))) (pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/9) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/3) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (pow.f64 x 2)))) (+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 1/3) (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/3) (pow.f64 (sin.f64 eps) 3))) (+.f64 (*.f64 -1/6 (sin.f64 eps)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/9) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))))) (pow.f64 x 3)) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/3))))))
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 1/3)
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 1/3)
Outputs
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(+.f64 (*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1)) (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (sin.f64 eps))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (sin.f64 eps)))) x))
(+.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 4) 1/18) (pow.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 4) 1/18)) (sin.f64 eps)) -1) x))
(fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18) (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18)) (*.f64 (sin.f64 eps) -1)) x (+.f64 (cos.f64 eps) -1))
(fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18) (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18)) (sin.f64 eps)) (neg.f64 x) (+.f64 (cos.f64 eps) -1))
(-.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18) (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18)) (sin.f64 eps)) x))
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2))) (*.f64 (pow.f64 (*.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (pow.f64 (sin.f64 eps) 2))))))) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1)) (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (sin.f64 eps))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (sin.f64 eps)))) x)))
(fma.f64 (+.f64 (*.f64 1/3 (+.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2))))) (fma.f64 2/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2)) (*.f64 (cbrt.f64 (-.f64 (cos.f64 eps) 1)) (fma.f64 2/3 (*.f64 (+.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (cbrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)))) (*.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/18)))))))) (*.f64 x x) (+.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 4) 1/18) (pow.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 4) 1/18)) (sin.f64 eps)) -1) x)))
(fma.f64 (fma.f64 1/3 (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (pow.f64 (sin.f64 eps) 2)))) (fma.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18))) (*.f64 (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (pow.f64 (sin.f64 eps) 2)))) (*.f64 2/3 (cbrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18)) (*.f64 (pow.f64 (sin.f64 eps) 2) 2/9)))) (*.f64 x x) (fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18) (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18)) (*.f64 (sin.f64 eps) -1)) x (+.f64 (cos.f64 eps) -1)))
(-.f64 (fma.f64 (fma.f64 1/3 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (fma.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18))) (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18)) (*.f64 (pow.f64 (sin.f64 eps) 2) 2/9)))) (*.f64 x x) (cos.f64 eps)) (+.f64 1 (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18) (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18)) (sin.f64 eps)) x)))
(+.f64 (cos.f64 eps) (+.f64 -1 (*.f64 x (-.f64 (*.f64 x (fma.f64 1/3 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (fma.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18))) (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18)) (*.f64 (pow.f64 (sin.f64 eps) 2) 2/9))))) (*.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18) (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18)) (sin.f64 eps))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/3) (pow.f64 (sin.f64 eps) 3))) (+.f64 (*.f64 -1/6 (sin.f64 eps)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/9) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))))) (pow.f64 1 1/3))) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/9) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/9) (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))) (*.f64 (pow.f64 (*.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 8)) 1/9) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/3) (pow.f64 (sin.f64 eps) 3))) (+.f64 (*.f64 -1/6 (sin.f64 eps)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/9) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps))))))))))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2))) (*.f64 (pow.f64 (*.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/3) (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (pow.f64 (sin.f64 eps) 2))))))) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1)) (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (sin.f64 eps))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/9) (sin.f64 eps)))) x))))
(fma.f64 (fma.f64 -1/3 (*.f64 1 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2))) (pow.f64 (sin.f64 eps) 3)) (fma.f64 -1/6 (sin.f64 eps) (*.f64 -2/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/18)) (*.f64 (sin.f64 eps) (+.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2)))))))))) (fma.f64 -2/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/18)) (*.f64 (sin.f64 eps) (+.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2)))))) (fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/18)) (*.f64 (sin.f64 eps) (fma.f64 2/3 (*.f64 (+.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (cbrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)))) (*.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/18))))))) (*.f64 (cbrt.f64 (-.f64 (cos.f64 eps) 1)) (fma.f64 -2/9 (*.f64 (*.f64 (sin.f64 eps) (+.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2))))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 8)) 1/18))) (*.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1))) (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2))) (pow.f64 (sin.f64 eps) 3)) (fma.f64 -1/6 (sin.f64 eps) (*.f64 -2/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/18)) (*.f64 (sin.f64 eps) (+.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2)))))))))))))))) (pow.f64 x 3) (fma.f64 (+.f64 (*.f64 1/3 (+.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2))))) (fma.f64 2/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2)) (*.f64 (cbrt.f64 (-.f64 (cos.f64 eps) 1)) (fma.f64 2/3 (*.f64 (+.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (cbrt.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)))) (*.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 4)) 1/18)))))))) (*.f64 x x) (+.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 4) 1/18) (pow.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 4) 1/18)) (sin.f64 eps)) -1) x))))
(fma.f64 (fma.f64 -1/3 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (pow.f64 (sin.f64 eps) 3)) (fma.f64 (sin.f64 eps) -1/6 (*.f64 (*.f64 (sin.f64 eps) (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (pow.f64 (sin.f64 eps) 2))))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18)))))) (fma.f64 (*.f64 (sin.f64 eps) (*.f64 (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (pow.f64 (sin.f64 eps) 2)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18)))) -2/9 (fma.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (pow.f64 (sin.f64 eps) 3)) (fma.f64 (sin.f64 eps) -1/6 (*.f64 (*.f64 (sin.f64 eps) (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (pow.f64 (sin.f64 eps) 2))))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18))))))) (*.f64 (*.f64 (sin.f64 eps) (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (pow.f64 (sin.f64 eps) 2))))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 8)) 1/18))))) (*.f64 (*.f64 (sin.f64 eps) (fma.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18))) (*.f64 (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (pow.f64 (sin.f64 eps) 2)))) (*.f64 2/3 (cbrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))))))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18))))))) (pow.f64 x 3) (fma.f64 (fma.f64 1/3 (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (pow.f64 (sin.f64 eps) 2)))) (fma.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18))) (*.f64 (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (pow.f64 (sin.f64 eps) 2)))) (*.f64 2/3 (cbrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18)) (*.f64 (pow.f64 (sin.f64 eps) 2) 2/9)))) (*.f64 x x) (fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18) (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18)) (*.f64 (sin.f64 eps) -1)) x (+.f64 (cos.f64 eps) -1))))
(fma.f64 x (*.f64 x (fma.f64 1/3 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (fma.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18))) (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18)) (*.f64 (pow.f64 (sin.f64 eps) 2) 2/9))))) (fma.f64 (fma.f64 -1/3 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (pow.f64 (sin.f64 eps) 3)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18)))) -1/6))) (fma.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 (cbrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (*.f64 -2/3 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (pow.f64 (sin.f64 eps) 3)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18)))) -1/6)))) (*.f64 (sin.f64 eps) (*.f64 -2/9 (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 8)) 1/18)))))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 -2/9 (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18)))) (*.f64 -1/3 (*.f64 (fma.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18))) (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)))))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18)))))))) (pow.f64 x 3) (fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18) (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18)) (sin.f64 eps)) (neg.f64 x) (+.f64 (cos.f64 eps) -1))))
(fma.f64 (fma.f64 -1/3 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (pow.f64 (sin.f64 eps) 3)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18)))) -1/6))) (fma.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 (cbrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1))) (*.f64 -2/3 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (pow.f64 (sin.f64 eps) 3)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18)))) -1/6)))) (*.f64 (sin.f64 eps) (*.f64 -2/9 (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 8)) 1/18)))))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 -2/9 (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18)))) (*.f64 -1/3 (*.f64 (fma.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18))) (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)))))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18)))))))) (pow.f64 x 3) (+.f64 (cos.f64 eps) (+.f64 -1 (*.f64 x (-.f64 (*.f64 x (fma.f64 1/3 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (fma.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 4)) 1/18))) (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18)) (*.f64 (pow.f64 (sin.f64 eps) 2) 2/9))))) (*.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18) (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 4) 1/18)) (sin.f64 eps)))))))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)))
(*.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(cbrt.f64 (-.f64 (cos.f64 eps) 1))
(cbrt.f64 (+.f64 (cos.f64 eps) -1))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/9) (*.f64 (sin.f64 eps) x))) (pow.f64 (-.f64 (cos.f64 eps) 1) 1/3))
(fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/18)) (*.f64 (sin.f64 eps) x)) (cbrt.f64 (-.f64 (cos.f64 eps) 1)))
(fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18) (*.f64 (sin.f64 eps) x))) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))
(fma.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18) (*.f64 (sin.f64 eps) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18))) (*.f64 -1/3 x) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/9) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/3) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (pow.f64 x 2)))) (pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)))
(fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/18)) (*.f64 (sin.f64 eps) x)) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2))) (*.f64 (+.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (*.f64 x x))) (cbrt.f64 (-.f64 (cos.f64 eps) 1))))
(fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18) (*.f64 (sin.f64 eps) x))) (fma.f64 1/3 (*.f64 (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (pow.f64 (sin.f64 eps) 2)))) (*.f64 (*.f64 x x) (cbrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (cbrt.f64 (+.f64 (cos.f64 eps) -1))))
(fma.f64 1/3 (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 (*.f64 x x) (cbrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (fma.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18) (*.f64 (sin.f64 eps) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18))) (*.f64 -1/3 x) (cbrt.f64 (+.f64 (cos.f64 eps) -1))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/9) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/3) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (pow.f64 x 2)))) (+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 1/3) (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/3) (pow.f64 (sin.f64 eps) 3))) (+.f64 (*.f64 -1/6 (sin.f64 eps)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/9) (*.f64 (-.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))))) (pow.f64 x 3)) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/3))))))
(fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) 1/18)) (*.f64 (sin.f64 eps) x)) (+.f64 (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2))) (*.f64 (+.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (*.f64 x x))) (cbrt.f64 (-.f64 (cos.f64 eps) 1))) (*.f64 -1/3 (*.f64 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2))) (pow.f64 (sin.f64 eps) 3)) (fma.f64 -1/6 (sin.f64 eps) (*.f64 -2/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 5)) 1/18)) (*.f64 (sin.f64 eps) (+.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18) (pow.f64 (/.f64 1 (-.f64 (cos.f64 eps) 1)) 1/18)) (pow.f64 (sin.f64 eps) 2))))))))) (*.f64 (pow.f64 x 3) (cbrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 eps) 1) 2))))))))
(fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18) (*.f64 (sin.f64 eps) x))) (fma.f64 1/3 (*.f64 (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (pow.f64 (sin.f64 eps) 2)))) (*.f64 (*.f64 x x) (cbrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (fma.f64 -1/3 (*.f64 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (pow.f64 (sin.f64 eps) 3)) (fma.f64 (sin.f64 eps) -1/6 (*.f64 (*.f64 (sin.f64 eps) (+.f64 1/2 (fma.f64 (cos.f64 eps) -1/2 (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (pow.f64 (sin.f64 eps) 2))))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18)))))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (pow.f64 x 3))) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))
(+.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18) (*.f64 (sin.f64 eps) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1/18))) (*.f64 -1/3 x) (cbrt.f64 (+.f64 (cos.f64 eps) -1))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (+.f64 (*.f64 -1/3 (*.f64 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (pow.f64 (sin.f64 eps) 3)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 5)) 1/18)))) -1/6))) (pow.f64 x 3))) (*.f64 1/3 (*.f64 x (*.f64 x (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (/.f64 1 (+.f64 (cos.f64 eps) -1)) 1/18))) (fma.f64 (cos.f64 eps) -1/2 1/2))))))))
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 1/3)
(cbrt.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))

localize57.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (+.f64 x eps))
0.3b
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))
1.0b
(cbrt.f64 -2)
4.0b
(sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))
Compiler

Compiled 98 to 44 computations (55.1% saved)

series0.0ms (0%)

Counts
1 → 0

rewrite87.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
569×fma-def_binary64
367×expm1-udef_binary64
366×log1p-udef_binary64
312×fma-neg_binary64
228×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
1593
25973
359103
Stop Event
node limit
Counts
1 → 45
Calls
Call 1
Inputs
(cbrt.f64 -2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cbrt.f64 -2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 -2)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cbrt.f64 -2) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 -2)) (cbrt.f64 (cbrt.f64 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 4)) (cbrt.f64 (cbrt.f64 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -2 1/6) (pow.f64 -2 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 4))) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 -2))) (cbrt.f64 (cbrt.f64 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 16))) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 4))) (cbrt.f64 (cbrt.f64 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 -2) 1/6) (*.f64 (pow.f64 (cbrt.f64 -2) 1/6) (cbrt.f64 (cbrt.f64 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -2 1/12) (pow.f64 -2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -2 1/12) (*.f64 (pow.f64 -2 1/12) (pow.f64 -2 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -2 1/4) (pow.f64 -2 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 -2)) 5)) (pow.f64 (cbrt.f64 -2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 -2 1/6) (cbrt.f64 (cbrt.f64 -2))) (pow.f64 (cbrt.f64 -2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cbrt.f64 -2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 16)))) (cbrt.f64 (cbrt.f64 (cbrt.f64 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cbrt.f64 4)) (cbrt.f64 (cbrt.f64 (cbrt.f64 4)))) (cbrt.f64 (cbrt.f64 (cbrt.f64 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cbrt.f64 4)) (pow.f64 (cbrt.f64 -2) 1/6)) (pow.f64 (cbrt.f64 -2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (cbrt.f64 -2) 1) 3) 1) (fma.f64 (+.f64 (cbrt.f64 -2) 1) (+.f64 (cbrt.f64 -2) 1) (+.f64 1 (+.f64 (cbrt.f64 -2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (+.f64 (cbrt.f64 -2) 1) (+.f64 (cbrt.f64 -2) 1) -1) (+.f64 (+.f64 (cbrt.f64 -2) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 -2 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 4 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 -2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 -2 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 -2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (cbrt.f64 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 -2)))) (sqrt.f64 (log.f64 (cbrt.f64 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 -2))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 4))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 -2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (cbrt.f64 -2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (cbrt.f64 -2) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (+.f64 (cbrt.f64 -2) 1)) (cbrt.f64 (+.f64 (cbrt.f64 -2) 1))) (cbrt.f64 (+.f64 (cbrt.f64 -2) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (pow.f64 -2 1/6)) (hypot.f64 1 (pow.f64 -2 1/6)) -1)))))

simplify47.0ms (0.3%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

eval970.0ms (5.5%)

Compiler

Compiled 22114 to 11505 computations (48% saved)

prune429.0ms (2.4%)

Pruning

69 alts after pruning (65 fresh and 4 done)

PrunedKeptTotal
New96223985
Fresh264268
Picked101
Done347
Total992691061
Error
0.1b
Counts
1061 → 69
Alt Table
Click to see full alt table
StatusErrorProgram
33.7b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
38.5b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
23.0b
(pow.f64 (cbrt.f64 (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))) 3)
38.3b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) 1) -2)
57.3b
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
17.4b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (expm1.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))))
38.1b
(/.f64 (-.f64 1 (pow.f64 (cos.f64 eps) 2)) (-.f64 -1 (cos.f64 eps)))
46.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) 1/3)) -2)
16.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
6.1b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))))))
57.0b
(log.f64 1)
38.1b
(-.f64 (cos.f64 eps) (cos.f64 x))
5.9b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) -1)))
0.7b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (cos.f64 x)))
40.4b
(log.f64 (exp.f64 (-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)))
38.5b
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
33.0b
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
56.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
40.3b
(*.f64 (sin.f64 x) (neg.f64 eps))
38.1b
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
6.1b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) (cos.f64 x)))
47.4b
(expm1.f64 (log.f64 (cos.f64 eps)))
34.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))) -2)
36.7b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
38.1b
(-.f64 (cos.f64 eps) 1)
38.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
38.3b
(*.f64 (log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
50.4b
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (neg.f64 eps))) 2)
45.1b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
22.7b
(log.f64 (exp.f64 (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))))
47.5b
(*.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))
35.3b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
56.5b
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3))
33.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (expm1.f64 (log1p.f64 (sin.f64 (*.f64 1/2 eps))))) -2)
56.8b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
52.9b
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
55.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
33.6b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
23.0b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
38.4b
(-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))
22.6b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))
38.4b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 3)
56.2b
(fabs.f64 (+.f64 (cos.f64 eps) -1))
22.5b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
5.9b
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
39.8b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
52.5b
(*.f64 eps (*.f64 eps -1/2))
22.7b
(log.f64 (exp.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
22.5b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
39.5b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
22.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
5.9b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
38.3b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 eps) 1)) 3)
38.5b
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
46.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
35.3b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (cos.f64 x)))
44.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
38.1b
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)))
15.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
22.5b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
56.2b
(sqrt.f64 (-.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1))
35.7b
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
51.3b
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))) 2)
38.5b
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
38.1b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
48.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)) -2)
22.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
31.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
38.5b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2))
Compiler

Compiled 2054 to 1535 computations (25.3% saved)

localize35.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (cos.f64 x)))
0.2b
(/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps)))
0.3b
(pow.f64 (sin.f64 eps) 2)
0.4b
(-.f64 -1 (cos.f64 eps))
Compiler

Compiled 64 to 31 computations (51.6% saved)

series19.0ms (0.1%)

Counts
4 → 52
Calls

15 calls:

TimeVariablePointExpression
8.0ms
eps
@inf
(/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps)))
1.0ms
x
@inf
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (cos.f64 x)))
1.0ms
eps
@-inf
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (cos.f64 x)))
1.0ms
eps
@inf
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (cos.f64 x)))
1.0ms
x
@-inf
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (cos.f64 x)))

rewrite89.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
683×log-prod_binary64
447×prod-diff_binary64
259×pow1/3_binary64
255×expm1-udef_binary64
255×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01555
131637
2404737
Stop Event
node limit
Counts
4 → 181
Calls
Call 1
Inputs
(-.f64 -1 (cos.f64 eps))
(pow.f64 (sin.f64 eps) 2)
(/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (cos.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (*.f64 (neg.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (neg.f64 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 -1 (cos.f64 eps)))) (cbrt.f64 (exp.f64 (-.f64 -1 (cos.f64 eps)))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 -1 (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 -1 (cos.f64 eps))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 -1 (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 (cos.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 1 (+.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 -1 (cos.f64 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 (cos.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 (cos.f64 eps)) 2)) (cbrt.f64 (-.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 (cos.f64 eps)) 2)) (neg.f64 (cbrt.f64 (-.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 -1 (cos.f64 eps))) (sqrt.f64 (-.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 -1 (cos.f64 eps))) (neg.f64 (sqrt.f64 (-.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 (pow.f64 (cos.f64 eps) 3)) (/.f64 1 (fma.f64 (cos.f64 eps) (+.f64 -1 (cos.f64 eps)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (-.f64 -1 (cos.f64 eps)))) (sqrt.f64 (-.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 (cos.f64 eps)) 2))) (cbrt.f64 (-.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 eps) (+.f64 -1 (cos.f64 eps)) 1) (-.f64 -1 (pow.f64 (cos.f64 eps) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 -1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (pow.f64 (cos.f64 eps) 3)) (fma.f64 (cos.f64 eps) (+.f64 -1 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 -1 (pow.f64 (cos.f64 eps) 3))) (fma.f64 (cos.f64 eps) (+.f64 -1 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 -1 (pow.f64 (cos.f64 eps) 3))) (neg.f64 (fma.f64 (cos.f64 eps) (+.f64 -1 (cos.f64 eps)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (neg.f64 (cos.f64 eps)) 3)) (+.f64 1 (-.f64 (*.f64 (neg.f64 (cos.f64 eps)) (neg.f64 (cos.f64 eps))) (*.f64 -1 (neg.f64 (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (neg.f64 (cos.f64 eps)) (neg.f64 (cos.f64 eps)))) (-.f64 -1 (neg.f64 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 -1 (cos.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 -1 (cos.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 -1 (cos.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 -1 (cos.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (cos.f64 eps) (+.f64 -1 (cos.f64 eps)) 1) (-.f64 -1 (pow.f64 (cos.f64 eps) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 -1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 -1 (cos.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (exp.f64 (-.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (-.f64 -1 (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (/.f64 1 (exp.f64 (-.f64 -1 (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 -1 (cos.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 -1 (cos.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) -1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 -1 (cos.f64 eps)) (/.f64 1 (pow.f64 (sin.f64 eps) 2)) (neg.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 (+.f64 -1 (cos.f64 eps))) (neg.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (neg.f64 (cbrt.f64 (cos.f64 eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (neg.f64 (sqrt.f64 (cos.f64 eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (neg.f64 (cos.f64 eps))) (cbrt.f64 (neg.f64 (cos.f64 eps)))) (cbrt.f64 (neg.f64 (cos.f64 eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 1 (+.f64 -1 (cos.f64 eps)))) (cbrt.f64 (/.f64 1 (+.f64 -1 (cos.f64 eps))))) (cbrt.f64 (/.f64 1 (+.f64 -1 (cos.f64 eps)))) (neg.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (cos.f64 eps))) (sqrt.f64 (neg.f64 (cos.f64 eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 1 (+.f64 -1 (cos.f64 eps)))) (sqrt.f64 (/.f64 1 (+.f64 -1 (cos.f64 eps)))) (neg.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (sin.f64 eps)) (/.f64 (-.f64 -1 (cos.f64 eps)) (sin.f64 eps)) (neg.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 -1 (cos.f64 eps)) 2)) (sin.f64 eps)) (/.f64 (cbrt.f64 (-.f64 -1 (cos.f64 eps))) (sin.f64 eps)) (neg.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (-.f64 -1 (cos.f64 eps))) (sin.f64 eps)) (/.f64 (sqrt.f64 (-.f64 -1 (cos.f64 eps))) (sin.f64 eps)) (neg.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 -1 (cos.f64 eps)) 2)) 1) (/.f64 (cbrt.f64 (-.f64 -1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2)) (neg.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (-.f64 -1 (cos.f64 eps))) 1) (/.f64 (sqrt.f64 (-.f64 -1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2)) (neg.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (cbrt.f64 (pow.f64 (sin.f64 eps) 4))) (/.f64 (-.f64 -1 (cos.f64 eps)) (cbrt.f64 (pow.f64 (sin.f64 eps) 2))) (neg.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 -1 (cos.f64 eps)) 2)) (cbrt.f64 (pow.f64 (sin.f64 eps) 4))) (/.f64 (cbrt.f64 (-.f64 -1 (cos.f64 eps))) (cbrt.f64 (pow.f64 (sin.f64 eps) 2))) (neg.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (-.f64 -1 (cos.f64 eps))) (cbrt.f64 (pow.f64 (sin.f64 eps) 4))) (/.f64 (sqrt.f64 (-.f64 -1 (cos.f64 eps))) (cbrt.f64 (pow.f64 (sin.f64 eps) 2))) (neg.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (pow.f64 (cos.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (neg.f64 (cos.f64 eps)) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (sin.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 eps) 2))) (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 eps) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 eps) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (pow.f64 (cos.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (pow.f64 (sin.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 eps) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (pow.f64 (sin.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 eps) (sin.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 eps) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 2)) (cbrt.f64 (pow.f64 (sin.f64 eps) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4)) (cbrt.f64 (pow.f64 (sin.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4)) (neg.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (sin.f64 eps)) 3) (sqrt.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4))) (cbrt.f64 (pow.f64 (sin.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 eps) (cbrt.f64 (pow.f64 (sin.f64 eps) 2))) (cbrt.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 eps eps)) (cos.f64 (+.f64 eps eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (pow.f64 (cos.f64 eps) 2) 3)) (+.f64 1 (fma.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (cos.f64 eps) 2) (pow.f64 (cos.f64 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (cos.f64 eps) 2))) (+.f64 1 (pow.f64 (cos.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 (sin.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 eps) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (exp.f64 (pow.f64 (sin.f64 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (/.f64 1 (exp.f64 (pow.f64 (sin.f64 eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (sin.f64 eps) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 eps))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (cos.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (+.f64 -1 (cos.f64 eps)))) (cbrt.f64 (exp.f64 (+.f64 -1 (cos.f64 eps)))))) (log.f64 (cbrt.f64 (exp.f64 (+.f64 -1 (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (+.f64 -1 (cos.f64 eps))))) (log.f64 (sqrt.f64 (exp.f64 (+.f64 -1 (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 -1 (cos.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 eps) (*.f64 (sin.f64 eps) (/.f64 -1 (-.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 -1 (-.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (cos.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 -1 (cos.f64 eps))) (cbrt.f64 (pow.f64 (+.f64 -1 (cos.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 -1 (cos.f64 eps)) 2)) (cbrt.f64 (+.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4)) (*.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 -1 (-.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 -1 (cos.f64 eps))) (sqrt.f64 (+.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (-.f64 -1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 eps) 1) (/.f64 (sin.f64 eps) (-.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4)) 1) (/.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 2)) (-.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 eps) (cbrt.f64 (pow.f64 (-.f64 -1 (cos.f64 eps)) 2))) (/.f64 (sin.f64 eps) (cbrt.f64 (-.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (-.f64 -1 (cos.f64 eps)) 2))) (/.f64 (pow.f64 (sin.f64 eps) 2) (cbrt.f64 (-.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4)) (cbrt.f64 (pow.f64 (-.f64 -1 (cos.f64 eps)) 2))) (cbrt.f64 (+.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (-.f64 -1 (cos.f64 eps)))) (/.f64 (pow.f64 (sin.f64 eps) 2) (sqrt.f64 (-.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4)) (sqrt.f64 (-.f64 -1 (cos.f64 eps)))) (/.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 2)) (sqrt.f64 (-.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (pow.f64 (cos.f64 eps) 3))) (fma.f64 (cos.f64 eps) (+.f64 -1 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)) (+.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 -1 (cos.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 -1 (cos.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 -1 (cos.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 -1 (cos.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (+.f64 -1 (cos.f64 eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (pow.f64 (sin.f64 eps) 2) 3) (pow.f64 (-.f64 -1 (cos.f64 eps)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 (+.f64 -1 (cos.f64 eps))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 -1 (cos.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (exp.f64 (+.f64 -1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (+.f64 -1 (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 -1 (cos.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (pow.f64 (sin.f64 eps) 2) 3) (pow.f64 (-.f64 -1 (cos.f64 eps)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 -1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 -1 (cos.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 eps)) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (cbrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (sqrt.f64 (cos.f64 eps)) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) 1) (*.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))) (cbrt.f64 (exp.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))) 2) (cbrt.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))) (sqrt.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) 3) (pow.f64 (*.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x)) 3)) (fma.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)) (-.f64 (pow.f64 (*.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x)) 2) (*.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (pow.f64 (*.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x)) 2)) (-.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (+.f64 -1 (cos.f64 eps))) (cos.f64 x)) (exp.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x)))) (exp.f64 (*.f64 (sin.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 eps) (sin.f64 x))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 -1 (cos.f64 eps)) (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))) 1))))))

simplify80.0ms (0.5%)

Algorithm
egg-herbie
Rules
540×fma-neg_binary64
453×fma-def_binary64
428×cancel-sign-sub-inv_binary64
392×sub-neg_binary64
303×distribute-rgt-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0991144
12821069
27731049
32781928
47094928
Stop Event
node limit
Counts
233 → 224
Calls
Call 1
Inputs
-2
(-.f64 (*.f64 1/2 (pow.f64 eps 2)) 2)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -1/24 (pow.f64 eps 4))) 2)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/24 (pow.f64 eps 4)) (*.f64 1/720 (pow.f64 eps 6)))) 2)
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(pow.f64 eps 2)
(+.f64 (pow.f64 eps 2) (*.f64 -1/3 (pow.f64 eps 4)))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6))))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/315 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6)))))
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 2)) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 2)) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps)))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (cos.f64 x)) (*.f64 -1/8 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
Outputs
-2
(-.f64 (*.f64 1/2 (pow.f64 eps 2)) 2)
(fma.f64 1/2 (*.f64 eps eps) -2)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -1/24 (pow.f64 eps 4))) 2)
(+.f64 (fma.f64 1/2 (*.f64 eps eps) (*.f64 -1/24 (pow.f64 eps 4))) -2)
(fma.f64 1/2 (*.f64 eps eps) (fma.f64 -1/24 (pow.f64 eps 4) -2))
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/24 (pow.f64 eps 4)) (*.f64 1/720 (pow.f64 eps 6)))) 2)
(+.f64 (fma.f64 1/2 (*.f64 eps eps) (fma.f64 -1/24 (pow.f64 eps 4) (*.f64 1/720 (pow.f64 eps 6)))) -2)
(+.f64 (fma.f64 -1/24 (pow.f64 eps 4) (*.f64 1/720 (pow.f64 eps 6))) (fma.f64 1/2 (*.f64 eps eps) -2))
(fma.f64 1/2 (*.f64 eps eps) (fma.f64 -1/24 (pow.f64 eps 4) (fma.f64 1/720 (pow.f64 eps 6) -2)))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(pow.f64 eps 2)
(*.f64 eps eps)
(+.f64 (pow.f64 eps 2) (*.f64 -1/3 (pow.f64 eps 4)))
(+.f64 (*.f64 eps eps) (*.f64 (pow.f64 eps 4) -1/3))
(fma.f64 eps eps (*.f64 (pow.f64 eps 4) -1/3))
(fma.f64 (pow.f64 eps 4) -1/3 (*.f64 eps eps))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6))))
(+.f64 (*.f64 eps eps) (fma.f64 -1/3 (pow.f64 eps 4) (*.f64 (pow.f64 eps 6) 2/45)))
(fma.f64 eps eps (fma.f64 (pow.f64 eps 4) -1/3 (*.f64 (pow.f64 eps 6) 2/45)))
(fma.f64 (pow.f64 eps 4) -1/3 (fma.f64 eps eps (*.f64 (pow.f64 eps 6) 2/45)))
(fma.f64 (pow.f64 eps 4) -1/3 (fma.f64 (pow.f64 eps 6) 2/45 (*.f64 eps eps)))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/315 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6)))))
(+.f64 (*.f64 eps eps) (fma.f64 -1/315 (pow.f64 eps 8) (fma.f64 -1/3 (pow.f64 eps 4) (*.f64 (pow.f64 eps 6) 2/45))))
(fma.f64 eps eps (fma.f64 -1/315 (pow.f64 eps 8) (fma.f64 (pow.f64 eps 4) -1/3 (*.f64 (pow.f64 eps 6) 2/45))))
(fma.f64 -1/315 (pow.f64 eps 8) (fma.f64 (pow.f64 eps 4) -1/3 (fma.f64 eps eps (*.f64 (pow.f64 eps 6) 2/45))))
(fma.f64 eps eps (fma.f64 (pow.f64 eps 6) 2/45 (fma.f64 (pow.f64 eps 4) -1/3 (*.f64 -1/315 (pow.f64 eps 8)))))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 (*.f64 eps eps) -1/2)
(*.f64 eps (*.f64 eps -1/2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 (*.f64 eps eps) -1/2))
(fma.f64 (*.f64 eps eps) -1/2 (*.f64 (pow.f64 eps 4) 1/24))
(fma.f64 eps (*.f64 eps -1/2) (*.f64 (pow.f64 eps 4) 1/24))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 6) -1/720)))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (*.f64 eps eps) -1/2 (*.f64 (pow.f64 eps 6) -1/720)))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 (pow.f64 eps 4) 1/24 (*.f64 (pow.f64 eps 6) -1/720)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (*.f64 eps eps) -1/2 (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (pow.f64 eps 6) -1/720 (fma.f64 eps (*.f64 eps -1/2) (*.f64 (pow.f64 eps 8) 1/40320))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) x) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))))
(neg.f64 (fma.f64 (sin.f64 eps) x (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 2)) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))))
(fma.f64 1/2 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (*.f64 x x))) (*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) x) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))))
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (*.f64 x x)) (neg.f64 (fma.f64 (sin.f64 eps) x (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))))
(-.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (*.f64 x x))) (fma.f64 (sin.f64 eps) x (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))))
(-.f64 (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 2)) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps)))))))
(fma.f64 1/2 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (*.f64 x x))) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) x) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))))))
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (*.f64 x x)) (-.f64 (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x))) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (*.f64 x x)) (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x))) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))
(fma.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2)) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 eps (*.f64 (*.f64 eps -1/2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2)) (*.f64 eps (sin.f64 x))))
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 (cos.f64 x)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps))))
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (cos.f64 x)) (*.f64 -1/8 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 -1 (*.f64 (pow.f64 eps 4) (*.f64 (cos.f64 x) -1/24)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x))))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2)) (*.f64 eps (sin.f64 x)))) (*.f64 (pow.f64 eps 4) (*.f64 -1/24 (cos.f64 x))))
(fma.f64 (pow.f64 eps 4) (*.f64 1/24 (cos.f64 x)) (fma.f64 (*.f64 eps eps) (*.f64 -1/2 (cos.f64 x)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps)))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (fma.f64 eps (*.f64 eps -1/2) (*.f64 (pow.f64 eps 4) 1/24))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 -1 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (/.f64 (cos.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))

localize5.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(expm1.f64 (log.f64 (cos.f64 eps)))
1.3b
(log.f64 (cos.f64 eps))
Compiler

Compiled 12 to 5 computations (58.3% saved)

series54.0ms (0.3%)

Counts
2 → 16
Calls

6 calls:

TimeVariablePointExpression
35.0ms
eps
@inf
(log.f64 (cos.f64 eps))
16.0ms
eps
@-inf
(log.f64 (cos.f64 eps))
1.0ms
eps
@0
(log.f64 (cos.f64 eps))
0.0ms
eps
@0
(expm1.f64 (log.f64 (cos.f64 eps)))
0.0ms
eps
@inf
(expm1.f64 (log.f64 (cos.f64 eps)))

rewrite55.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
414×pow1_binary64
397×add-sqr-sqrt_binary64
391×*-un-lft-identity_binary64
379×add-log-exp_binary64
379×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
19311
2104811
Stop Event
node limit
Counts
2 → 64
Calls
Call 1
Inputs
(log.f64 (cos.f64 eps))
(expm1.f64 (log.f64 (cos.f64 eps)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cos.f64 eps)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (cos.f64 eps))) (log.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (log.f64 (cbrt.f64 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (cos.f64 eps))) (log.f64 (sqrt.f64 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (cos.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (cos.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (cos.f64 eps))) (pow.f64 (cbrt.f64 (log.f64 (cos.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 eps))) 2) (cbrt.f64 (log.f64 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (cos.f64 eps))) (sqrt.f64 (log.f64 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (sqrt.f64 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (log.f64 (cbrt.f64 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (log.f64 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (log.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2) (pow.f64 (cbrt.f64 (log.f64 (cos.f64 eps))) 2)) 1/3) (cbrt.f64 (cbrt.f64 (log.f64 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2) (sqrt.f64 (log.f64 (cos.f64 eps)))) 1/3) (cbrt.f64 (sqrt.f64 (log.f64 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (cos.f64 eps)))) 2) 3) (cbrt.f64 (log.f64 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (log.f64 (cos.f64 eps)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (log.f64 (cos.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (cos.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (cos.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (cos.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (cos.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (cos.f64 eps))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))) (log.f64 (sqrt.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) 2)) (log.f64 (cbrt.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2)) 1/3) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (sqrt.f64 (+.f64 (cos.f64 eps) -1))) 1/3) (cbrt.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1))) 2) 3) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 eps) 3) 1) (fma.f64 (cos.f64 eps) (cos.f64 eps) (+.f64 1 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) -1) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 eps)) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (cbrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (sqrt.f64 (cos.f64 eps)) -1)))))

simplify121.0ms (0.7%)

Algorithm
egg-herbie
Rules
898×distribute-rgt-out_binary64
648×fma-def_binary64
581×associate-*l*_binary64
528×distribute-lft-in_binary64
434×sqr-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039188
193188
2212188
3721188
43446188
55357188
66400188
76737188
87067188
97436188
107889188
Stop Event
node limit
Counts
80 → 78
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/12 (pow.f64 eps 4)))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/12 (pow.f64 eps 4)) (*.f64 -1/45 (pow.f64 eps 6))))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/12 (pow.f64 eps 4)) (+.f64 (*.f64 -1/45 (pow.f64 eps 6)) (*.f64 -17/2520 (pow.f64 eps 8)))))
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
Outputs
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/12 (pow.f64 eps 4)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/12 (pow.f64 eps 4)))
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps -1/12) -1/2))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/12 (pow.f64 eps 4)) (*.f64 -1/45 (pow.f64 eps 6))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/12 (pow.f64 eps 4) (*.f64 -1/45 (pow.f64 eps 6))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/45 (pow.f64 eps 6) (*.f64 -1/12 (pow.f64 eps 4))))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/12 (pow.f64 eps 4)) (+.f64 (*.f64 -1/45 (pow.f64 eps 6)) (*.f64 -17/2520 (pow.f64 eps 8)))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/12 (pow.f64 eps 4) (fma.f64 -1/45 (pow.f64 eps 6) (*.f64 -17/2520 (pow.f64 eps 8)))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/45 (pow.f64 eps 6) (fma.f64 -17/2520 (pow.f64 eps 8) (*.f64 -1/12 (pow.f64 eps 4)))))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 4) 1/24))
(fma.f64 (pow.f64 eps 4) 1/24 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 6) -1/720)))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 6) -1/720)))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) 1/24 (*.f64 (pow.f64 eps 6) -1/720)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (pow.f64 eps 6) -1/720 (fma.f64 (pow.f64 eps 8) 1/40320 (*.f64 -1/2 (*.f64 eps eps)))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (pow.f64 eps 8) 1/40320))))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
0.2b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
0.9b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
3.8b
(cos.f64 (+.f64 x eps))
Compiler

Compiled 37 to 8 computations (78.4% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
1.0ms
x
@0
(expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
0.0ms
x
@0
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
0.0ms
x
@-inf
(expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
0.0ms
x
@inf
(expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))

rewrite642.0ms (3.6%)

Algorithm
batch-egg-rewrite
Rules
483×log-prod_binary64
470×fma-def_binary64
298×pow-prod-down_binary64
286×pow2_binary64
249×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0924
119624
2296924
Stop Event
node limit
Counts
2 → 156
Calls
Call 1
Inputs
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (pow.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)) (log.f64 (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (/.f64 (pow.f64 (cos.f64 x) 3) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (/.f64 (pow.f64 (cos.f64 x) 2) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 1 (pow.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))) (log.f64 (-.f64 1 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) (neg.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) (neg.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (cos.f64 x)) 3)) (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (-.f64 (pow.f64 (neg.f64 (cos.f64 x)) 2) (*.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (neg.f64 (cos.f64 x)) 2)) (-.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (/.f64 1 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (neg.f64 (cbrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (neg.f64 (sqrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (cos.f64 x))) 2) (cbrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (cos.f64 x))) (sqrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cos.f64 x) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (pow.f64 (cbrt.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2) (cbrt.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (sqrt.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3) 1) (+.f64 (pow.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (+.f64 1 (*.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) 1) (+.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (exp.f64 (neg.f64 (cos.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2) (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) -1)))))

simplify71.0ms (0.4%)

Algorithm
egg-herbie
Rules
649×associate-*r*_binary64
619×associate-*l*_binary64
431×associate-+l+_binary64
400×unsub-neg_binary64
351×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01251020
1395988
21268932
36300930
Stop Event
node limit
Counts
204 → 193
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x)))) 1)
(-.f64 (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1/2 (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)) (*.f64 -1/2 (cos.f64 eps)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2))))) 1)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))) (+.f64 (*.f64 1/6 (sin.f64 eps)) (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 3))) (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1/2 (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)) (*.f64 -1/2 (cos.f64 eps)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2)))))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (sin.f64 x))))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x))))))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (sin.f64 x))))) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/24 (cos.f64 x)) (+.f64 (*.f64 -1/4 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (+.f64 (*.f64 1/8 (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 1/24 (pow.f64 (sin.f64 x) 4)) (*.f64 -1/6 (pow.f64 (sin.f64 x) 2))))))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (neg.f64 x) (sin.f64 eps)) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 x (neg.f64 (sin.f64 eps)) -1))
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x))) 1))
(+.f64 (cos.f64 eps) (+.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) (*.f64 x (neg.f64 (sin.f64 eps)))) -1))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x)))) 1))
(+.f64 (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))) (+.f64 (cos.f64 eps) -1))
(+.f64 (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (+.f64 (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) -1) (cos.f64 eps)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (neg.f64 eps)))
(*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (neg.f64 eps))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (neg.f64 eps)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x)))) 1)
(+.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (neg.f64 (*.f64 (*.f64 x (sin.f64 eps)) (exp.f64 (+.f64 (cos.f64 eps) -1)))) 1))
(+.f64 (*.f64 (*.f64 x (neg.f64 (sin.f64 eps))) (exp.f64 (+.f64 (cos.f64 eps) -1))) (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(+.f64 -1 (*.f64 (+.f64 (*.f64 (sin.f64 eps) (neg.f64 x)) 1) (exp.f64 (+.f64 (cos.f64 eps) -1))))
(-.f64 (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1/2 (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)) (*.f64 -1/2 (cos.f64 eps)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2))))) 1)
(+.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (fma.f64 -1 (*.f64 (*.f64 x (sin.f64 eps)) (exp.f64 (+.f64 (cos.f64 eps) -1))) (*.f64 (+.f64 1/2 (fma.f64 1/2 (pow.f64 (sin.f64 eps) 2) (*.f64 (cos.f64 eps) -1/2))) (*.f64 (*.f64 x x) (exp.f64 (+.f64 (cos.f64 eps) -1))))) 1))
(+.f64 (-.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 1/2 (pow.f64 (sin.f64 eps) 2))) (*.f64 x (*.f64 x (exp.f64 (+.f64 (cos.f64 eps) -1))))) (*.f64 x (*.f64 (sin.f64 eps) (exp.f64 (+.f64 (cos.f64 eps) -1))))) (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(+.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (*.f64 (*.f64 x x) (+.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)))) (*.f64 x (sin.f64 eps)))))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))) (+.f64 (*.f64 1/6 (sin.f64 eps)) (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 3))) (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1/2 (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)) (*.f64 -1/2 (cos.f64 eps)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2)))))) 1)
(+.f64 (fma.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2))) (fma.f64 1/6 (sin.f64 eps) (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)))) (*.f64 (pow.f64 x 3) (exp.f64 (+.f64 (cos.f64 eps) -1))) (+.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 -1 (*.f64 (*.f64 x (sin.f64 eps)) (exp.f64 (+.f64 (cos.f64 eps) -1))) (*.f64 (+.f64 1/2 (fma.f64 1/2 (pow.f64 (sin.f64 eps) 2) (*.f64 (cos.f64 eps) -1/2))) (*.f64 (*.f64 x x) (exp.f64 (+.f64 (cos.f64 eps) -1))))))) -1)
(fma.f64 (-.f64 (fma.f64 -1/6 (pow.f64 (sin.f64 eps) 3) (*.f64 (sin.f64 eps) 1/6)) (*.f64 (sin.f64 eps) (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (pow.f64 x 3) (exp.f64 (+.f64 (cos.f64 eps) -1))) (+.f64 (-.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 1/2 (pow.f64 (sin.f64 eps) 2))) (*.f64 x (*.f64 x (exp.f64 (+.f64 (cos.f64 eps) -1))))) (*.f64 x (*.f64 (sin.f64 eps) (exp.f64 (+.f64 (cos.f64 eps) -1))))) (expm1.f64 (+.f64 (cos.f64 eps) -1))))
(+.f64 -1 (+.f64 (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (*.f64 (*.f64 x x) (+.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)))) (*.f64 x (sin.f64 eps)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)) (*.f64 (sin.f64 eps) (+.f64 (neg.f64 (fma.f64 (cos.f64 eps) -1/2 1/2)) 1/6)))) 1) (exp.f64 (+.f64 (cos.f64 eps) -1)))))
(+.f64 -1 (+.f64 (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (*.f64 (*.f64 x x) (+.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)))) (*.f64 x (sin.f64 eps)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)) (*.f64 (sin.f64 eps) (-.f64 1/6 (fma.f64 (cos.f64 eps) -1/2 1/2))))) 1) (exp.f64 (+.f64 (cos.f64 eps) -1)))))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (neg.f64 eps)))
(*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))) (sin.f64 x)))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (sin.f64 x))))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x))))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (fma.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x)) (*.f64 1/6 (sin.f64 x)))) (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x))))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 (cos.f64 x)) 1/6))) (fma.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (neg.f64 eps))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (+.f64 1/6 (*.f64 1/2 (cos.f64 x))))) (*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))) (sin.f64 x))))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (sin.f64 x))))) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/24 (cos.f64 x)) (+.f64 (*.f64 -1/4 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (+.f64 (*.f64 1/8 (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 1/24 (pow.f64 (sin.f64 x) 4)) (*.f64 -1/6 (pow.f64 (sin.f64 x) 2))))))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (fma.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x)) (*.f64 1/6 (sin.f64 x)))) (fma.f64 (pow.f64 eps 4) (fma.f64 1/24 (cos.f64 x) (fma.f64 -1/4 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (fma.f64 1/8 (pow.f64 (cos.f64 x) 2) (fma.f64 1/24 (pow.f64 (sin.f64 x) 4) (*.f64 -1/6 (pow.f64 (sin.f64 x) 2)))))) (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 (cos.f64 x)) 1/6))) (fma.f64 (pow.f64 eps 4) (fma.f64 (cos.f64 x) 1/24 (fma.f64 -1/4 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (fma.f64 1/8 (pow.f64 (cos.f64 x) 2) (fma.f64 1/24 (pow.f64 (sin.f64 x) 4) (*.f64 -1/6 (pow.f64 (sin.f64 x) 2)))))) (fma.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (neg.f64 eps)))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (+.f64 1/6 (*.f64 1/2 (cos.f64 x))))) (fma.f64 (pow.f64 eps 4) (fma.f64 (cos.f64 x) 1/24 (+.f64 (fma.f64 1/8 (pow.f64 (cos.f64 x) 2) (*.f64 1/24 (pow.f64 (sin.f64 x) 4))) (*.f64 (pow.f64 (sin.f64 x) 2) (+.f64 -1/6 (*.f64 (cos.f64 x) -1/4))))) (*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))) (sin.f64 x)))))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 x) (cos.f64 eps))
0.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))
0.3b
(*.f64 (sin.f64 x) (sin.f64 eps))
1.3b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
Compiler

Compiled 47 to 10 computations (78.7% saved)

series10.0ms (0.1%)

Counts
4 → 64
Calls

24 calls:

TimeVariablePointExpression
2.0ms
x
@inf
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))
1.0ms
x
@inf
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
0.0ms
x
@0
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
0.0ms
x
@0
(*.f64 (cos.f64 x) (cos.f64 eps))
0.0ms
x
@-inf
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))

rewrite117.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
837×fma-def_binary64
670×log-prod_binary64
486×fma-neg_binary64
245×expm1-udef_binary64
245×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01157
125933
2389433
Stop Event
node limit
Counts
4 → 380
Calls
Call 1
Inputs
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(*.f64 (sin.f64 x) (sin.f64 eps))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))
(*.f64 (cos.f64 x) (cos.f64 eps))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)) (sin.f64 (/.f64 (+.f64 (+.f64 x eps) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) (neg.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) (neg.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (fma.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (cos.f64 x)) 3)) (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (-.f64 (*.f64 (neg.f64 (cos.f64 x)) (neg.f64 (cos.f64 x))) (*.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (*.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (*.f64 (neg.f64 (cos.f64 x)) (neg.f64 (cos.f64 x)))) (-.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (exp.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)) (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (*.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)) (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (/.f64 1 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (/.f64 1 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 1 (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 1 (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 1 (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (*.f64 (cbrt.f64 (cos.f64 eps)) (cos.f64 x)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (*.f64 (cbrt.f64 (cos.f64 eps)) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (*.f64 (cbrt.f64 (cos.f64 eps)) (cos.f64 x)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (neg.f64 (cbrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (cos.f64 x)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (cos.f64 x)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (neg.f64 (sqrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 x eps))) 1/2 (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 x eps))) 1/2 (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 x eps))) 1/2 (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 (-.f64 x eps)) (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 (-.f64 x eps)) (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 (-.f64 x eps)) (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2))) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps))) (/.f64 1 (cos.f64 (-.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps))) (/.f64 1 (cos.f64 (-.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps))) (/.f64 1 (cos.f64 (-.f64 x eps))) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps)))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps)))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 x) (cos.f64 (+.f64 x eps)))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (neg.f64 (cos.f64 x))) (cbrt.f64 (neg.f64 (cos.f64 x)))) (cbrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (cos.f64 x))) (sqrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cos.f64 x) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps))) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (cos.f64 (-.f64 x eps)) 2) (/.f64 (cos.f64 (+.f64 x eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (fma.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (*.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (+.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cbrt.f64 (exp.f64 (cos.f64 (+.f64 x eps)))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 (-.f64 x eps)) (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps))) (/.f64 1 (cos.f64 (-.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 (-.f64 x eps)) (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cos.f64 (-.f64 x eps)) (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 (-.f64 x eps)) (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps))) (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3))) (neg.f64 (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 (-.f64 x eps)) (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps)))) (neg.f64 (cos.f64 (-.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 x eps))) 2) (*.f64 2 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 x eps))) (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (-.f64 (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) 3)) (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (-.f64 (*.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))) (*.f64 (cos.f64 (+.f64 x eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (*.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))) (-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 (cos.f64 x)) (cos.f64 eps)) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (exp.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 x)) (cos.f64 eps)) (/.f64 1 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (/.f64 1 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))) (exp.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))) (pow.f64 (exp.f64 (cos.f64 x)) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (exp.f64 (cos.f64 x)) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps))) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 (+.f64 x eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 1 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 1 (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 1 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 1 (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (fma.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (*.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (+.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (fma.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (*.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (+.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (*.f64 (cbrt.f64 (cos.f64 eps)) (cos.f64 x)) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (*.f64 (cbrt.f64 (cos.f64 eps)) (cos.f64 x)) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (*.f64 (cbrt.f64 (cos.f64 eps)) (cos.f64 x)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (*.f64 (cbrt.f64 (cos.f64 eps)) (cos.f64 x)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2)) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (fma.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (*.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (+.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (fma.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (+.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (cos.f64 x)) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (cos.f64 x)) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (cos.f64 x)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (cos.f64 x)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (neg.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (fma.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (+.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 x eps))) 1/2 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 x eps))) 1/2 (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 x eps))) 1/2 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 x eps))) 1/2 (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 (-.f64 x eps)) (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 (-.f64 x eps)) (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2))) (fma.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 (-.f64 x eps)) (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 (-.f64 x eps)) (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2))) (*.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 (-.f64 x eps)) (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2))) (+.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps))) (/.f64 1 (cos.f64 (-.f64 x eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps))) (/.f64 1 (cos.f64 (-.f64 x eps))) (fma.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps))) (/.f64 1 (cos.f64 (-.f64 x eps))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps))) (/.f64 1 (cos.f64 (-.f64 x eps))) (*.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps))) (/.f64 1 (cos.f64 (-.f64 x eps))) (+.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))) (cbrt.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))) (cbrt.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))) (cbrt.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))) (cbrt.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))) (sqrt.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))) (sqrt.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (fma.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (*.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (+.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2))) (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 (sin.f64 x)) 1) (sin.f64 eps) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (cbrt.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (cos.f64 eps))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (cos.f64 eps))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (cos.f64 eps)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 x eps)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 x)) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 1))))))

simplify92.0ms (0.5%)

Algorithm
egg-herbie
Rules
809×fma-def_binary64
519×fma-neg_binary64
450×unswap-sqr_binary64
430×sub-neg_binary64
416×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01131266
13361185
210021106
336561081
471321081
Stop Event
node limit
Counts
444 → 443
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(*.f64 (sin.f64 eps) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 (sin.f64 eps) x))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 x 5) (sin.f64 eps))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 (sin.f64 eps) x)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 x 5) (sin.f64 eps))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 x 7) (sin.f64 eps))) (*.f64 (sin.f64 eps) x))))
(*.f64 eps (sin.f64 x))
(+.f64 (*.f64 eps (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(+.f64 (*.f64 eps (sin.f64 x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 7) (sin.f64 x))) (+.f64 (*.f64 eps (sin.f64 x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))))
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 1/24 (*.f64 (cos.f64 eps) (pow.f64 x 4)))))
(+.f64 (*.f64 -1/720 (*.f64 (cos.f64 eps) (pow.f64 x 6))) (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 1/24 (*.f64 (cos.f64 eps) (pow.f64 x 4))))))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (neg.f64 (*.f64 x (sin.f64 eps))) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(-.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (sin.f64 eps)))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x))) 1))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (fma.f64 (neg.f64 x) (sin.f64 eps) -1)))
(+.f64 (cos.f64 eps) (+.f64 -1 (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps)) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x)))) 1))
(+.f64 -1 (+.f64 (cos.f64 eps) (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x))))))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) -1)))
(+.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) (cos.f64 eps)) (fma.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) -1))
(+.f64 (cos.f64 eps) (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (fma.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) -1)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))
(fma.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (sin.f64 x) (neg.f64 eps)))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x))))
(fma.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3)))))
(-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps -1/2)))))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps -1/2)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 (sin.f64 eps) x))
(fma.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 x (sin.f64 eps)))
(*.f64 (sin.f64 eps) (+.f64 x (*.f64 (pow.f64 x 3) -1/6)))
(*.f64 (sin.f64 eps) (fma.f64 (pow.f64 x 3) -1/6 x))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 x 5) (sin.f64 eps))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 (sin.f64 eps) x)))
(fma.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)) (fma.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 x (sin.f64 eps))))
(fma.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)) (*.f64 (sin.f64 eps) (+.f64 x (*.f64 (pow.f64 x 3) -1/6))))
(*.f64 (sin.f64 eps) (+.f64 x (fma.f64 1/120 (pow.f64 x 5) (*.f64 (pow.f64 x 3) -1/6))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 x 5) (sin.f64 eps))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 x 7) (sin.f64 eps))) (*.f64 (sin.f64 eps) x))))
(fma.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)) (fma.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1/5040 (*.f64 (sin.f64 eps) (pow.f64 x 7)) (*.f64 x (sin.f64 eps)))))
(+.f64 (*.f64 (sin.f64 eps) (+.f64 x (*.f64 -1/5040 (pow.f64 x 7)))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 (pow.f64 x 3) -1/6))))
(*.f64 (sin.f64 eps) (+.f64 (fma.f64 -1/5040 (pow.f64 x 7) x) (fma.f64 1/120 (pow.f64 x 5) (*.f64 (pow.f64 x 3) -1/6))))
(*.f64 eps (sin.f64 x))
(+.f64 (*.f64 eps (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(fma.f64 eps (sin.f64 x) (*.f64 (*.f64 -1/6 (pow.f64 eps 3)) (sin.f64 x)))
(*.f64 (sin.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)))
(*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))
(+.f64 (*.f64 eps (sin.f64 x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))))
(fma.f64 eps (sin.f64 x) (fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (*.f64 (*.f64 -1/6 (pow.f64 eps 3)) (sin.f64 x))))
(fma.f64 eps (sin.f64 x) (*.f64 (sin.f64 x) (+.f64 (*.f64 (pow.f64 eps 3) -1/6) (*.f64 1/120 (pow.f64 eps 5)))))
(*.f64 (sin.f64 x) (+.f64 eps (fma.f64 (pow.f64 eps 3) -1/6 (*.f64 1/120 (pow.f64 eps 5)))))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 7) (sin.f64 x))) (+.f64 (*.f64 eps (sin.f64 x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))))
(fma.f64 -1/5040 (*.f64 (sin.f64 x) (pow.f64 eps 7)) (fma.f64 eps (sin.f64 x) (fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (*.f64 (*.f64 -1/6 (pow.f64 eps 3)) (sin.f64 x)))))
(+.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 (pow.f64 eps 3) -1/6) (*.f64 1/120 (pow.f64 eps 5)))) (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/5040 (pow.f64 eps 7)) eps)))
(*.f64 (sin.f64 x) (+.f64 (fma.f64 (pow.f64 eps 3) -1/6 (*.f64 1/120 (pow.f64 eps 5))) (fma.f64 -1/5040 (pow.f64 eps 7) eps)))
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (neg.f64 (*.f64 x (sin.f64 eps))))
(-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps)))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (neg.f64 (*.f64 x (sin.f64 eps)))))
(-.f64 (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (cos.f64 eps)) (*.f64 x (sin.f64 eps)))
(+.f64 (cos.f64 eps) (*.f64 x (-.f64 (*.f64 (cos.f64 eps) (*.f64 -1/2 x)) (sin.f64 eps))))
(-.f64 (cos.f64 eps) (*.f64 x (-.f64 (sin.f64 eps) (*.f64 -1/2 (*.f64 (cos.f64 eps) x)))))
(+.f64 (cos.f64 eps) (*.f64 x (-.f64 (*.f64 (*.f64 (cos.f64 eps) x) -1/2) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(+.f64 (cos.f64 eps) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (neg.f64 (*.f64 x (sin.f64 eps))))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x x))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))))
(+.f64 (cos.f64 eps) (fma.f64 (cos.f64 eps) (*.f64 x (*.f64 x -1/2)) (*.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)))))
(fma.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (cos.f64 eps) (*.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps))))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (cos.f64 x) (neg.f64 (*.f64 eps (sin.f64 x))))
(-.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))
(fma.f64 eps (neg.f64 (sin.f64 x)) (cos.f64 x))
(+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (+.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)) (*.f64 eps (sin.f64 x))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3)))))
(-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps)))
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x))))
(fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (cos.f64 eps))
(*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (cos.f64 eps))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (cos.f64 eps))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 1/24 (*.f64 (cos.f64 eps) (pow.f64 x 4)))))
(+.f64 (cos.f64 eps) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (*.f64 1/24 (*.f64 (cos.f64 eps) (pow.f64 x 4)))))
(+.f64 (cos.f64 eps) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (*.f64 (cos.f64 eps) (*.f64 (pow.f64 x 4) 1/24))))
(+.f64 (cos.f64 eps) (*.f64 (cos.f64 eps) (+.f64 (*.f64 x (*.f64 x -1/2)) (*.f64 1/24 (pow.f64 x 4)))))
(*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 x x)) (+.f64 1 (*.f64 1/24 (pow.f64 x 4)))))
(+.f64 (*.f64 -1/720 (*.f64 (cos.f64 eps) (pow.f64 x 6))) (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 1/24 (*.f64 (cos.f64 eps) (pow.f64 x 4))))))
(fma.f64 -1/720 (*.f64 (cos.f64 eps) (pow.f64 x 6)) (+.f64 (cos.f64 eps) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (*.f64 1/24 (*.f64 (cos.f64 eps) (pow.f64 x 4))))))
(+.f64 (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (*.f64 (cos.f64 eps) (*.f64 (pow.f64 x 4) 1/24))) (fma.f64 -1/720 (*.f64 (cos.f64 eps) (pow.f64 x 6)) (cos.f64 eps)))
(+.f64 (cos.f64 eps) (fma.f64 (cos.f64 eps) (*.f64 -1/720 (pow.f64 x 6)) (*.f64 (cos.f64 eps) (+.f64 (*.f64 x (*.f64 x -1/2)) (*.f64 1/24 (pow.f64 x 4))))))
(+.f64 (cos.f64 eps) (*.f64 (cos.f64 eps) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/2 (*.f64 x x))) (*.f64 -1/720 (pow.f64 x 6)))))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x))
(*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)))
(*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (+.f64 (cos.f64 x) (fma.f64 -1/720 (*.f64 (cos.f64 x) (pow.f64 eps 6)) (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 -1/2 (*.f64 eps eps)))) (fma.f64 (*.f64 1/24 (pow.f64 eps 4)) (cos.f64 x) (cos.f64 x)))
(fma.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))) (*.f64 (cos.f64 x) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(*.f64 (cos.f64 x) (+.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))

eval344.0ms (1.9%)

Compiler

Compiled 23990 to 7940 computations (66.9% saved)

prune330.0ms (1.9%)

Pruning

64 alts after pruning (57 fresh and 7 done)

PrunedKeptTotal
New1141161157
Fresh194160
Picked011
Done268
Total1162641226
Error
0.1b
Counts
1226 → 64
Alt Table
Click to see full alt table
StatusErrorProgram
23.0b
(fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
38.2b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
0.3b
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
23.0b
(pow.f64 (cbrt.f64 (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))) 3)
22.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
57.3b
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
17.4b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (expm1.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))))
33.7b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
39.5b
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
22.6b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
38.1b
(/.f64 (-.f64 1 (pow.f64 (cos.f64 eps) 2)) (-.f64 -1 (cos.f64 eps)))
16.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
57.0b
(log.f64 1)
5.9b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) -1)))
56.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
40.3b
(*.f64 (sin.f64 x) (neg.f64 eps))
6.1b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) (cos.f64 x)))
23.0b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
36.7b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
47.4b
(expm1.f64 (log.f64 (cos.f64 eps)))
38.1b
(-.f64 (cos.f64 eps) 1)
47.5b
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
38.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
35.5b
(+.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
50.4b
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (neg.f64 eps))) 2)
39.8b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
45.1b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
38.5b
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
22.7b
(log.f64 (exp.f64 (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))))
56.5b
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3))
33.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (expm1.f64 (log1p.f64 (sin.f64 (*.f64 1/2 eps))))) -2)
32.0b
(-.f64 (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x))
35.3b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
56.8b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
52.9b
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
38.1b
(-.f64 (cos.f64 eps) (cos.f64 x))
55.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
33.6b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
38.4b
(-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))
38.4b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 3)
56.2b
(fabs.f64 (+.f64 (cos.f64 eps) -1))
22.5b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
5.9b
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
52.5b
(*.f64 eps (*.f64 eps -1/2))
22.7b
(log.f64 (exp.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
22.5b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
39.5b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
38.1b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) 1)))
38.3b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 eps) 1)) 3)
5.9b
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
46.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
22.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
44.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
22.5b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
31.5b
(*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2))))
38.1b
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)))
15.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
56.2b
(sqrt.f64 (-.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1))
35.7b
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
51.3b
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))) 2)
38.5b
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
38.1b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
38.5b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2))
33.0b
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
Compiler

Compiled 946 to 693 computations (26.7% saved)

regimes769.0ms (4.3%)

Counts
143 → 1
Calls
Call 1
Inputs
(*.f64 eps (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(fabs.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
(expm1.f64 (log.f64 (cos.f64 eps)))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) 1)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 eps) 1)) 3)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (neg.f64 eps))) 2)
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 eps) 2)) (-.f64 -1 (cos.f64 eps)))
(sqrt.f64 (-.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (sqrt.f64 (*.f64 eps eps)) 1/2))) -2)
(+.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(-.f64 (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 3)
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 2)
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(*.f64 (log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
(*.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
(*.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) 1) -2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(log.f64 (exp.f64 (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (cos.f64 x)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (exp.f64 (log.f64 eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (expm1.f64 (log1p.f64 (sin.f64 (*.f64 1/2 eps))))) -2)
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (sqrt.f64 eps) 2) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)) -2)
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) 1/3)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
(log.f64 (exp.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))) -2)
(log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x))))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
(fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) -1)))
(fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
(log.f64 (exp.f64 (-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (expm1.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) (cos.f64 x)))
(log.f64 (exp.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))))))
(pow.f64 (sqrt.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))) 2)
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (cos.f64 x)))
(log.f64 (exp.f64 (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))))
(pow.f64 (cbrt.f64 (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))) 3)
(pow.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))) 2)
(log.f64 (exp.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
(-.f64 (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))) (cos.f64 x))
(fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
(fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))) 2)
(-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (cos.f64 x))
Outputs
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
Calls

4 calls:

208.0ms
eps
178.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
137.0ms
x
126.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
0.3b1x
0.3b1eps
0.3b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
0.3b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1997 to 861 computations (56.9% saved)

regimes664.0ms (3.8%)

Counts
115 → 3
Calls
Call 1
Inputs
(*.f64 eps (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(fabs.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
(expm1.f64 (log.f64 (cos.f64 eps)))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) 1)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 eps) 1)) 3)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (neg.f64 eps))) 2)
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 eps) 2)) (-.f64 -1 (cos.f64 eps)))
(sqrt.f64 (-.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (sqrt.f64 (*.f64 eps eps)) 1/2))) -2)
(+.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(-.f64 (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 3)
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 2)
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(*.f64 (log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
(*.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
(*.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) 1) -2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(log.f64 (exp.f64 (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (cos.f64 x)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (exp.f64 (log.f64 eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (expm1.f64 (log1p.f64 (sin.f64 (*.f64 1/2 eps))))) -2)
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (sqrt.f64 eps) 2) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)) -2)
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) 1/3)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
(log.f64 (exp.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))) -2)
(log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x))))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
(fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
Outputs
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
(-.f64 (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))
Calls

4 calls:

289.0ms
x
224.0ms
eps
54.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
49.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
0.5b3x
0.5b3eps
5.9b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
5.9b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1462 to 732 computations (49.9% saved)

bsearch176.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
82.0ms
6.186411156651901e-22
9.957831354091845e-21
93.0ms
-0.015377057109550571
-3.5239700274761556e-7
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes583.0ms (3.3%)

Counts
102 → 3
Calls
Call 1
Inputs
(*.f64 eps (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(fabs.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
(expm1.f64 (log.f64 (cos.f64 eps)))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) 1)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 eps) 1)) 3)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (neg.f64 eps))) 2)
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 eps) 2)) (-.f64 -1 (cos.f64 eps)))
(sqrt.f64 (-.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (sqrt.f64 (*.f64 eps eps)) 1/2))) -2)
(+.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(-.f64 (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 3)
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 2)
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(*.f64 (log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
(*.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
(*.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) 1) -2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(log.f64 (exp.f64 (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (cos.f64 x)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (exp.f64 (log.f64 eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (expm1.f64 (log1p.f64 (sin.f64 (*.f64 1/2 eps))))) -2)
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (sqrt.f64 eps) 2) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)) -2)
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) 1/3)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
(log.f64 (exp.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))) -2)
(log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x))))
Outputs
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x))
(-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
Calls

4 calls:

222.0ms
eps
202.0ms
x
61.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
59.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
0.5b3x
0.6b3eps
5.9b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
5.9b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1259 to 686 computations (45.5% saved)

bsearch206.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
114.0ms
6.186411156651901e-22
9.957831354091845e-21
91.0ms
-0.015377057109550571
-3.5239700274761556e-7
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes205.0ms (1.2%)

Counts
80 → 1
Calls
Call 1
Inputs
(*.f64 eps (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(fabs.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
(expm1.f64 (log.f64 (cos.f64 eps)))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) 1)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 eps) 1)) 3)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (neg.f64 eps))) 2)
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 eps) 2)) (-.f64 -1 (cos.f64 eps)))
(sqrt.f64 (-.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (sqrt.f64 (*.f64 eps eps)) 1/2))) -2)
(+.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(-.f64 (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 3)
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 2)
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(*.f64 (log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
(*.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
(*.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) 1) -2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
Outputs
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
Calls

4 calls:

57.0ms
eps
52.0ms
x
35.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
31.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
15.9b1x
15.9b1eps
15.9b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
15.9b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 854 to 449 computations (47.4% saved)

regimes133.0ms (0.8%)

Counts
29 → 3
Calls
Call 1
Inputs
(*.f64 eps (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(fabs.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
Outputs
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
Calls

4 calls:

42.0ms
x
41.0ms
eps
21.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
20.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
15.7b3x
15.8b3eps
16.8b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
16.8b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 252 to 135 computations (46.4% saved)

bsearch185.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
78.0ms
8.798873554713465e-8
2582.3897700112975
106.0ms
-547188.37384759
-0.015377057109550571
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes134.0ms (0.8%)

Counts
28 → 3
Calls
Call 1
Inputs
(*.f64 eps (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(fabs.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
Outputs
(-.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
Calls

4 calls:

42.0ms
eps
41.0ms
x
23.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
20.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
17.3b3x
15.8b3eps
16.8b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
16.8b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 239 to 127 computations (46.9% saved)

bsearch111.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
55.0ms
3.223341072942121e-5
74.34671932251439
56.0ms
-8661182162451.163
-3.3835551069291535e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes116.0ms (0.7%)

Counts
26 → 3
Calls
Call 1
Inputs
(*.f64 eps (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(fabs.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
Outputs
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2))))
(*.f64 (sin.f64 x) (neg.f64 eps))
Calls

4 calls:

37.0ms
eps
35.0ms
x
19.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
18.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
17.3b3x
20.0b3eps
21.7b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
21.7b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 217 to 117 computations (46.1% saved)

bsearch170.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
80.0ms
8.798873554713465e-8
2582.3897700112975
90.0ms
-547188.37384759
-0.015377057109550571
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes100.0ms (0.6%)

Counts
22 → 3
Calls
Call 1
Inputs
(*.f64 eps (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(fabs.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
Outputs
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
Calls

4 calls:

32.0ms
x
30.0ms
eps
16.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
16.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
20.5b3x
20.0b3eps
21.7b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
21.7b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 174 to 98 computations (43.7% saved)

bsearch262.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
159.0ms
6.531877774805346e-75
1.7126614923949732e-72
103.0ms
-2.474576117401579e-44
-3.682480179864628e-50
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes142.0ms (0.8%)

Counts
19 → 3
Calls
Call 1
Inputs
(*.f64 eps (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(fabs.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3))
Outputs
(-.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (sin.f64 x) (neg.f64 eps))
(-.f64 (cos.f64 eps) 1)
Calls

4 calls:

62.0ms
x
31.0ms
eps
30.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
13.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
23.8b5x
21.2b3eps
22.0b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
22.0b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 148 to 80 computations (45.9% saved)

bsearch160.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
102.0ms
3.223341072942121e-5
74.34671932251439
57.0ms
-3.563137615429812e-10
-3.219008999994791e-19
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes215.0ms (1.2%)

Counts
11 → 3
Calls
Call 1
Inputs
(*.f64 eps (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
Outputs
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(-.f64 (cos.f64 eps) 1)
Calls

2 calls:

157.0ms
x
55.0ms
eps
Results
ErrorSegmentsBranch
23.8b5x
21.3b3eps
Compiler

Compiled 83 to 51 computations (38.6% saved)

bsearch189.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
93.0ms
3.223341072942121e-5
74.34671932251439
96.0ms
-3.563137615429812e-10
-3.219008999994791e-19
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes27.0ms (0.2%)

Counts
5 → 3
Calls
Call 1
Inputs
(*.f64 eps (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
Outputs
(-.f64 (cos.f64 eps) 1)
(*.f64 eps (*.f64 eps -1/2))
(-.f64 (cos.f64 eps) 1)
Calls

2 calls:

13.0ms
eps
12.0ms
x
Results
ErrorSegmentsBranch
36.4b3x
33.2b3eps
Compiler

Compiled 33 to 23 computations (30.3% saved)

bsearch302.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
160.0ms
9.950379857852202e-49
5.012698809309373e-44
141.0ms
-8661182162451.163
-3.3835551069291535e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes28.0ms (0.2%)

Accuracy

Total -5.3b remaining (-10.1%)

Threshold costs -5.3b (-10.1%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 eps (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
Outputs
(*.f64 eps (*.f64 eps -1/2))
Calls

2 calls:

16.0ms
eps
9.0ms
x
Results
ErrorSegmentsBranch
52.5b1x
52.5b1eps
Compiler

Compiled 29 to 20 computations (31% saved)

simplify50.0ms (0.3%)

Algorithm
egg-herbie
Rules
35×*-commutative_binary64
24×+-commutative_binary64
19×sub-neg_binary64
13×neg-sub0_binary64
13×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
097534
1152534
2191534
3217534
4231534
5234534
6235534
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(if (<=.f64 x -283656637106695328/18446744073709551616) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))) (if (<=.f64 x 210512663113160960/340282366920938463463374607431768211456) (-.f64 (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))))
(if (<=.f64 x -283656637106695328/18446744073709551616) (-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (if (<=.f64 x 210512663113160960/340282366920938463463374607431768211456) (-.f64 (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x)) (-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(if (<=.f64 x -4700312340853641/8589934592) (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2) (if (<=.f64 x 6648240889885913/75557863725914323419136) (*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2)))) (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)))
(if (<=.f64 eps -8869050534349991/1024) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 4756811826787173/147573952589676412928) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)))
(if (<=.f64 x -4700312340853641/8589934592) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 x 6648240889885913/75557863725914323419136) (*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2)))) (*.f64 (sin.f64 x) (neg.f64 eps))))
(if (<=.f64 eps -1242653283271031/50216813883093446110686315385661331328818843555712276103168) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2) (if (<=.f64 eps 6652835010149069/1018517988167243043134222844204689080525734196832968125318070224677190649881668353091698688) (*.f64 (sin.f64 x) (neg.f64 eps)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)))
(if (<=.f64 eps -6892110499413121/19342813113834066795298816) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 4756811826787173/147573952589676412928) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -6892110499413121/19342813113834066795298816) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 4756811826787173/147573952589676412928) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -8869050534349991/1024) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 6549358161269173/6582018229284824168619876730229402019930943462534319453394436096) (*.f64 eps (*.f64 eps -1/2)) (-.f64 (cos.f64 eps) 1)))
(*.f64 eps (*.f64 eps -1/2))
Outputs
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (cos.f64 x))))
(neg.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (*.f64 (*.f64 (sin.f64 eps) (tan.f64 (/.f64 eps 2))) (cos.f64 x))))
(if (<=.f64 x -283656637106695328/18446744073709551616) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))) (if (<=.f64 x 210512663113160960/340282366920938463463374607431768211456) (-.f64 (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)))))
(if (<=.f64 x -8864269909584229/576460752303423488) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))) (if (<=.f64 x 822315090285785/1329227995784915872903807060280344576) (-.f64 (*.f64 (*.f64 (sin.f64 eps) (tan.f64 (/.f64 eps 2))) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x)) (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)))))
(if (<=.f64 x -283656637106695328/18446744073709551616) (-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) (if (<=.f64 x 210512663113160960/340282366920938463463374607431768211456) (-.f64 (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x)) (-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))))
(if (<=.f64 x -8864269909584229/576460752303423488) (-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) (if (<=.f64 x 822315090285785/1329227995784915872903807060280344576) (-.f64 (*.f64 (*.f64 (sin.f64 eps) (tan.f64 (/.f64 eps 2))) (+.f64 -1 (*.f64 1/2 (*.f64 x x)))) (*.f64 (sin.f64 eps) x)) (-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (-.f64 x x)))) (sin.f64 (*.f64 1/2 (+.f64 x (+.f64 eps x))))) -2)
(if (<=.f64 x -4700312340853641/8589934592) (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2) (if (<=.f64 x 6648240889885913/75557863725914323419136) (*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2)))) (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)))
(if (<=.f64 x -4700312340853641/8589934592) (*.f64 -2 (*.f64 (sin.f64 x) (sin.f64 (*.f64 1/2 (+.f64 eps (-.f64 x x)))))) (if (<=.f64 x 6648240889885913/75557863725914323419136) (*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2)))) (*.f64 -2 (*.f64 (sin.f64 x) (sin.f64 (*.f64 1/2 (+.f64 eps (-.f64 x x))))))))
(if (<=.f64 eps -8869050534349991/1024) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 4756811826787173/147573952589676412928) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)))
(if (<=.f64 eps -8869050534349991/1024) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 4756811826787173/147573952589676412928) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))))
(if (<=.f64 x -4700312340853641/8589934592) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 x 6648240889885913/75557863725914323419136) (*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2)))) (*.f64 (sin.f64 x) (neg.f64 eps))))
(if (<=.f64 x -4700312340853641/8589934592) (*.f64 eps (neg.f64 (sin.f64 x))) (if (<=.f64 x 6648240889885913/75557863725914323419136) (*.f64 (sin.f64 eps) (-.f64 (neg.f64 x) (tan.f64 (/.f64 eps 2)))) (*.f64 eps (neg.f64 (sin.f64 x)))))
(if (<=.f64 eps -1242653283271031/50216813883093446110686315385661331328818843555712276103168) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2) (if (<=.f64 eps 6652835010149069/1018517988167243043134222844204689080525734196832968125318070224677190649881668353091698688) (*.f64 (sin.f64 x) (neg.f64 eps)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)))
(if (<=.f64 eps -1242653283271031/50216813883093446110686315385661331328818843555712276103168) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (if (<=.f64 eps 6652835010149069/1018517988167243043134222844204689080525734196832968125318070224677190649881668353091698688) (*.f64 (sin.f64 x) (neg.f64 eps)) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))))
(if (<=.f64 eps -1242653283271031/50216813883093446110686315385661331328818843555712276103168) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (if (<=.f64 eps 6652835010149069/1018517988167243043134222844204689080525734196832968125318070224677190649881668353091698688) (*.f64 eps (neg.f64 (sin.f64 x))) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))))
(if (<=.f64 eps -6892110499413121/19342813113834066795298816) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 4756811826787173/147573952589676412928) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -6892110499413121/19342813113834066795298816) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 4756811826787173/147573952589676412928) (*.f64 (sin.f64 x) (neg.f64 eps)) (+.f64 (cos.f64 eps) -1)))
(if (<=.f64 eps -6892110499413121/19342813113834066795298816) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 4756811826787173/147573952589676412928) (*.f64 eps (neg.f64 (sin.f64 x))) (+.f64 (cos.f64 eps) -1)))
(if (<=.f64 eps -6892110499413121/19342813113834066795298816) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 4756811826787173/147573952589676412928) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -6892110499413121/19342813113834066795298816) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps 4756811826787173/147573952589676412928) (*.f64 (sin.f64 x) (neg.f64 eps)) (+.f64 (cos.f64 eps) -1)))
(if (<=.f64 eps -6892110499413121/19342813113834066795298816) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps 4756811826787173/147573952589676412928) (*.f64 eps (neg.f64 (sin.f64 x))) (+.f64 (cos.f64 eps) -1)))
(if (<=.f64 eps -8869050534349991/1024) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 6549358161269173/6582018229284824168619876730229402019930943462534319453394436096) (*.f64 eps (*.f64 eps -1/2)) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -8869050534349991/1024) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps 6549358161269173/6582018229284824168619876730229402019930943462534319453394436096) (*.f64 eps (*.f64 eps -1/2)) (+.f64 (cos.f64 eps) -1)))
(*.f64 eps (*.f64 eps -1/2))
Compiler

Compiled 369 to 243 computations (34.1% saved)

soundness213.0ms (1.2%)

Algorithm
egg-herbie
Rules
786×fma-neg_binary64
655×fma-def_binary64
540×fma-neg_binary64
529×sub-neg_binary64
453×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0891414
12641341
27661241
327531231
468861231
0991144
12821069
27731049
32781928
47094928
Stop Event
node limit
node limit
Compiler

Compiled 576 to 402 computations (30.2% saved)

end216.0ms (1.2%)

Compiler

Compiled 347 to 188 computations (45.8% saved)

Profiling

Loading profile data...