Details

Time bar (total: 7.9s)

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 (63.7%)

Results
2.3s3986×body1024valid
2.1s2102×body2048valid
454.0ms1347×body512valid
135.0ms563×body256valid
34.0ms256×body128valid
5.0msbody4096valid
Compiler

Compiled 20 to 14 computations (30% saved)

preprocess21.0ms (0.3%)

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
720022
828222
935322
1040522
1140922
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 9 to 6 computations (33.3% saved)

simplify10.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
712411
817211
920811
1023411
1123611
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))

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
38.6b
Counts
2 → 1
Alt Table
StatusErrorProgram
38.6b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 27 to 18 computations (33.3% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 x)
0.9b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
3.4b
(cos.f64 (+.f64 x eps))

series7.0ms (0.1%)

Counts
3 → 52
Calls

15 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))
1.0ms
eps
@0
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
1.0ms
x
@0
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))

rewrite63.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
457×fma-def_binary64
445×log-prod_binary64
238×fma-neg_binary64
180×expm1-udef_binary64
180×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0720
117420
2275420
Stop Event
node limit
Counts
3 → 185
Calls
Call 1
Inputs
(cos.f64 (+.f64 x eps))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(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 (*.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 (*.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)) (fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))) (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 (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 log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps))))))) (#(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 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (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 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (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 expm1.f64 (log1p.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 +.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 (*.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 -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 (*.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 (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 (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 log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x 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 (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 (*.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 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (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 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (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 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 +.f64 0 (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 x))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 x))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 x))) (cbrt.f64 (exp.f64 (cos.f64 x))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 x)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 x)) (pow.f64 (cbrt.f64 (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 x)) 1))))))

simplify34.0ms (0.4%)

Algorithm
egg-herbie
Rules
320×associate-+l-_binary64
306×sub-neg_binary64
268×fma-def_binary64
247×associate--l+_binary64
224×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
072674
1222666
2668650
32430632
Stop Event
node limit
Counts
237 → 224
Calls
Call 1
Inputs
(cos.f64 eps)
(-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))
(cos.f64 (+.f64 eps 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 x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(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 eps (sin.f64 x))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (cos.f64 x)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.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 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) 1))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))))
(-.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 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.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 eps (sin.f64 x))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.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 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))
1
(-.f64 1 (*.f64 1/2 (pow.f64 x 2)))
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (*.f64 1/2 (pow.f64 x 2)))
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (+.f64 (*.f64 1/720 (pow.f64 x 6)) (*.f64 1/2 (pow.f64 x 2))))
Outputs
(cos.f64 eps)
(-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))
(fma.f64 (sin.f64 eps) (neg.f64 x) (cos.f64 eps))
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x (*.f64 (*.f64 1/2 (cos.f64 eps)) (*.f64 x x))))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x (*.f64 (cos.f64 eps) (*.f64 1/2 (*.f64 x x)))))
(-.f64 (cos.f64 eps) (*.f64 x (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 1/2)) (sin.f64 eps))))
(-.f64 (*.f64 (fma.f64 (*.f64 x x) -1/2 1) (cos.f64 eps)) (*.f64 (sin.f64 eps) x))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 (*.f64 1/6 (sin.f64 eps)) (pow.f64 x 3))) (fma.f64 (sin.f64 eps) x (*.f64 (*.f64 1/2 (cos.f64 eps)) (*.f64 x x))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (cos.f64 eps)) (fma.f64 (sin.f64 eps) x (*.f64 (cos.f64 eps) (*.f64 1/2 (*.f64 x x)))))
(-.f64 (fma.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3)) (cos.f64 eps)) (*.f64 x (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 1/2)) (sin.f64 eps))))
(+.f64 (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (*.f64 (fma.f64 (*.f64 x x) -1/2 1) (cos.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 x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.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 eps (sin.f64 x))))
(-.f64 (cos.f64 x) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (cos.f64 x) (fma.f64 eps (sin.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (cos.f64 x))))))
(-.f64 (cos.f64 x) (fma.f64 eps (sin.f64 x) (*.f64 eps (*.f64 (*.f64 eps (cos.f64 x)) 1/2))))
(+.f64 (cos.f64 x) (*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -1/2) (sin.f64 x))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (cos.f64 x)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (cos.f64 x)) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (cos.f64 x)) (fma.f64 eps (sin.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (cos.f64 x))))))
(+.f64 (cos.f64 x) (+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2))))
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 eps eps) -1/2) 1) (cos.f64 x)) (*.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 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) 1))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x 1))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (*.f64 x x))) (+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 (*.f64 1/2 (cos.f64 eps)) (*.f64 x x))))
(-.f64 (fma.f64 1/2 (*.f64 x x) (cos.f64 eps)) (fma.f64 (sin.f64 eps) x (fma.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) 1)))
(-.f64 (fma.f64 x (*.f64 x 1/2) (cos.f64 eps)) (fma.f64 (*.f64 (cos.f64 eps) (*.f64 x 1/2)) x (fma.f64 (sin.f64 eps) x 1)))
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (*.f64 x 1/2) (-.f64 x (*.f64 (cos.f64 eps) x))) (fma.f64 (sin.f64 eps) x 1)))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))))
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 1/2 (*.f64 x x))) (+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 (*.f64 1/2 (cos.f64 eps)) (*.f64 x x)))))
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/2 (*.f64 x x) (*.f64 (sin.f64 eps) (*.f64 (pow.f64 x 3) 1/6))) (fma.f64 (sin.f64 eps) x (fma.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) 1))))
(+.f64 (fma.f64 x (*.f64 x 1/2) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (fma.f64 (cos.f64 eps) (*.f64 x (*.f64 x 1/2)) 1)))
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (*.f64 x x) (-.f64 (+.f64 (*.f64 (sin.f64 eps) (*.f64 1/6 x)) 1/2) (*.f64 (cos.f64 eps) 1/2))) (fma.f64 (sin.f64 eps) 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 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 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 eps (neg.f64 (sin.f64 x)))
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(neg.f64 (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) -1/2) (*.f64 eps (sin.f64 x)))
(fma.f64 eps (neg.f64 (sin.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2)))
(*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -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 eps (sin.f64 x))))
(-.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (fma.f64 eps (sin.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (cos.f64 x))))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2)))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -1/2) (sin.f64 x))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 (cos.f64 x) (*.f64 1/24 (pow.f64 eps 4)))) (fma.f64 eps (sin.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (cos.f64 x))))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 (cos.f64 x) (-.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 1/2 (*.f64 eps eps))))) (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (-.f64 (*.f64 1/24 (*.f64 eps 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 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))
1
(-.f64 1 (*.f64 1/2 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 x x) -1/2))
(fma.f64 (*.f64 x x) -1/2 1)
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (*.f64 1/2 (pow.f64 x 2)))
(+.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (*.f64 -1/2 (*.f64 x x)))
(+.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (*.f64 (*.f64 x x) -1/2))
(fma.f64 (*.f64 x x) -1/2 (fma.f64 1/24 (pow.f64 x 4) 1))
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (+.f64 (*.f64 1/720 (pow.f64 x 6)) (*.f64 1/2 (pow.f64 x 2))))
(-.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (fma.f64 1/720 (pow.f64 x 6) (*.f64 1/2 (*.f64 x x))))
(-.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (fma.f64 1/2 (*.f64 x x) (*.f64 1/720 (pow.f64 x 6))))
(+.f64 1 (fma.f64 1/24 (pow.f64 x 4) (fma.f64 (*.f64 x x) -1/2 (*.f64 (pow.f64 x 6) -1/720))))
(+.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (fma.f64 (*.f64 x x) -1/2 (*.f64 (pow.f64 x 6) -1/720)))

prune187.0ms (2.4%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New21014224
Fresh000
Picked101
Done000
Total21114225
Error
0.1b
Counts
225 → 14
Alt Table
StatusErrorProgram
33.5b
(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))))
12.4b
(*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
30.7b
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (-.f64 (*.f64 1/24 (*.f64 eps eps)) 1/2)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
41.0b
(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))))
26.5b
(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))))
39.1b
(+.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))))))
30.5b
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -1/2) (sin.f64 x))))
27.0b
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
38.7b
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x))))
26.0b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x))
38.8b
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3)) (cos.f64 x))
26.2b
(-.f64 (/.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 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (cos.f64 x))
26.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
38.7b
(/.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)))
Compiler

Compiled 4537 to 1476 computations (67.5% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series15.0ms (0.2%)

Counts
4 → 96
Calls

24 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
1.0ms
eps
@inf
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (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)))
1.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))

rewrite31.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
178×add-sqr-sqrt_binary64
173×pow1_binary64
172×*-un-lft-identity_binary64
167×add-exp-log_binary64
167×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01568
135228
Stop Event
node limit
Counts
4 → 111
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 -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 (exp.f64 (log1p.f64 (sin.f64 (*.f64 1/2 eps)))) 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 (cbrt.f64 (pow.f64 (pow.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 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) (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 log1p.f64 (expm1.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.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 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (*.f64 1/2 eps)))))))) (#(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 (/.f64 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) 2) (/.f64 (cos.f64 (*.f64 1/2 (+.f64 eps eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (-.f64 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) (cos.f64 (*.f64 1/2 (+.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) (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 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 log1p.f64 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))) (#(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 exp.f64 (log.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2 (-.f64 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)) 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 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 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 (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 eps 3) 0) (*.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) (+.f64 (*.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 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 cbrt.f64 (pow.f64 eps 3))))) (#(struct:change #<rule egg-rr> (2) ((x . eps)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 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 (+.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 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps) 0)))) (#(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 (+.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 eps) (sqrt.f64 eps) 0)))) (#(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 expm1.f64 (log1p.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))))))

simplify56.0ms (0.7%)

Algorithm
egg-herbie
Rules
603×distribute-rgt-neg-in_binary64
432×associate-*r*_binary64
416×associate-*l*_binary64
414×fma-def_binary64
396×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0911742
13001559
210321362
342031362
Stop Event
node limit
Counts
207 → 165
Calls
Call 1
Inputs
(sin.f64 (*.f64 1/2 eps))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))
(-.f64 (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(-.f64 (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.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 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)) (*.f64 1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/8 (*.f64 (pow.f64 eps 2) (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 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))))
(*.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 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (*.f64 1/12 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/48 (*.f64 (pow.f64 eps 4) (cos.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 (+.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)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))
(-.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (*.f64 1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))))
(-.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(*.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)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.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 eps (sin.f64 x))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(neg.f64 (+.f64 (*.f64 2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(-.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (+.f64 (*.f64 2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(-.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))) (+.f64 (*.f64 2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
eps
(+.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))
(*.f64 2 x)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
eps
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
eps
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
Outputs
(sin.f64 (*.f64 1/2 eps))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))
(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 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) -1/2)))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 (*.f64 (*.f64 x x) -1/2) 1) (sin.f64 (*.f64 1/2 eps))))
(-.f64 (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.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 (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (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 1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 x x) -1/2)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (-.f64 x (*.f64 1/6 (pow.f64 x 3))))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 x x) -1/2)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 x (*.f64 (pow.f64 x 3) -1/6)))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)) (*.f64 1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(-.f64 (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (*.f64 1/8 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (+.f64 (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) -1/8)))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (+.f64 (*.f64 (*.f64 eps eps) -1/8) 1) (sin.f64 x)))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (+.f64 (*.f64 eps (*.f64 eps -1/8)) 1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(-.f64 (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (fma.f64 1/48 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(-.f64 (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (fma.f64 1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 1/48 (*.f64 (cos.f64 x) (pow.f64 eps 3)))))
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 eps eps) -1/8) 1) (sin.f64 x)) (*.f64 (cos.f64 x) (-.f64 (*.f64 1/2 eps) (*.f64 1/48 (pow.f64 eps 3)))))
(+.f64 (*.f64 (+.f64 (*.f64 eps (*.f64 eps -1/8)) 1) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/48))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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 (+.f64 eps (*.f64 x 2))))
(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/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)))
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (*.f64 1/12 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(+.f64 (fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (*.f64 -1/12 (*.f64 (sin.f64 x) (pow.f64 eps 3))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) 1/12))))
(fma.f64 (sin.f64 x) (fma.f64 1/2 eps (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) 1/4)))
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/48 (*.f64 (pow.f64 eps 4) (cos.f64 x)))))
(-.f64 (fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (fma.f64 1/12 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 1/48 (*.f64 (cos.f64 x) (pow.f64 eps 4)))))
(+.f64 (fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) 1/12)))) (*.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 4))))
(fma.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) 1/4) (fma.f64 (sin.f64 x) (fma.f64 1/2 eps (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 (cos.f64 x) (*.f64 (pow.f64 eps 4) -1/48))))
(*.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 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))))
(-.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (*.f64 1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))))
(+.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (*.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 (*.f64 -1/2 (*.f64 x 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) (*.f64 (+.f64 (*.f64 (*.f64 x x) -1/2) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(-.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(-.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (fma.f64 1/2 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(-.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 (*.f64 (sin.f64 (*.f64 1/2 eps)) 1/6) (*.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 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -1/2)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (-.f64 x (*.f64 1/6 (pow.f64 x 3)))))))
(+.f64 (*.f64 (*.f64 x x) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -1/2)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 x (*.f64 (pow.f64 x 3) -1/6))))))
(*.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 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 (+.f64 eps (*.f64 x 2)))))
(*.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 -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)))
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(neg.f64 (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 (*.f64 (cos.f64 x) (*.f64 eps eps)) -1/2) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2)) (*.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 eps (sin.f64 x))))
(-.f64 (*.f64 (*.f64 1/6 (pow.f64 eps 3)) (sin.f64 x)) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 eps eps)))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2)))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 (cos.f64 x) (pow.f64 eps 4)) 1/24)) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 (cos.f64 x) (*.f64 (pow.f64 eps 4) 1/24))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(fma.f64 (sin.f64 x) (*.f64 1/6 (pow.f64 eps 3)) (-.f64 (*.f64 (cos.f64 x) (-.f64 (*.f64 (pow.f64 eps 4) 1/24) (*.f64 1/2 (*.f64 eps eps)))) (*.f64 eps (sin.f64 x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(neg.f64 (+.f64 (*.f64 2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(neg.f64 (*.f64 2 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(*.f64 -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)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))) -2)
(-.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (+.f64 (*.f64 2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(-.f64 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (-.f64 (*.f64 x x) 2)) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) -2))
(fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (fma.f64 x x -2) (*.f64 x (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) -2)))
(fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (fma.f64 x x -2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x -2))))
(-.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))) (+.f64 (*.f64 2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(-.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x x) (*.f64 (*.f64 1/3 (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 2 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(fma.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (fma.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) 1/3 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))))))
(fma.f64 x (*.f64 x (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) (-.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 x 2))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)))
(fma.f64 x (*.f64 x (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 x -2))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2)
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2))
eps
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(*.f64 2 x)
(*.f64 x 2)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(*.f64 2 x)
(*.f64 x 2)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(*.f64 2 x)
(*.f64 x 2)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
eps
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
eps
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 x 2))
(fma.f64 x 2 eps)

prune164.0ms (2.1%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1587165
Fresh5813
Picked101
Done000
Total16415179
Error
0.1b
Counts
179 → 15
Alt Table
StatusErrorProgram
26.0b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x))
30.5b
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2)))
32.7b
(*.f64 -2 (exp.f64 (log.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
32.1b
(*.f64 -2 (log1p.f64 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
47.8b
(*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)))
41.0b
(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))))
26.5b
(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))))
30.5b
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -1/2) (sin.f64 x))))
27.0b
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
36.2b
(*.f64 -2 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3))
33.5b
(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))))
36.0b
(*.f64 -2 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)))
26.2b
(-.f64 (/.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 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (cos.f64 x))
26.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
38.0b
(*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (log.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps))))))
Compiler

Compiled 3953 to 2553 computations (35.4% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 x)
0.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))
0.1b
(*.f64 (sin.f64 x) (sin.f64 eps))
2.5b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x))

series12.0ms (0.2%)

Counts
3 → 56
Calls

18 calls:

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

rewrite59.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
424×fma-def_binary64
228×fma-neg_binary64
213×expm1-udef_binary64
213×log1p-udef_binary64
131×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01149
124125
2339825
Stop Event
node limit
Counts
3 → 151
Calls
Call 1
Inputs
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x))
(*.f64 (sin.f64 x) (sin.f64 eps))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.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 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (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 (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 -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 (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 (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 cbrt.f64 (pow.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) 3))))) (#(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 fma.f64 (cos.f64 x) (cos.f64 eps) (fma.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) (fma.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 (-.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)) (fma.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 (-.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)) (fma.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 (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)) (fma.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 (-.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 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (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 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (fma.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 (+.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))) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (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)) (fma.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)) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (cos.f64 x))))))) (#(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 +.f64 0 (*.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)) 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 /.f64 (neg.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (-.f64 x eps)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (+.f64 0 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (*.f64 0 (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (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 (*.f64 -1 (-.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 (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 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 log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(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 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 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 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 (*.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 (fma.f64 (cos.f64 x) (cos.f64 eps) 0) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 (neg.f64 eps))) (*.f64 (sin.f64 x) (sin.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 (*.f64 -1 eps))) (*.f64 (sin.f64 x) (sin.f64 (*.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps)))) (*.f64 (sin.f64 x) (sin.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 (*.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 eps)))) (*.f64 (sin.f64 x) (sin.f64 (*.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (fma.f64 (neg.f64 eps) 1 eps))) (*.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (fma.f64 (neg.f64 eps) 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 eps)) (pow.f64 (cbrt.f64 eps) 2) eps))) (*.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 eps)) (pow.f64 (cbrt.f64 eps) 2) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 eps) eps))) (*.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 eps) 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)) (fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (-.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 (fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (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 (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 log1p.f64 (expm1.f64 (cos.f64 (-.f64 x eps))))))) (#(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 cos.f64 (-.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.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))))))

simplify45.0ms (0.6%)

Algorithm
egg-herbie
Rules
389×fma-def_binary64
375×sub-neg_binary64
320×cancel-sign-sub-inv_binary64
313×distribute-rgt-neg-in_binary64
304×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0891178
12921150
29121107
333841090
Stop Event
node limit
Counts
207 → 198
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) 1))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.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 eps (sin.f64 x))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(*.f64 (sin.f64 eps) x)
(-.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))))
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))))
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (+.f64 (*.f64 1/5040 (*.f64 (sin.f64 eps) (pow.f64 x 7))) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))))
(*.f64 eps (sin.f64 x))
(-.f64 (*.f64 eps (sin.f64 x)) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 eps (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/5040 (*.f64 (pow.f64 eps 7) (sin.f64 x)))))
(cos.f64 eps)
(-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))
(-.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)))
(-.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 eps (sin.f64 x)))
(-.f64 (cos.f64 x) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (cos.f64 x)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.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 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)))
(-.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)))
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) 1))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x 1))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (*.f64 x x))) (+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x)))))
(-.f64 (fma.f64 1/2 (*.f64 x x) (cos.f64 eps)) (fma.f64 (sin.f64 eps) x (fma.f64 1/2 (*.f64 x (*.f64 x (cos.f64 eps))) 1)))
(-.f64 (fma.f64 x (*.f64 x 1/2) (cos.f64 eps)) (fma.f64 (cos.f64 eps) (*.f64 x (*.f64 x 1/2)) (fma.f64 (sin.f64 eps) x 1)))
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (*.f64 x 1/2) (-.f64 x (*.f64 (cos.f64 eps) x))) (fma.f64 (sin.f64 eps) x 1)))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))))
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 1/2 (*.f64 x x))) (+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x))))))
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/2 (*.f64 x x) (*.f64 (sin.f64 eps) (*.f64 (pow.f64 x 3) 1/6))) (fma.f64 (sin.f64 eps) x (fma.f64 1/2 (*.f64 x (*.f64 x (cos.f64 eps))) 1))))
(+.f64 (fma.f64 x (*.f64 x 1/2) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (fma.f64 (cos.f64 eps) (*.f64 x (*.f64 x 1/2)) 1)))
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (*.f64 x x) (-.f64 (+.f64 1/2 (*.f64 x (*.f64 (sin.f64 eps) 1/6))) (*.f64 (cos.f64 eps) 1/2))) (fma.f64 (sin.f64 eps) x 1)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 eps (neg.f64 (sin.f64 x)))
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(neg.f64 (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) -1/2) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) -1/2)) (*.f64 eps (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -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 eps (sin.f64 x))))
(-.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (fma.f64 eps (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 1/2 (*.f64 eps eps)))))
(-.f64 (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) -1/2)) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)))) (fma.f64 eps (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 1/2 (*.f64 eps eps)))))
(-.f64 (*.f64 (cos.f64 x) (-.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/2)))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 (*.f64 eps eps) -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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 (*.f64 (sin.f64 eps) x) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))))
(+.f64 (*.f64 (sin.f64 eps) x) (*.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))))
(fma.f64 (sin.f64 eps) x (*.f64 (*.f64 (sin.f64 eps) (pow.f64 x 3)) -1/6))
(*.f64 (sin.f64 eps) (-.f64 x (*.f64 1/6 (pow.f64 x 3))))
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))))
(+.f64 (fma.f64 (sin.f64 eps) x (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (*.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))))
(fma.f64 (sin.f64 eps) x (fma.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)) (*.f64 (*.f64 (sin.f64 eps) (pow.f64 x 3)) -1/6)))
(fma.f64 (sin.f64 eps) (*.f64 1/120 (pow.f64 x 5)) (*.f64 (sin.f64 eps) (-.f64 x (*.f64 1/6 (pow.f64 x 3)))))
(*.f64 (sin.f64 eps) (-.f64 (*.f64 1/120 (pow.f64 x 5)) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)))
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (+.f64 (*.f64 1/5040 (*.f64 (sin.f64 eps) (pow.f64 x 7))) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))))
(-.f64 (fma.f64 (sin.f64 eps) x (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (fma.f64 1/5040 (*.f64 (sin.f64 eps) (pow.f64 x 7)) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))))
(-.f64 (fma.f64 (sin.f64 eps) x (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 (sin.f64 eps) (*.f64 (pow.f64 x 7) 1/5040))))
(-.f64 (*.f64 (sin.f64 eps) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (*.f64 1/5040 (pow.f64 x 7)))))
(*.f64 (sin.f64 eps) (-.f64 (+.f64 x (*.f64 1/120 (pow.f64 x 5))) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (*.f64 1/5040 (pow.f64 x 7)))))
(*.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 -1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))))
(*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))))
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 eps (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(+.f64 (fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (*.f64 eps (sin.f64 x))) (*.f64 -1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))))
(fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(*.f64 (sin.f64 x) (-.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (*.f64 1/6 (pow.f64 eps 3))))
(*.f64 (sin.f64 x) (+.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (*.f64 (pow.f64 eps 3) -1/6)))
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/5040 (*.f64 (pow.f64 eps 7) (sin.f64 x)))))
(-.f64 (fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (*.f64 eps (sin.f64 x))) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 1/5040 (*.f64 (sin.f64 x) (pow.f64 eps 7)))))
(-.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) eps)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (*.f64 1/5040 (pow.f64 eps 7)))))
(*.f64 (sin.f64 x) (-.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (fma.f64 1/6 (pow.f64 eps 3) (*.f64 1/5040 (pow.f64 eps 7)))))
(cos.f64 eps)
(-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x (*.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x)))))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x (*.f64 1/2 (*.f64 x (*.f64 x (cos.f64 eps))))))
(-.f64 (cos.f64 eps) (*.f64 x (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 x (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) x)) (sin.f64 eps))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) (fma.f64 (sin.f64 eps) x (*.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x)))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (cos.f64 eps)) (fma.f64 (sin.f64 eps) x (*.f64 1/2 (*.f64 x (*.f64 x (cos.f64 eps))))))
(-.f64 (fma.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3)) (cos.f64 eps)) (*.f64 x (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 x (-.f64 (*.f64 x (+.f64 (*.f64 x (*.f64 (sin.f64 eps) 1/6)) (*.f64 (cos.f64 eps) -1/2))) (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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(cos.f64 x)
(-.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(-.f64 (cos.f64 x) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (cos.f64 x) (fma.f64 eps (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 1/2 (*.f64 eps eps)))))
(-.f64 (cos.f64 x) (fma.f64 1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(-.f64 (cos.f64 x) (*.f64 eps (-.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps (cos.f64 x))))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (cos.f64 x)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (cos.f64 x)) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 (*.f64 1/6 (pow.f64 eps 3)) (sin.f64 x) (cos.f64 x)) (fma.f64 eps (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 1/2 (*.f64 eps eps)))))
(-.f64 (*.f64 (+.f64 (*.f64 (*.f64 eps eps) -1/2) 1) (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(-.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.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))))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))

prune202.0ms (2.6%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New2533256
Fresh31114
Picked011
Done000
Total25615271
Error
0.1b
Counts
271 → 15
Alt Table
StatusErrorProgram
26.0b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x))
30.5b
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2)))
32.7b
(*.f64 -2 (exp.f64 (log.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
26.3b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (log.f64 (exp.f64 (cos.f64 x))))
32.1b
(*.f64 -2 (log1p.f64 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
47.8b
(*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)))
41.0b
(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))))
26.1b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (expm1.f64 (log1p.f64 (cos.f64 x))))
30.5b
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -1/2) (sin.f64 x))))
36.2b
(*.f64 -2 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3))
33.5b
(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))))
36.0b
(*.f64 -2 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)))
26.1b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps))))) (cos.f64 x))
26.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
38.0b
(*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (log.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps))))))
Compiler

Compiled 5233 to 1833 computations (65% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 x)
0.0b
(-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))
0.1b
(*.f64 (sin.f64 x) (sin.f64 eps))
2.5b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))

series4.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite57.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
309×fma-def_binary64
209×expm1-udef_binary64
209×log1p-udef_binary64
207×fma-neg_binary64
139×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01240
125930
2371030
Stop Event
node limit
Counts
2 → 137
Calls
Call 1
Inputs
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
(-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(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 (*.f64 (cos.f64 x) (cos.f64 eps)) 1) (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)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) 0) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (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 (cbrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) 2) (cbrt.f64 (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 (sqrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (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 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 3)) (fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2) (*.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 (fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2)) (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 pow.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (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 log.f64 (+.f64 1 (expm1.f64 (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 cbrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (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 expm1.f64 (log1p.f64 (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 exp.f64 (log.f64 (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 exp.f64 (*.f64 (log.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (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)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (sin.f64 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 0 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) 0) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2) (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (neg.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3)) (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3))) (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3))) (neg.f64 (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 3)) (+.f64 0 (+.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2) (*.f64 0 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3))) (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) 1 (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) -1 (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 1 (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1 (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 1 (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sin.f64 x) (sin.f64 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 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) -1 (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sin.f64 x) (sin.f64 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 1 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (sin.f64 x) (sin.f64 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 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2) (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2) (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 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 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2) (cbrt.f64 (*.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) (cbrt.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 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))) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 x)) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 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 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 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 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (neg.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (neg.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 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 (sin.f64 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (neg.f64 (sqrt.f64 (cos.f64 x))) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 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 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 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 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (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 (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 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 -1 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (fma.f64 (sin.f64 x) (sin.f64 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 (neg.f64 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (sqrt.f64 (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 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 (neg.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 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 (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 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 (neg.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 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 -1 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 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 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (cbrt.f64 (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 1))))))

simplify36.0ms (0.5%)

Algorithm
egg-herbie
Rules
901×fma-neg_binary64
279×associate-+l-_binary64
259×sub-neg_binary64
240×distribute-rgt-neg-in_binary64
240×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
064844
1207826
2639808
32400791
Stop Event
node limit
Counts
185 → 169
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) 1))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.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 eps (sin.f64 x))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
1
(+.f64 (*.f64 (sin.f64 eps) x) 1)
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) 1) (*.f64 1/2 (pow.f64 x 2)))
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) 1) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2))))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) 1))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x 1))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (*.f64 x x))) (+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x)))))
(-.f64 (fma.f64 1/2 (*.f64 x x) (cos.f64 eps)) (fma.f64 (sin.f64 eps) x (fma.f64 1/2 (*.f64 x (*.f64 x (cos.f64 eps))) 1)))
(-.f64 (fma.f64 x (*.f64 x 1/2) (cos.f64 eps)) (fma.f64 (cos.f64 eps) (*.f64 x (*.f64 x 1/2)) (fma.f64 (sin.f64 eps) x 1)))
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (*.f64 x x) (-.f64 1/2 (*.f64 (cos.f64 eps) 1/2))) (fma.f64 (sin.f64 eps) x 1)))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))))
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 1/2 (*.f64 x x))) (+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x))))))
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/2 (*.f64 x x) (*.f64 (sin.f64 eps) (*.f64 (pow.f64 x 3) 1/6))) (fma.f64 (sin.f64 eps) x (fma.f64 1/2 (*.f64 x (*.f64 x (cos.f64 eps))) 1))))
(-.f64 (fma.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3)) (fma.f64 x (*.f64 x 1/2) (cos.f64 eps))) (fma.f64 (cos.f64 eps) (*.f64 x (*.f64 x 1/2)) (fma.f64 (sin.f64 eps) x 1)))
(+.f64 (cos.f64 eps) (-.f64 (+.f64 (*.f64 (*.f64 x x) (-.f64 1/2 (*.f64 (cos.f64 eps) 1/2))) -1) (*.f64 (sin.f64 eps) (+.f64 x (*.f64 (pow.f64 x 3) -1/6)))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(neg.f64 (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) -1/2) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) -1/2)) (*.f64 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 eps (sin.f64 x))))
(-.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 (sin.f64 x) (*.f64 1/6 (pow.f64 eps 3))) (fma.f64 eps (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 1/2 (*.f64 eps eps)))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) -1/2)))
(fma.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (*.f64 (sin.f64 x) (*.f64 1/6 (pow.f64 eps 3)))) (fma.f64 eps (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 1/2 (*.f64 eps 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 eps (*.f64 (pow.f64 eps 3) -1/6))))
(+.f64 (*.f64 (cos.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 eps (*.f64 eps -1/2)))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.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) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x)))
1
(+.f64 (*.f64 (sin.f64 eps) x) 1)
(fma.f64 (sin.f64 eps) x 1)
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) 1) (*.f64 1/2 (pow.f64 x 2)))
(+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 -1/2 (*.f64 x x)))
(-.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 x (*.f64 x 1/2)))
(fma.f64 (*.f64 x x) -1/2 (fma.f64 (sin.f64 eps) x 1))
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) 1) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2))))
(-.f64 (fma.f64 (sin.f64 eps) x 1) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 1/2 (*.f64 x x))))
(-.f64 (fma.f64 (sin.f64 eps) x 1) (fma.f64 1/2 (*.f64 x x) (*.f64 (sin.f64 eps) (*.f64 (pow.f64 x 3) 1/6))))
(+.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (*.f64 (sin.f64 eps) (-.f64 x (*.f64 1/6 (pow.f64 x 3)))))
(+.f64 1 (fma.f64 (sin.f64 eps) (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 x (*.f64 x -1/2))))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))
(fma.f64 eps (sin.f64 x) (cos.f64 x))
(-.f64 (+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(+.f64 (cos.f64 x) (-.f64 (*.f64 eps (sin.f64 x)) (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)))))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(fma.f64 (sin.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (cos.f64 x))
(fma.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))) (cos.f64 x))
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(+.f64 (fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))) (*.f64 -1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))))
(+.f64 (fma.f64 (*.f64 1/120 (pow.f64 eps 5)) (sin.f64 x) (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(fma.f64 (sin.f64 x) (*.f64 1/120 (pow.f64 eps 5)) (fma.f64 (sin.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (cos.f64 x)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 eps (fma.f64 1/120 (pow.f64 eps 5) (*.f64 (pow.f64 eps 3) -1/6)))))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))

prune189.0ms (2.4%)

Pruning

14 alts after pruning (12 fresh and 2 done)

PrunedKeptTotal
New2671268
Fresh21113
Picked011
Done011
Total26914283
Error
0.1b
Counts
283 → 14
Alt Table
StatusErrorProgram
32.7b
(*.f64 -2 (exp.f64 (log.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
26.0b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x))
30.5b
(fma.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))))
26.3b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (log.f64 (exp.f64 (cos.f64 x))))
32.1b
(*.f64 -2 (log1p.f64 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
47.8b
(*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)))
41.0b
(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))))
26.1b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (expm1.f64 (log1p.f64 (cos.f64 x))))
33.5b
(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))))
36.0b
(*.f64 -2 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)))
36.2b
(*.f64 -2 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3))
26.1b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps))))) (cos.f64 x))
26.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
38.0b
(*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (log.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps))))))
Compiler

Compiled 5974 to 1869 computations (68.7% saved)

regimes1.3s (16.8%)

Accuracy

Total 0.3b remaining (59.1%)

Threshold costs 0.3b (59.1%)

Counts
264 → 3
Compiler

Compiled 3622 to 1367 computations (62.3% saved)

bsearch86.0ms (1.1%)

Algorithm
binary-search
Calls

2 calls:

47.0ms
eps
37.0ms
eps
Steps
ItersPointRange
0.0024
∈ [
6.02121023960212e-7
,
211.0874644471943
]
-0.0028
∈ [
-0.006432066409629877
,
-0.0003585107523554905
]
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
11×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03894
16194
27294
37894
48094
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 eps -6456360425798343/2305843009213693952) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 1))) (if (<=.f64 eps 5534023222112865/2305843009213693952) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (-.f64 (*.f64 1/24 (*.f64 eps eps)) 1/2)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))))
Outputs
(if (<=.f64 eps -6456360425798343/2305843009213693952) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 1))) (if (<=.f64 eps 5534023222112865/2305843009213693952) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (-.f64 (*.f64 1/24 (*.f64 eps eps)) 1/2)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x))))
(if (<=.f64 eps -6456360425798343/2305843009213693952) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (if (<=.f64 eps 5534023222112865/2305843009213693952) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 1/24 (*.f64 eps eps)) -1/2)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))))

end212.0ms (2.7%)

Stop Event
fuel
Compiler

Compiled 364 to 239 computations (34.3% saved)

Profiling

Loading profile data...