Details

Time bar (total: 28.0s)

analyze1.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 10 to 7 computations (30% saved)

sample5.6s (19.9%)

Results
2.4s2089×body2048valid
2.4s3948×body1024valid
520.0ms1407×body512valid
194.0ms810×body256valid
3.0msbody4096valid
Bogosity

preprocess37.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 11 to 8 computations (27.3% saved)

simplify18.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 9 to 6 computations (33.3% saved)

localize14.0ms (0%)

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.5b
(cos.f64 (+.f64 x eps))
Compiler

Compiled 20 to 6 computations (70% saved)

series9.0ms (0%)

Counts
3 → 52
Calls

15 calls:

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

rewrite126.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

simplify53.0ms (0.2%)

Algorithm
egg-herbie
Rules
817×fma-neg_binary64
461×fma-def_binary64
393×associate-+l+_binary64
386×distribute-rgt-neg-out_binary64
351×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
081682
1222662
2599628
32574612
Stop Event
node limit
Counts
263 → 254
Calls
Call 1
Inputs
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 1/24 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/720 (pow.f64 x 6)))))
Outputs
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 (neg.f64 x) (sin.f64 eps)))
(-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps)))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (*.f64 (neg.f64 x) (sin.f64 eps))))
(+.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (*.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x x))))
(fma.f64 (sin.f64 eps) (neg.f64 x) (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (cos.f64 eps)))
(fma.f64 (fma.f64 x (*.f64 x -1/2) 1) (cos.f64 eps) (*.f64 x (neg.f64 (sin.f64 eps))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(+.f64 (cos.f64 eps) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (*.f64 (neg.f64 x) (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x x))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))))
(+.f64 (*.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x))) (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (cos.f64 eps)))
(fma.f64 (fma.f64 x (*.f64 x -1/2) 1) (cos.f64 eps) (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (+.f64 eps x))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (cos.f64 x) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))
(+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (+.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)) (*.f64 eps (sin.f64 x))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3)))))
(fma.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (+.f64 eps x))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (neg.f64 x) (sin.f64 eps)) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 x (neg.f64 (sin.f64 eps)) -1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)))) 1))
(+.f64 (fma.f64 (*.f64 x x) (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 (sin.f64 eps) (neg.f64 x))) (+.f64 (cos.f64 eps) -1))
(+.f64 (cos.f64 eps) (+.f64 -1 (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps)) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2))))) 1))
(+.f64 (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))) (+.f64 (cos.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) (fma.f64 (*.f64 x x) (fma.f64 (cos.f64 eps) -1/2 1/2) -1)))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x) (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) -1)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 eps (*.f64 (*.f64 eps (cos.f64 x)) -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 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x))))
(-.f64 (fma.f64 (*.f64 1/6 (pow.f64 eps 3)) (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps)))) (*.f64 eps (sin.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3)))))
(fma.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (-.f64 (fma.f64 (*.f64 1/6 (pow.f64 eps 3)) (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps)))) (*.f64 eps (sin.f64 x))))
(fma.f64 (cos.f64 x) (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3))))))
(-.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 1/6 (pow.f64 eps 3)))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 x x)))
(fma.f64 -1/2 (*.f64 x x) 1)
(fma.f64 x (*.f64 x -1/2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 1/24 (pow.f64 x 4))))
(+.f64 1 (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))))
(+.f64 1 (fma.f64 1/24 (pow.f64 x 4) (*.f64 -1/2 (*.f64 x x))))
(fma.f64 x (*.f64 x -1/2) (fma.f64 1/24 (pow.f64 x 4) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/720 (pow.f64 x 6)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 x x) (fma.f64 1/24 (pow.f64 x 4) (*.f64 -1/720 (pow.f64 x 6)))))
(+.f64 (fma.f64 -1/2 (*.f64 x x) 1) (fma.f64 -1/720 (pow.f64 x 6) (*.f64 1/24 (pow.f64 x 4))))
(+.f64 1 (fma.f64 1/24 (pow.f64 x 4) (fma.f64 x (*.f64 x -1/2) (*.f64 -1/720 (pow.f64 x 6)))))
(+.f64 (fma.f64 x (*.f64 x -1/2) 1) (fma.f64 1/24 (pow.f64 x 4) (*.f64 -1/720 (pow.f64 x 6))))

eval113.0ms (0.4%)

Compiler

Compiled 4419 to 1391 computations (68.5% saved)

prune131.0ms (0.5%)

Pruning

43 alts after pruning (42 fresh and 1 done)

PrunedKeptTotal
New21242254
Fresh000
Picked011
Done000
Total21243255
Error
0.2b
Counts
255 → 43
Alt Table
Click to see full alt table
StatusErrorProgram
22.6b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
46.8b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
34.9b
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
22.3b
(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)))))
37.8b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
56.6b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
37.6b
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
22.9b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
38.4b
(*.f64 (sin.f64 x) (neg.f64 eps))
37.6b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
57.1b
(-.f64 (cos.f64 x) (cos.f64 x))
15.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
37.6b
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
37.8b
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
22.6b
(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)))))
39.0b
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
17.1b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
37.6b
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3)) (cos.f64 x))
38.1b
(-.f64 (cos.f64 (+.f64 x eps)) 1)
49.2b
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
37.6b
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
22.3b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
22.3b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
39.0b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
37.7b
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
56.5b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
37.7b
(-.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 x eps)))))) (cos.f64 x))
35.5b
(-.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 1/6 (pow.f64 eps 3)))))
37.6b
(-.f64 (cos.f64 (+.f64 x eps)) (log.f64 (exp.f64 (cos.f64 x))))
22.9b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
35.5b
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
37.7b
(-.f64 (cos.f64 eps) 1)
38.2b
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
37.6b
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
35.1b
(fma.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
22.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
37.4b
(-.f64 (cos.f64 eps) (cos.f64 x))
22.5b
(-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (cos.f64 x))
22.2b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
31.9b
(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)))))
37.6b
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
39.9b
(-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 x (*.f64 x -1/2) 1))
37.7b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
Compiler

Compiled 1361 to 902 computations (33.7% saved)

localize72.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 88 to 34 computations (61.4% saved)

series33.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

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

rewrite150.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
687×fma-def_binary64
550×log-prod_binary64
304×fma-neg_binary64
222×expm1-udef_binary64
222×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify117.0ms (0.4%)

Algorithm
egg-herbie
Rules
862×fma-def_binary64
568×distribute-rgt-out_binary64
514×associate-*l*_binary64
499×associate-*r*_binary64
481×distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01131592
13351560
29841357
340671325
Stop Event
node limit
Counts
301 → 266
Calls
Call 1
Inputs
(sin.f64 (*.f64 1/2 eps))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 x)
(+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(*.f64 1/2 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
eps
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(*.f64 2 x)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(*.f64 2 x)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(*.f64 2 x)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
eps
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
eps
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 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 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (+.f64 (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.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 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 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))))
Outputs
(sin.f64 (*.f64 1/2 eps))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (sin.f64 (*.f64 1/2 eps))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (fma.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) -1/6))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 x)
(+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/8)) (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 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps)))))
(fma.f64 (cos.f64 x) (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/2 eps)) (fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/8)) (sin.f64 x)))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/8)) (fma.f64 (cos.f64 x) (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/2 eps)) (sin.f64 x)))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(*.f64 1/2 (*.f64 eps (sin.f64 x)))
(*.f64 eps (*.f64 1/2 (sin.f64 x)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(fma.f64 1/2 (*.f64 eps (sin.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) 1/4)))
(fma.f64 eps (*.f64 1/2 (sin.f64 x)) (*.f64 (*.f64 eps (cos.f64 x)) (*.f64 eps 1/4)))
(*.f64 eps (+.f64 (*.f64 1/2 (sin.f64 x)) (*.f64 (cos.f64 x) (*.f64 eps 1/4))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/4 (*.f64 eps (*.f64 eps (cos.f64 x))) (fma.f64 1/2 (*.f64 eps (sin.f64 x)) (*.f64 (sin.f64 x) (*.f64 -1/12 (pow.f64 eps 3)))))
(fma.f64 (cos.f64 x) (*.f64 eps (*.f64 eps 1/4)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12))))
(*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (fma.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/4 (*.f64 eps (*.f64 eps (cos.f64 x))) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (fma.f64 (*.f64 1/2 eps) (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 -1/48 (pow.f64 eps 4))))))
(fma.f64 (cos.f64 x) (*.f64 eps (*.f64 eps 1/4)) (fma.f64 (cos.f64 x) (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12)))))
(+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)))))
(+.f64 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 x x)))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (*.f64 x x) -1/2)))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 (*.f64 x (*.f64 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 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))))))
(+.f64 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (fma.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 x x))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))) (fma.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (*.f64 x x) -1/2))))
(+.f64 (*.f64 x (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 -1/2 x))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3)) (sin.f64 (*.f64 1/2 eps))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
eps
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(*.f64 2 x)
(*.f64 x 2)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(*.f64 2 x)
(*.f64 x 2)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(*.f64 2 x)
(*.f64 x 2)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
eps
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
eps
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 eps) (*.f64 (*.f64 eps (cos.f64 x)) (*.f64 eps -1/2)))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 -2 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12)))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (fma.f64 (*.f64 -2 (pow.f64 eps 3)) (*.f64 (sin.f64 x) -1/12) (*.f64 (sin.f64 x) (neg.f64 eps))))
(fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6) (fma.f64 (sin.f64 x) (neg.f64 eps) (*.f64 (*.f64 eps (cos.f64 x)) (*.f64 eps -1/2))))
(-.f64 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6)) (*.f64 eps (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 -2 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12))))))
(+.f64 (fma.f64 (*.f64 -2 (pow.f64 eps 3)) (*.f64 (sin.f64 x) -1/12) (*.f64 (sin.f64 x) (neg.f64 eps))) (*.f64 (cos.f64 x) (+.f64 (*.f64 (pow.f64 eps 4) 1/24) (*.f64 -1/2 (*.f64 eps eps)))))
(fma.f64 (cos.f64 x) (fma.f64 (pow.f64 eps 4) 1/24 (*.f64 eps (*.f64 eps -1/2))) (-.f64 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6)) (*.f64 eps (sin.f64 x))))
(fma.f64 (cos.f64 x) (fma.f64 (pow.f64 eps 4) 1/24 (*.f64 eps (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 (*.f64 -2 (pow.f64 eps 3)) -1/12) eps)))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 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 -2 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) -2))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(fma.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x x) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(+.f64 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) -2) (cos.f64 (*.f64 1/2 eps))) x) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 -2 (*.f64 x x))))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x -2)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 x x) -2)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x -2)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 x x) -2))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (+.f64 (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))))
(fma.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x x) (fma.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))))
(+.f64 (fma.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) 1/3))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 -2 (*.f64 x x))))
(fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 x x) -2) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) 1/3))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) 1/3))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 x x) -2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.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 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.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 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.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 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.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 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))

localize10.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 eps)
1.7b
(-.f64 (cos.f64 eps) 1)
Compiler

Compiled 10 to 6 computations (40% saved)

series3.0ms (0%)

Counts
2 → 8
Calls

6 calls:

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

rewrite69.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

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

simplify156.0ms (0.6%)

Algorithm
egg-herbie
Rules
601×distribute-rgt-out_binary64
562×associate-+l+_binary64
477×distribute-lft-out_binary64
468×associate-+r+_binary64
438×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
030118
175116
2170116
3534116
42204116
54568116
64947116
75453116
86503116
97579116
Stop Event
node limit
Counts
58 → 65
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
1
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1)
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -1/720 (pow.f64 eps 6)))))
Outputs
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(*.f64 eps (*.f64 eps (fma.f64 (*.f64 eps eps) 1/24 -1/2)))
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/24 (pow.f64 eps 4))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2) (*.f64 -1/720 (pow.f64 eps 6)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 1/40320 (pow.f64 eps 8) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps)))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 eps 4) 1/40320 1/24) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))
1
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1)
(fma.f64 -1/2 (*.f64 eps eps) 1)
(fma.f64 eps (*.f64 -1/2 eps) 1)
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) 1))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) 1))
(fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2) 1)
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -1/720 (pow.f64 eps 6)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) 1)))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) 1)))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) 1)))
(fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2) (fma.f64 -1/720 (pow.f64 eps 6) 1))

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 37 to 8 computations (78.4% saved)

series9.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite120.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

simplify65.0ms (0.2%)

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

Useful iterations: 3 (0.0ms)

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

localize14.0ms (0%)

Local error

Found 4 expressions with local error:

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

Compiled 32 to 12 computations (62.5% saved)

series12.0ms (0%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
4.0ms
eps
@inf
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
2.0ms
x
@inf
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
2.0ms
x
@-inf
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
1.0ms
eps
@0
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
1.0ms
x
@0
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))

rewrite83.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
483×log-prod_binary64
377×fma-def_binary64
322×pow-prod-down_binary64
284×pow2_binary64
221×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify98.0ms (0.4%)

Algorithm
egg-herbie
Rules
815×fma-neg_binary64
417×fma-def_binary64
348×distribute-rgt-neg-out_binary64
336×*-commutative_binary64
285×distribute-lft-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
090624
1260517
2663474
32724465
Stop Event
node limit
Counts
218 → 206
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (*.f64 (cos.f64 x) (pow.f64 1 1/3)))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (*.f64 (cos.f64 x) (pow.f64 1 1/3)))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (*.f64 (cos.f64 x) (pow.f64 1 1/3)))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (*.f64 (cos.f64 x) (pow.f64 1 1/3)))
(-.f64 (cos.f64 x) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x)))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 1/24 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/720 (pow.f64 x 6)))))
(*.f64 (cos.f64 x) (pow.f64 1 1/3))
(*.f64 (cos.f64 x) (pow.f64 1 1/3))
(*.f64 (cos.f64 x) (pow.f64 1 1/3))
(*.f64 (cos.f64 x) (pow.f64 1 1/3))
(*.f64 (pow.f64 1 1/3) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (cos.f64 x))
1
(+.f64 1 (*.f64 -1/6 (pow.f64 x 2)))
(+.f64 (*.f64 -1/72 (pow.f64 x 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 x 2))))
(+.f64 (*.f64 -1/72 (pow.f64 x 4)) (+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 x 2)) (*.f64 -23/6480 (pow.f64 x 6)))))
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (neg.f64 x) (sin.f64 eps)) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (neg.f64 x) -1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x))) 1))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x)) (fma.f64 (neg.f64 x) (sin.f64 eps) -1)))
(+.f64 (cos.f64 eps) (+.f64 -1 (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (fma.f64 x (fma.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2) (sin.f64 (neg.f64 eps))) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x)))) 1))
(+.f64 (cos.f64 eps) (+.f64 (+.f64 (*.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) -1)))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (*.f64 (cos.f64 x) (pow.f64 1 1/3)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (*.f64 (cos.f64 x) (pow.f64 1 1/3)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (*.f64 (cos.f64 x) (pow.f64 1 1/3)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (*.f64 (cos.f64 x) (pow.f64 1 1/3)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 x) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 x) (*.f64 -1 (cos.f64 x)))
(*.f64 0 (cos.f64 x))
0
(-.f64 (+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x)))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 x) (-.f64 (*.f64 (neg.f64 eps) (sin.f64 x)) (*.f64 1 (cos.f64 x))))
(+.f64 (*.f64 eps (neg.f64 (sin.f64 x))) (*.f64 0 (cos.f64 x)))
(*.f64 eps (neg.f64 (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 x) (-.f64 (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x))) (*.f64 1 (cos.f64 x))))
(+.f64 (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x))) (*.f64 0 (cos.f64 x)))
(fma.f64 eps (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (+.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x))))) (*.f64 -1 (cos.f64 x)))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)) (*.f64 eps (sin.f64 x)))) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3)))))
(-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (*.f64 (pow.f64 1 1/3) (cos.f64 x)))
(+.f64 (cos.f64 (+.f64 eps x)) (*.f64 -1 (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)))
(fma.f64 -1/2 (*.f64 x x) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 1/24 (pow.f64 x 4))))
(+.f64 1 (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))))
(fma.f64 x (*.f64 x -1/2) (fma.f64 1/24 (pow.f64 x 4) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/720 (pow.f64 x 6)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 x x) (fma.f64 1/24 (pow.f64 x 4) (*.f64 -1/720 (pow.f64 x 6)))))
(+.f64 (fma.f64 -1/2 (*.f64 x x) 1) (fma.f64 1/24 (pow.f64 x 4) (*.f64 -1/720 (pow.f64 x 6))))
(*.f64 (cos.f64 x) (pow.f64 1 1/3))
(*.f64 1 (cos.f64 x))
(cos.f64 x)
(*.f64 (cos.f64 x) (pow.f64 1 1/3))
(*.f64 1 (cos.f64 x))
(cos.f64 x)
(*.f64 (cos.f64 x) (pow.f64 1 1/3))
(*.f64 1 (cos.f64 x))
(cos.f64 x)
(*.f64 (cos.f64 x) (pow.f64 1 1/3))
(*.f64 1 (cos.f64 x))
(cos.f64 x)
(*.f64 (pow.f64 1 1/3) (cos.f64 x))
(*.f64 1 (cos.f64 x))
(cos.f64 x)
(*.f64 (pow.f64 1 1/3) (cos.f64 x))
(*.f64 1 (cos.f64 x))
(cos.f64 x)
(*.f64 (pow.f64 1 1/3) (cos.f64 x))
(*.f64 1 (cos.f64 x))
(cos.f64 x)
(*.f64 (pow.f64 1 1/3) (cos.f64 x))
(*.f64 1 (cos.f64 x))
(cos.f64 x)
1
(+.f64 1 (*.f64 -1/6 (pow.f64 x 2)))
(+.f64 1 (*.f64 (*.f64 x x) -1/6))
(fma.f64 (*.f64 x x) -1/6 1)
(fma.f64 x (*.f64 x -1/6) 1)
(+.f64 (*.f64 -1/72 (pow.f64 x 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 x 2))))
(fma.f64 -1/72 (pow.f64 x 4) (+.f64 1 (*.f64 (*.f64 x x) -1/6)))
(fma.f64 (pow.f64 x 4) -1/72 (fma.f64 (*.f64 x x) -1/6 1))
(fma.f64 x (*.f64 x -1/6) (fma.f64 (pow.f64 x 4) -1/72 1))
(+.f64 (*.f64 -1/72 (pow.f64 x 4)) (+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 x 2)) (*.f64 -23/6480 (pow.f64 x 6)))))
(fma.f64 -1/72 (pow.f64 x 4) (+.f64 1 (fma.f64 -1/6 (*.f64 x x) (*.f64 (pow.f64 x 6) -23/6480))))
(+.f64 (fma.f64 (pow.f64 x 4) -1/72 (fma.f64 (*.f64 x x) -1/6 1)) (*.f64 (pow.f64 x 6) -23/6480))
(fma.f64 (pow.f64 x 4) -1/72 (fma.f64 x (*.f64 x -1/6) (fma.f64 (pow.f64 x 6) -23/6480 1)))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 x)
0.1b
(-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))
0.2b
(*.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)))))
Compiler

Compiled 54 to 11 computations (79.6% saved)

series13.0ms (0%)

Counts
4 → 60
Calls

21 calls:

TimeVariablePointExpression
5.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)))))
1.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)))))
1.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)))))
1.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)))))
1.0ms
x
@0
(*.f64 (sin.f64 x) (sin.f64 eps))

rewrite94.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
552×log-prod_binary64
356×pow-prod-down_binary64
308×fma-def_binary64
302×pow2_binary64
209×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify80.0ms (0.3%)

Algorithm
egg-herbie
Rules
662×fma-def_binary64
452×*-commutative_binary64
446×associate-+l+_binary64
435×distribute-rgt-neg-in_binary64
380×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01011140
12981033
2840970
32881958
46072958
Stop Event
node limit
Counts
266 → 261
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(*.f64 (sin.f64 eps) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 (sin.f64 eps) x))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 x 5) (sin.f64 eps))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 (sin.f64 eps) x)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 x 5) (sin.f64 eps))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 x 7) (sin.f64 eps))) (*.f64 (sin.f64 eps) x))))
(*.f64 eps (sin.f64 x))
(+.f64 (*.f64 eps (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(+.f64 (*.f64 eps (sin.f64 x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 7) (sin.f64 x))) (+.f64 (*.f64 eps (sin.f64 x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))))
1
(+.f64 1 (*.f64 (sin.f64 eps) x))
(+.f64 1 (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 1 (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 -1/2 (pow.f64 x 2)))))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(cos.f64 x)
(+.f64 (*.f64 eps (sin.f64 x)) (cos.f64 x))
(+.f64 (*.f64 eps (sin.f64 x)) (+.f64 (cos.f64 x) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))))
(+.f64 (*.f64 eps (sin.f64 x)) (+.f64 (cos.f64 x) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
x
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)))
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (neg.f64 (*.f64 x (sin.f64 eps))) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x))) 1))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (fma.f64 (neg.f64 x) (sin.f64 eps) -1)))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps)) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x)))) 1))
(+.f64 (cos.f64 eps) (+.f64 (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x) (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) -1)))
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) -1) (*.f64 (sin.f64 eps) (fma.f64 (pow.f64 x 3) -1/6 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps))))
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (neg.f64 (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))))
(fma.f64 (cos.f64 x) (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps)))))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps -1/2)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 (sin.f64 eps) x))
(fma.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 x (sin.f64 eps)))
(*.f64 (sin.f64 eps) (fma.f64 (pow.f64 x 3) -1/6 x))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 x 5) (sin.f64 eps))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 (sin.f64 eps) x)))
(fma.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)) (fma.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 x (sin.f64 eps))))
(fma.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)) (*.f64 (sin.f64 eps) (fma.f64 (pow.f64 x 3) -1/6 x)))
(*.f64 (sin.f64 eps) (fma.f64 (pow.f64 x 3) -1/6 (fma.f64 1/120 (pow.f64 x 5) x)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 x 5) (sin.f64 eps))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 x 7) (sin.f64 eps))) (*.f64 (sin.f64 eps) x))))
(fma.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)) (fma.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1/5040 (*.f64 (sin.f64 eps) (pow.f64 x 7)) (*.f64 x (sin.f64 eps)))))
(+.f64 (*.f64 (sin.f64 eps) (+.f64 x (*.f64 -1/5040 (pow.f64 x 7)))) (*.f64 (sin.f64 eps) (fma.f64 (pow.f64 x 3) -1/6 (*.f64 1/120 (pow.f64 x 5)))))
(*.f64 (sin.f64 eps) (fma.f64 (pow.f64 x 3) -1/6 (fma.f64 1/120 (pow.f64 x 5) (fma.f64 -1/5040 (pow.f64 x 7) x))))
(*.f64 eps (sin.f64 x))
(+.f64 (*.f64 eps (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(fma.f64 eps (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) (pow.f64 eps 3)) -1/6))
(*.f64 (sin.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)))
(*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))
(+.f64 (*.f64 eps (sin.f64 x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))))
(fma.f64 eps (sin.f64 x) (fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (*.f64 (*.f64 (sin.f64 x) (pow.f64 eps 3)) -1/6)))
(fma.f64 eps (sin.f64 x) (*.f64 (sin.f64 x) (+.f64 (*.f64 (pow.f64 eps 3) -1/6) (*.f64 1/120 (pow.f64 eps 5)))))
(*.f64 (sin.f64 x) (+.f64 eps (fma.f64 (pow.f64 eps 3) -1/6 (*.f64 1/120 (pow.f64 eps 5)))))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 7) (sin.f64 x))) (+.f64 (*.f64 eps (sin.f64 x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))))
(fma.f64 -1/5040 (*.f64 (sin.f64 x) (pow.f64 eps 7)) (fma.f64 eps (sin.f64 x) (fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (*.f64 (*.f64 (sin.f64 x) (pow.f64 eps 3)) -1/6))))
(+.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 (pow.f64 eps 3) -1/6) (*.f64 1/120 (pow.f64 eps 5)))) (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/5040 (pow.f64 eps 7)) eps)))
(*.f64 (sin.f64 x) (+.f64 (fma.f64 (pow.f64 eps 3) -1/6 (*.f64 1/120 (pow.f64 eps 5))) (fma.f64 -1/5040 (pow.f64 eps 7) eps)))
(*.f64 (sin.f64 x) (+.f64 (fma.f64 -1/5040 (pow.f64 eps 7) eps) (fma.f64 (pow.f64 eps 3) -1/6 (*.f64 1/120 (pow.f64 eps 5)))))
1
(+.f64 1 (*.f64 (sin.f64 eps) x))
(+.f64 1 (*.f64 x (sin.f64 eps)))
(fma.f64 x (sin.f64 eps) 1)
(+.f64 1 (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 1 (fma.f64 (sin.f64 eps) x (*.f64 -1/2 (*.f64 x x))))
(+.f64 1 (fma.f64 x (sin.f64 eps) (*.f64 -1/2 (*.f64 x x))))
(fma.f64 x (sin.f64 eps) (fma.f64 x (*.f64 x -1/2) 1))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 1 (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 -1/2 (pow.f64 x 2)))))
(fma.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (+.f64 1 (fma.f64 (sin.f64 eps) x (*.f64 -1/2 (*.f64 x x)))))
(+.f64 (fma.f64 x (sin.f64 eps) (*.f64 -1/2 (*.f64 x x))) (fma.f64 (*.f64 (sin.f64 eps) (pow.f64 x 3)) -1/6 1))
(+.f64 (*.f64 (sin.f64 eps) (fma.f64 (pow.f64 x 3) -1/6 x)) (fma.f64 x (*.f64 x -1/2) 1))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(cos.f64 x)
(+.f64 (*.f64 eps (sin.f64 x)) (cos.f64 x))
(fma.f64 eps (sin.f64 x) (cos.f64 x))
(+.f64 (*.f64 eps (sin.f64 x)) (+.f64 (cos.f64 x) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))))
(+.f64 (fma.f64 eps (sin.f64 x) (cos.f64 x)) (*.f64 (*.f64 (sin.f64 x) (pow.f64 eps 3)) -1/6))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6))))
(fma.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps) (cos.f64 x))
(+.f64 (*.f64 eps (sin.f64 x)) (+.f64 (cos.f64 x) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))))
(+.f64 (fma.f64 eps (sin.f64 x) (cos.f64 x)) (fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (*.f64 (*.f64 (sin.f64 x) (pow.f64 eps 3)) -1/6)))
(+.f64 (cos.f64 x) (fma.f64 eps (sin.f64 x) (*.f64 (sin.f64 x) (+.f64 (*.f64 (pow.f64 eps 3) -1/6) (*.f64 1/120 (pow.f64 eps 5))))))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 eps (fma.f64 (pow.f64 eps 3) -1/6 (*.f64 1/120 (pow.f64 eps 5))))))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))
(+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))
x
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)
(fma.f64 -1/6 (pow.f64 x 3) x)
(fma.f64 (pow.f64 x 3) -1/6 x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/120 (pow.f64 x 5) x))
(fma.f64 (pow.f64 x 3) -1/6 (fma.f64 1/120 (pow.f64 x 5) x))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 -1/5040 (pow.f64 x 7) (fma.f64 1/120 (pow.f64 x 5) x)))
(fma.f64 (pow.f64 x 3) -1/6 (fma.f64 -1/5040 (pow.f64 x 7) (fma.f64 1/120 (pow.f64 x 5) x)))
(fma.f64 (pow.f64 x 3) -1/6 (fma.f64 1/120 (pow.f64 x 5) (fma.f64 -1/5040 (pow.f64 x 7) x)))

eval405.0ms (1.4%)

Compiler

Compiled 25645 to 10254 computations (60% saved)

prune653.0ms (2.3%)

Pruning

81 alts after pruning (78 fresh and 3 done)

PrunedKeptTotal
New1252671319
Fresh261137
Picked101
Done235
Total1281811362
Error
0.1b
Counts
1362 → 81
Alt Table
Click to see full alt table
StatusErrorProgram
46.8b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
44.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
42.2b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (cos.f64 x))))
37.8b
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
31.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (pow.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)))
37.6b
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
47.6b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
15.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
38.4b
(*.f64 (sin.f64 x) (neg.f64 eps))
22.8b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 3)))
48.1b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
22.2b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
35.5b
(*.f64 (+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4))))) -2)
55.1b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
56.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
22.4b
(log.f64 (exp.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
36.8b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
35.1b
(-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
52.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (cbrt.f64 (pow.f64 eps 3)) 1/2))) -2)
38.2b
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
54.4b
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
49.9b
(expm1.f64 (log.f64 (cos.f64 eps)))
34.8b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
22.6b
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (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))))
22.3b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
37.8b
(-.f64 (-.f64 (+.f64 (cos.f64 eps) 1) 1) 1)
37.7b
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
22.3b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
40.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2) (neg.f64 (cos.f64 x)))))
36.4b
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
37.6b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
37.8b
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
35.0b
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
22.4b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 3) (neg.f64 (cos.f64 x)))))
22.8b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
39.9b
(-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 x (*.f64 x -1/2) 1))
34.9b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
32.1b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
53.8b
(*.f64 -1/2 (*.f64 eps eps))
43.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
37.7b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
22.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (expm1.f64 (log1p.f64 (sin.f64 x))) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
22.5b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
17.1b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
37.9b
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
22.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))
38.1b
(-.f64 (cos.f64 (+.f64 x eps)) 1)
22.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 3)) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
32.1b
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
56.0b
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
37.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
55.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3))) 1/2))) -2)
43.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
22.3b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
39.0b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
39.0b
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
56.5b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
34.3b
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
52.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
34.3b
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
37.8b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
37.9b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
47.2b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 eps) 2)) 1)
31.5b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (exp.f64 (log.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
56.0b
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))
36.3b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
48.1b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))) -2)
37.7b
(-.f64 (cos.f64 eps) 1)
22.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (/.f64 1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
37.4b
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
56.8b
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
37.7b
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
57.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
37.4b
(-.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
37.4b
(-.f64 (cos.f64 eps) (cos.f64 x))
38.0b
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
57.1b
0
37.6b
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
37.9b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
15.7b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
37.8b
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
Compiler

Compiled 2516 to 1857 computations (26.2% saved)

localize137.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2)))
0.3b
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2)))))
3.5b
(cos.f64 (*.f64 (+.f64 x eps) 1/2))
3.7b
(sin.f64 (*.f64 (+.f64 x eps) 1/2))
Compiler

Compiled 171 to 97 computations (43.3% saved)

series40.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

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

rewrite136.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
476×fma-neg_binary64
343×expm1-udef_binary64
343×log1p-udef_binary64
223×add-sqr-sqrt_binary64
220×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify213.0ms (0.8%)

Algorithm
egg-herbie
Rules
758×neg-mul-1_binary64
538×distribute-rgt-neg-out_binary64
465×distribute-lft-neg-out_binary64
394×+-commutative_binary64
382×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01582398
14932377
215772226
333842193
479362193
Stop Event
node limit
Counts
193 → 169
Calls
Call 1
Inputs
(sin.f64 (*.f64 1/2 eps))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(+.f64 (*.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 x))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) eps)) (sin.f64 (*.f64 1/2 x)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) eps)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x)))) (sin.f64 (*.f64 1/2 x))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) eps)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x)))) (+.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 3))))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 eps))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x))))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (*.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 x))
(+.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(+.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 2)))))
(+.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 eps 3) (sin.f64 (*.f64 1/2 x)))) (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 2))))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))))
(+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/48 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)) (*.f64 1/48 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)))) (*.f64 -1/48 (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)))))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (+.f64 (*.f64 -1/24 (cos.f64 (*.f64 1/2 eps))) (*.f64 -1/8 (cos.f64 (*.f64 1/2 eps)))) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))
(+.f64 (*.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))
(+.f64 (*.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1/48 (cos.f64 (*.f64 1/2 eps))) (*.f64 -1/16 (cos.f64 (*.f64 1/2 eps)))) (pow.f64 x 3)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(+.f64 (*.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (*.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 4))) (+.f64 (*.f64 (+.f64 (*.f64 -1/48 (cos.f64 (*.f64 1/2 eps))) (*.f64 -1/16 (cos.f64 (*.f64 1/2 eps)))) (pow.f64 x 3)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (*.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))))
(+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x))))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (*.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)))))
(+.f64 (*.f64 1/48 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x))))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (*.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
Outputs
(sin.f64 (*.f64 1/2 eps))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))
(fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 x x) -1/8)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 x x)) 1) (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (*.f64 (+.f64 1 (*.f64 -1/8 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(fma.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 x x) -1/8))) (fma.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/48) (pow.f64 x 3) (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/8 (*.f64 x x)) 1) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/2 x) (*.f64 -1/48 (pow.f64 x 3)))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1/8 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/2 x) (*.f64 -1/48 (pow.f64 x 3)))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 x))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) eps)) (sin.f64 (*.f64 1/2 x)))
(fma.f64 1/2 (*.f64 eps (cos.f64 (*.f64 1/2 x))) (sin.f64 (*.f64 1/2 x)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) eps)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x)))) (sin.f64 (*.f64 1/2 x))))
(fma.f64 1/2 (*.f64 eps (cos.f64 (*.f64 1/2 x))) (fma.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 eps eps)) (sin.f64 (*.f64 1/2 x))))
(fma.f64 1/2 (*.f64 eps (cos.f64 (*.f64 1/2 x))) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 eps eps)) 1) (sin.f64 (*.f64 1/2 x))))
(fma.f64 1/2 (*.f64 eps (cos.f64 (*.f64 1/2 x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 1 (*.f64 eps (*.f64 eps -1/8)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) eps)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x)))) (+.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 3))))))
(fma.f64 1/2 (*.f64 eps (cos.f64 (*.f64 1/2 x))) (+.f64 (fma.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 eps eps)) (sin.f64 (*.f64 1/2 x))) (*.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 3)))))
(+.f64 (fma.f64 1/2 (*.f64 eps (cos.f64 (*.f64 1/2 x))) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 eps eps)) 1) (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 3))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 1 (*.f64 eps (*.f64 eps -1/8)))) (*.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 eps))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)))
(fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x) (cos.f64 (*.f64 1/2 eps)))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x))))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x))))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x -1/2))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x -1/2)) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 x x)) 1) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x -1/2)) (*.f64 (+.f64 1 (*.f64 -1/8 (*.f64 x x))) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (*.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x x)) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x) (*.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x x)) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x) (*.f64 (pow.f64 x 3) (*.f64 (sin.f64 (*.f64 1/2 eps)) 1/48)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 x -1/2) (*.f64 (pow.f64 x 3) 1/48))) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 x x)) 1) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (pow.f64 x 3) 1/48) (*.f64 x -1/2))) (*.f64 (+.f64 1 (*.f64 -1/8 (*.f64 x x))) (cos.f64 (*.f64 1/2 eps))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 x))
(+.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(fma.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))) (cos.f64 (*.f64 1/2 x)))
(fma.f64 (*.f64 eps -1/2) (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))
(+.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 2)))))
(+.f64 (cos.f64 (*.f64 1/2 x)) (fma.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps eps)))))
(+.f64 (cos.f64 (*.f64 1/2 x)) (fma.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 -1/8 (*.f64 eps eps)))))
(+.f64 (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) -1/2)) (*.f64 (+.f64 1 (*.f64 eps (*.f64 eps -1/8))) (cos.f64 (*.f64 1/2 x))))
(+.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 eps 3) (sin.f64 (*.f64 1/2 x)))) (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 2))))))
(+.f64 (cos.f64 (*.f64 1/2 x)) (fma.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 x)) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps eps))))))
(+.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 -1/8 (*.f64 eps eps))) (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 (pow.f64 eps 3) 1/48) (*.f64 eps -1/2)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 eps -1/2) (*.f64 (pow.f64 eps 3) 1/48))) (*.f64 (+.f64 1 (*.f64 eps (*.f64 eps -1/8))) (cos.f64 (*.f64 1/2 x))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 eps (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/48)))) (*.f64 (+.f64 1 (*.f64 eps (*.f64 eps -1/8))) (cos.f64 (*.f64 1/2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))
(*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)))) (fma.f64 (pow.f64 eps 3) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x))) -1/6) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (fma.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))) (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) -1/6)))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x))) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6))))
(fma.f64 (*.f64 1/2 (*.f64 eps eps)) (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x))) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6))))
(+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/48 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)) (*.f64 1/48 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)))) (*.f64 -1/48 (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)))))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 1/2 (fma.f64 -1/48 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (*.f64 1/48 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))) (*.f64 -1/48 (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (fma.f64 1/2 (*.f64 (*.f64 eps eps) (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)))) (fma.f64 (pow.f64 eps 3) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x))) -1/6) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 1/2 (fma.f64 -1/48 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (*.f64 1/48 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) -1/96) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) 1/96))) (fma.f64 1/2 (*.f64 eps (*.f64 eps (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (fma.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))) (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) -1/6))))))
(fma.f64 (pow.f64 eps 4) (*.f64 (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))) -1/24) (fma.f64 1/2 (*.f64 eps (*.f64 eps (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x))) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)))))
(+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x))) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6))) (*.f64 (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))) (+.f64 (*.f64 1/2 (*.f64 eps eps)) (*.f64 (pow.f64 eps 4) -1/24))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.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 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)))))
(+.f64 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 -1/2 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (fma.f64 -1/2 (*.f64 x (*.f64 x (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (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)))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (+.f64 1 (*.f64 (*.f64 x x) -1/2)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (+.f64 (*.f64 -1/24 (cos.f64 (*.f64 1/2 eps))) (*.f64 -1/8 (cos.f64 (*.f64 1/2 eps)))) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))))))
(+.f64 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/6)) (*.f64 -1/2 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3))) (*.f64 (*.f64 x x) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (*.f64 (*.f64 x x) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) -1/6)))))
(+.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 x x) -1/2)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) -1/6)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps x))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))
(+.f64 (*.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))
(fma.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))
(fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 x x) -1/4)))
(*.f64 x (+.f64 (*.f64 1/2 (cos.f64 (*.f64 1/2 eps))) (*.f64 x (*.f64 (sin.f64 (*.f64 1/2 eps)) -1/4))))
(+.f64 (*.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1/48 (cos.f64 (*.f64 1/2 eps))) (*.f64 -1/16 (cos.f64 (*.f64 1/2 eps)))) (pow.f64 x 3)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(fma.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (fma.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/12) (pow.f64 x 3) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(fma.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) -1/4 (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/12 (pow.f64 x 3)))))
(fma.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) -1/4 (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/2 x) (*.f64 (pow.f64 x 3) -1/12))))
(+.f64 (*.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (*.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 4))) (+.f64 (*.f64 (+.f64 (*.f64 -1/48 (cos.f64 (*.f64 1/2 eps))) (*.f64 -1/16 (cos.f64 (*.f64 1/2 eps)))) (pow.f64 x 3)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(fma.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (fma.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 4)) (fma.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/12) (pow.f64 x 3) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(fma.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) -1/4 (fma.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 4)) (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/12 (pow.f64 x 3))))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/2 x) (*.f64 (pow.f64 x 3) -1/12))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (*.f64 x x) -1/4) (*.f64 1/48 (pow.f64 x 4)))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (*.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))))
(fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)) (*.f64 (*.f64 -1/2 eps) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)))
(fma.f64 (*.f64 eps -1/2) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x))))
(*.f64 (sin.f64 (*.f64 1/2 x)) (fma.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))) (cos.f64 (*.f64 1/2 x))))
(*.f64 (sin.f64 (*.f64 1/2 x)) (fma.f64 (*.f64 eps -1/2) (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x))))
(+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x))))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (*.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)))))
(fma.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 eps eps))) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)) (*.f64 (*.f64 -1/2 eps) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))))
(fma.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps eps))) (fma.f64 (*.f64 eps -1/2) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))))
(+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 eps -1/2)) (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 (+.f64 1 (*.f64 eps (*.f64 eps -1/8))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) -1/2)) (*.f64 (+.f64 1 (*.f64 eps (*.f64 eps -1/8))) (cos.f64 (*.f64 1/2 x)))))
(+.f64 (*.f64 1/48 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x))))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (*.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))))))
(fma.f64 1/48 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (fma.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 eps eps))) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)) (*.f64 (*.f64 -1/2 eps) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)))))
(fma.f64 1/48 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (fma.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps eps))) (fma.f64 (*.f64 eps -1/2) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x))))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 (+.f64 1 (*.f64 eps (*.f64 eps -1/8))) (cos.f64 (*.f64 1/2 x)))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (+.f64 (*.f64 eps -1/2) (*.f64 (pow.f64 eps 3) 1/48))))
(*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 eps (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/48)))) (*.f64 (+.f64 1 (*.f64 eps (*.f64 eps -1/8))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 eps x))))

localize9.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 12 to 6 computations (50% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite62.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

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

simplify197.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

localize11.0ms (0%)

Local error

Found 3 expressions with local error:

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

Compiled 12 to 5 computations (58.3% saved)

series93.0ms (0.3%)

Counts
2 → 16
Calls

6 calls:

TimeVariablePointExpression
65.0ms
eps
@inf
(log.f64 (cos.f64 eps))
23.0ms
eps
@-inf
(log.f64 (cos.f64 eps))
2.0ms
eps
@0
(log.f64 (cos.f64 eps))
1.0ms
eps
@0
(expm1.f64 (log.f64 (cos.f64 eps)))
1.0ms
eps
@inf
(expm1.f64 (log.f64 (cos.f64 eps)))

rewrite67.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

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

simplify146.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

localize23.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 x)
0.0b
(cos.f64 eps)
1.7b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
Compiler

Compiled 19 to 6 computations (68.4% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite65.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
609×pow1_binary64
558×add-log-exp_binary64
557×log1p-expm1-u_binary64
557×expm1-log1p-u_binary64
545×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify108.0ms (0.4%)

Algorithm
egg-herbie
Rules
685×distribute-lft-out_binary64
663×associate-+l+_binary64
632×associate--l+_binary64
470×associate-+r+_binary64
428×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
058444
1151424
2391372
31678372
44510372
57988372
Stop Event
node limit
Counts
47 → 41
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)) (*.f64 (-.f64 (*.f64 1/24 (cos.f64 eps)) 1/24) (pow.f64 x 4)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 (+.f64 1/720 (*.f64 -1/720 (cos.f64 eps))) (pow.f64 x 6)) (+.f64 (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)) (*.f64 (-.f64 (*.f64 1/24 (cos.f64 eps)) 1/24) (pow.f64 x 4))))) 1)
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/40320 (*.f64 (pow.f64 eps 8) (cos.f64 x))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))) 1)
(+.f64 (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x))) -1)
(+.f64 (cos.f64 eps) (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)) (*.f64 (-.f64 (*.f64 1/24 (cos.f64 eps)) 1/24) (pow.f64 x 4)))) 1)
(+.f64 (+.f64 (cos.f64 eps) (fma.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x) (*.f64 (fma.f64 1/24 (cos.f64 eps) -1/24) (pow.f64 x 4)))) -1)
(+.f64 (fma.f64 (fma.f64 (cos.f64 eps) 1/24 -1/24) (pow.f64 x 4) (*.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x))) (+.f64 (cos.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) (fma.f64 (fma.f64 (cos.f64 eps) 1/24 -1/24) (pow.f64 x 4) -1)))
(+.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) (cos.f64 eps)) (fma.f64 (fma.f64 (cos.f64 eps) 1/24 -1/24) (pow.f64 x 4) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 (+.f64 1/720 (*.f64 -1/720 (cos.f64 eps))) (pow.f64 x 6)) (+.f64 (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)) (*.f64 (-.f64 (*.f64 1/24 (cos.f64 eps)) 1/24) (pow.f64 x 4))))) 1)
(+.f64 (+.f64 (cos.f64 eps) (fma.f64 (+.f64 1/720 (*.f64 (cos.f64 eps) -1/720)) (pow.f64 x 6) (fma.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x) (*.f64 (fma.f64 1/24 (cos.f64 eps) -1/24) (pow.f64 x 4))))) -1)
(+.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/720 1/720) (pow.f64 x 6) (fma.f64 (fma.f64 (cos.f64 eps) 1/24 -1/24) (pow.f64 x 4) (*.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x)))) (+.f64 (cos.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 (fma.f64 (cos.f64 eps) -1/720 1/720) (pow.f64 x 6) (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) (fma.f64 (fma.f64 (cos.f64 eps) 1/24 -1/24) (pow.f64 x 4) -1))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x)))
(*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)))
(*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2)))
(*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))))
(*.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 1/24 (pow.f64 eps 4))))
(*.f64 (cos.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 eps (*.f64 eps -1/2))))
(*.f64 (cos.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 -1/720 (*.f64 (cos.f64 x) (pow.f64 eps 6)) (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 -1/720 (pow.f64 eps 6)))))
(*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6)))))
(*.f64 (cos.f64 x) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/40320 (*.f64 (pow.f64 eps 8) (cos.f64 x))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/40320 (*.f64 (cos.f64 x) (pow.f64 eps 8)) (fma.f64 -1/720 (*.f64 (cos.f64 x) (pow.f64 eps 6)) (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 -1/720 (pow.f64 eps 6)))) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 1/40320 (pow.f64 eps 8)))))
(*.f64 (cos.f64 x) (+.f64 (fma.f64 1/40320 (pow.f64 eps 8) (*.f64 -1/720 (pow.f64 eps 6))) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 eps (*.f64 eps -1/2)))))
(*.f64 (cos.f64 x) (+.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 1/40320 (pow.f64 eps 8))) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6)))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (cos.f64 x))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))

localize45.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 120 to 69 computations (42.5% saved)

series10.0ms (0%)

Counts
4 → 60
Calls

15 calls:

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

rewrite315.0ms (1.1%)

Algorithm
egg-rewrite
egg-rewrite-iter-limit
batch-egg-rewrite
Rules
929×pow1_binary64
870×add-log-exp_binary64
869×log1p-expm1-u_binary64
869×expm1-log1p-u_binary64
611×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01848
140548
2554748
0812
11756
225056
01828
140528
2554728
01828
01217
126111
2353611
0914
11948
227248
Stop Event
node limit
node limit
iter limit
node limit
node limit
node limit
Counts
4 → 89
Calls
Call 1
Inputs
(-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2)))
(/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))
(sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (cos.f64 0)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (neg.f64 (cos.f64 0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 0)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (cos.f64 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (cos.f64 0)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (cos.f64 0))) (pow.f64 (cbrt.f64 (-.f64 1 (cos.f64 0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (cos.f64 0))) 2) (cbrt.f64 (-.f64 1 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (cos.f64 0))) (sqrt.f64 (-.f64 1 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (cos.f64 0) 3)) (/.f64 1 (+.f64 1 (+.f64 (cos.f64 0) (pow.f64 (cos.f64 0) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 0) (sin.f64 0)) (/.f64 1 (+.f64 1 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (+.f64 (cos.f64 0) (pow.f64 (cos.f64 0) 2))) (-.f64 1 (pow.f64 (cos.f64 0) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (cos.f64 0)) (*.f64 (sin.f64 0) (sin.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (cos.f64 0) 3)) (+.f64 1 (+.f64 (cos.f64 0) (pow.f64 (cos.f64 0) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 0) (sin.f64 0)) (+.f64 1 (cos.f64 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (cos.f64 0) 3))) (neg.f64 (+.f64 1 (+.f64 (cos.f64 0) (pow.f64 (cos.f64 0) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 0) (sin.f64 0))) (neg.f64 (+.f64 1 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (neg.f64 (cos.f64 0)) 3)) (+.f64 1 (-.f64 (*.f64 (neg.f64 (cos.f64 0)) (neg.f64 (cos.f64 0))) (neg.f64 (cos.f64 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (neg.f64 (cos.f64 0)) (neg.f64 (cos.f64 0)))) (-.f64 1 (neg.f64 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (cos.f64 0)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 1 (cos.f64 0))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (cos.f64 0))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 1 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 1 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 1 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (neg.f64 (cos.f64 0))))))))
((#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2))) (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2)))) (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (cos.f64 0))) (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (cos.f64 0))) (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (cos.f64 0)))) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2)))) (cbrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2))) (cbrt.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2)))) (sqrt.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 1/4) (*.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 1/4) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (-.f64 1 (cos.f64 0)))) (/.f64 1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) (sqrt.f64 (-.f64 1 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (-.f64 1 (cos.f64 0))) 1) (/.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (cos.f64 0)))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 1/4) 1) (/.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 1/4) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 0))) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (-.f64 1 (cos.f64 0))) (cbrt.f64 2)) (cbrt.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 1/4) (cbrt.f64 2)) (/.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 1/4) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 0))) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (-.f64 1 (cos.f64 0))) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (cos.f64 0)))) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 0)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 0))) (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 3/2) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (-.f64 1/2 (/.f64 (cos.f64 0) 2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (-.f64 1 (cos.f64 0)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 1 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (cos.f64 0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (cos.f64 0))) (cbrt.f64 (sqrt.f64 (-.f64 1 (cos.f64 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (cos.f64 0)))) (cbrt.f64 (-.f64 1 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 1/4) (pow.f64 (-.f64 1 (cos.f64 0)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 1 (cos.f64 0))) 2)) (sqrt.f64 (cbrt.f64 (-.f64 1 (cos.f64 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 1 (cos.f64 0))) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 1 (cos.f64 0))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 1 (pow.f64 (cos.f64 0) 3))) (sqrt.f64 (+.f64 1 (+.f64 (cos.f64 0) (pow.f64 (cos.f64 0) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 (sin.f64 0) (sin.f64 0))) (sqrt.f64 (+.f64 1 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (cos.f64 0)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (cos.f64 0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (cos.f64 0)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (-.f64 1 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 1 (cos.f64 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (cos.f64 0)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 1 (cos.f64 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 1 (cos.f64 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/2 (log1p.f64 (neg.f64 (cos.f64 0)))))))))

simplify100.0ms (0.4%)

Algorithm
egg-herbie
Rules
571×distribute-rgt-in_binary64
467×distribute-rgt-out_binary64
437×fma-def_binary64
404×distribute-lft-out_binary64
318×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01181442
13521391
211371328
349431319
Stop Event
node limit
Counts
149 → 126
Calls
Call 1
Inputs
(*.f64 1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -1/24 (pow.f64 eps 4)))
(+.f64 (*.f64 1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/24 (pow.f64 eps 4)) (*.f64 1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 -1/40320 (pow.f64 eps 8)) (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/24 (pow.f64 eps 4)) (*.f64 1/720 (pow.f64 eps 6)))))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 eps 2)) (sqrt.f64 2)))
(+.f64 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (*.f64 1/96 (/.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 eps 2)) (sqrt.f64 2))))
(+.f64 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (*.f64 1/96 (/.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 eps 2)) (sqrt.f64 2))) (*.f64 (pow.f64 eps 6) (+.f64 (*.f64 1/3840 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (+.f64 (*.f64 1/4 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (*.f64 1/2304 (/.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))))))
(+.f64 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (*.f64 1/96 (/.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 eps 2)) (sqrt.f64 2))) (+.f64 (*.f64 (pow.f64 eps 6) (+.f64 (*.f64 1/3840 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (+.f64 (*.f64 1/4 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (*.f64 1/2304 (/.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2))))))) (*.f64 (pow.f64 eps 8) (-.f64 (+.f64 (*.f64 -1/4 (/.f64 (+.f64 1/40320 (*.f64 -1/48 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 (sqrt.f64 1/2) 2)))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (+.f64 (*.f64 -1/96 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (*.f64 -1/645120 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))))) (*.f64 1/184320 (/.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(/.f64 (*.f64 eps (sqrt.f64 1/2)) (sqrt.f64 2))
(+.f64 (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (/.f64 (*.f64 (sqrt.f64 1/2) eps) (sqrt.f64 2)))
(+.f64 (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 eps 5)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (/.f64 (*.f64 (sqrt.f64 1/2) eps) (sqrt.f64 2))))
(+.f64 (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 eps 7) (+.f64 1/40320 (*.f64 -1/48 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 (sqrt.f64 1/2) 2))))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 eps 5)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (/.f64 (*.f64 (sqrt.f64 1/2) eps) (sqrt.f64 2)))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (sqrt.f64 1/2) eps)
(+.f64 (*.f64 (sqrt.f64 1/2) eps) (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 eps 5)) (sqrt.f64 1/2))) (+.f64 (*.f64 (sqrt.f64 1/2) eps) (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 eps 5)) (sqrt.f64 1/2))) (+.f64 (*.f64 (sqrt.f64 1/2) eps) (+.f64 (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 eps 7) (+.f64 1/40320 (*.f64 -1/48 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 (sqrt.f64 1/2) 2))))) (sqrt.f64 1/2))))))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
Outputs
(*.f64 1/2 (pow.f64 eps 2))
(*.f64 1/2 (*.f64 eps eps))
(+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -1/24 (pow.f64 eps 4)))
(fma.f64 1/2 (*.f64 eps eps) (*.f64 -1/24 (pow.f64 eps 4)))
(fma.f64 -1/24 (pow.f64 eps 4) (*.f64 1/2 (*.f64 eps eps)))
(+.f64 (*.f64 1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/24 (pow.f64 eps 4)) (*.f64 1/720 (pow.f64 eps 6))))
(fma.f64 1/2 (*.f64 eps eps) (fma.f64 -1/24 (pow.f64 eps 4) (*.f64 1/720 (pow.f64 eps 6))))
(fma.f64 -1/24 (pow.f64 eps 4) (fma.f64 1/720 (pow.f64 eps 6) (*.f64 1/2 (*.f64 eps eps))))
(+.f64 (*.f64 -1/40320 (pow.f64 eps 8)) (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/24 (pow.f64 eps 4)) (*.f64 1/720 (pow.f64 eps 6)))))
(fma.f64 -1/40320 (pow.f64 eps 8) (fma.f64 1/2 (*.f64 eps eps) (fma.f64 -1/24 (pow.f64 eps 4) (*.f64 1/720 (pow.f64 eps 6)))))
(fma.f64 1/2 (*.f64 eps eps) (fma.f64 -1/40320 (pow.f64 eps 8) (fma.f64 -1/24 (pow.f64 eps 4) (*.f64 1/720 (pow.f64 eps 6)))))
(fma.f64 -1/40320 (pow.f64 eps 8) (fma.f64 -1/24 (pow.f64 eps 4) (fma.f64 1/720 (pow.f64 eps 6) (*.f64 1/2 (*.f64 eps eps)))))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(-.f64 1 (cos.f64 eps))
(*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 eps 2)) (sqrt.f64 2)))
(*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) (*.f64 eps eps))))
(/.f64 (*.f64 (*.f64 1/2 (*.f64 eps eps)) (sqrt.f64 1/2)) (sqrt.f64 2))
(*.f64 1/2 (*.f64 (*.f64 eps eps) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(+.f64 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (*.f64 1/96 (/.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 eps 2)) (sqrt.f64 2))))
(fma.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (/.f64 1/96 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) (*.f64 eps eps)))))
(fma.f64 (pow.f64 eps 4) (fma.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 -1/96 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (/.f64 (*.f64 (*.f64 1/2 (*.f64 eps eps)) (sqrt.f64 1/2)) (sqrt.f64 2)))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (*.f64 (pow.f64 eps 4) (fma.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 -1/96 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (/.f64 -1/48 (sqrt.f64 2)) (sqrt.f64 1/2) (/.f64 (/.f64 -1/96 (sqrt.f64 1/2)) (sqrt.f64 2))) (/.f64 (*.f64 (*.f64 1/2 (*.f64 eps eps)) (sqrt.f64 1/2)) (sqrt.f64 2)))
(+.f64 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (*.f64 1/96 (/.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 eps 2)) (sqrt.f64 2))) (*.f64 (pow.f64 eps 6) (+.f64 (*.f64 1/3840 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (+.f64 (*.f64 1/4 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (*.f64 1/2304 (/.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))))))
(fma.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (/.f64 1/96 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) (*.f64 eps eps))) (*.f64 (pow.f64 eps 6) (fma.f64 1/3840 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (fma.f64 1/4 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (/.f64 1/2304 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 -1/96 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (fma.f64 (pow.f64 eps 6) (fma.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) 1/3840 (fma.f64 1/4 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (/.f64 (/.f64 1/2304 (sqrt.f64 1/2)) (sqrt.f64 2)))) (/.f64 (*.f64 (*.f64 1/2 (*.f64 eps eps)) (sqrt.f64 1/2)) (sqrt.f64 2))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (fma.f64 (pow.f64 eps 6) (fma.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) 1/3840 (fma.f64 1/4 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (/.f64 (/.f64 1/2304 (sqrt.f64 1/2)) (sqrt.f64 2)))) (*.f64 (pow.f64 eps 4) (fma.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 -1/96 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (fma.f64 (pow.f64 eps 6) (fma.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) 1/3840 (fma.f64 (/.f64 1/4 (sqrt.f64 2)) (-.f64 (/.f64 1/720 (sqrt.f64 1/2)) (/.f64 (/.f64 1/2304 (sqrt.f64 1/2)) 1/2)) (/.f64 (/.f64 1/2304 (sqrt.f64 1/2)) (sqrt.f64 2)))) (*.f64 (pow.f64 eps 4) (fma.f64 (/.f64 -1/48 (sqrt.f64 2)) (sqrt.f64 1/2) (/.f64 (/.f64 -1/96 (sqrt.f64 1/2)) (sqrt.f64 2))))))
(+.f64 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (*.f64 1/96 (/.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 eps 2)) (sqrt.f64 2))) (+.f64 (*.f64 (pow.f64 eps 6) (+.f64 (*.f64 1/3840 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (+.f64 (*.f64 1/4 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (*.f64 1/2304 (/.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2))))))) (*.f64 (pow.f64 eps 8) (-.f64 (+.f64 (*.f64 -1/4 (/.f64 (+.f64 1/40320 (*.f64 -1/48 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 (sqrt.f64 1/2) 2)))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (+.f64 (*.f64 -1/96 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (*.f64 -1/645120 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))))) (*.f64 1/184320 (/.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))))))
(fma.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (/.f64 1/96 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) (*.f64 eps eps))) (fma.f64 (pow.f64 eps 6) (fma.f64 1/3840 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (fma.f64 1/4 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (/.f64 1/2304 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))) (*.f64 (pow.f64 eps 8) (-.f64 (fma.f64 -1/4 (/.f64 (+.f64 1/40320 (/.f64 (*.f64 -1/48 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2))) (pow.f64 (sqrt.f64 1/2) 2))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (fma.f64 -1/96 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) -1/645120))) (/.f64 1/184320 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 -1/96 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (*.f64 eps eps)) (fma.f64 (pow.f64 eps 8) (+.f64 (fma.f64 -1/4 (/.f64 (fma.f64 -1/48 (-.f64 1/360 (/.f64 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2) 1/2)) 1/40320) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (fma.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) -1/645120 (*.f64 (/.f64 -1/96 (sqrt.f64 2)) (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (sqrt.f64 1/2))))) (/.f64 -1/184320 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (*.f64 (pow.f64 eps 6) (fma.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) 1/3840 (fma.f64 1/4 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (/.f64 (/.f64 1/2304 (sqrt.f64 1/2)) (sqrt.f64 2))))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 -1/48 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 -1/96 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))) (fma.f64 1/2 (*.f64 (*.f64 eps eps) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (fma.f64 (pow.f64 eps 6) (fma.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) 1/3840 (fma.f64 1/4 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (/.f64 (/.f64 1/2304 (sqrt.f64 1/2)) (sqrt.f64 2)))) (*.f64 (pow.f64 eps 8) (+.f64 (/.f64 -1/1290240 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (fma.f64 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) -1/96 (fma.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) -1/645120 (/.f64 -1/184320 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))))))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (/.f64 -1/48 (sqrt.f64 2)) (sqrt.f64 1/2) (/.f64 (/.f64 -1/96 (sqrt.f64 1/2)) (sqrt.f64 2))) (fma.f64 (pow.f64 eps 6) (fma.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) 1/3840 (fma.f64 (/.f64 1/4 (sqrt.f64 2)) (-.f64 (/.f64 1/720 (sqrt.f64 1/2)) (/.f64 (/.f64 1/2304 (sqrt.f64 1/2)) 1/2)) (/.f64 (/.f64 1/2304 (sqrt.f64 1/2)) (sqrt.f64 2)))) (fma.f64 (pow.f64 eps 8) (+.f64 (/.f64 (/.f64 -1/1290240 (sqrt.f64 1/2)) (sqrt.f64 2)) (fma.f64 (/.f64 (-.f64 (/.f64 1/720 (sqrt.f64 1/2)) (/.f64 (/.f64 1/2304 (sqrt.f64 1/2)) 1/2)) (sqrt.f64 2)) -1/96 (fma.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) -1/645120 (/.f64 -1/184320 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))))) (/.f64 (*.f64 (*.f64 1/2 (*.f64 eps eps)) (sqrt.f64 1/2)) (sqrt.f64 2)))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(/.f64 (*.f64 eps (sqrt.f64 1/2)) (sqrt.f64 2))
(/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) eps))
(*.f64 (/.f64 eps (sqrt.f64 2)) (sqrt.f64 1/2))
(*.f64 eps (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (/.f64 eps (sqrt.f64 2)))
(+.f64 (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (/.f64 (*.f64 (sqrt.f64 1/2) eps) (sqrt.f64 2)))
(fma.f64 -1/48 (/.f64 (pow.f64 eps 3) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) eps)))
(fma.f64 -1/48 (/.f64 (/.f64 (pow.f64 eps 3) (sqrt.f64 2)) (sqrt.f64 1/2)) (*.f64 (/.f64 eps (sqrt.f64 2)) (sqrt.f64 1/2)))
(fma.f64 -1/48 (/.f64 (pow.f64 eps 3) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (*.f64 eps (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))))
(*.f64 (/.f64 eps (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (*.f64 eps eps) -1/48) (sqrt.f64 1/2)) (sqrt.f64 1/2)))
(+.f64 (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 eps 5)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (/.f64 (*.f64 (sqrt.f64 1/2) eps) (sqrt.f64 2))))
(fma.f64 -1/48 (/.f64 (pow.f64 eps 3) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (sqrt.f64 2)) (/.f64 (pow.f64 eps 5) (sqrt.f64 1/2))) (/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) eps))))
(fma.f64 -1/48 (/.f64 (/.f64 (pow.f64 eps 3) (sqrt.f64 2)) (sqrt.f64 1/2)) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (pow.f64 eps 5)) (*.f64 (/.f64 eps (sqrt.f64 2)) (sqrt.f64 1/2))))
(fma.f64 -1/48 (/.f64 (pow.f64 eps 3) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (fma.f64 (/.f64 1/2 (sqrt.f64 1/2)) (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (/.f64 (sqrt.f64 2) (pow.f64 eps 5))) (*.f64 eps (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 (/.f64 1/720 (sqrt.f64 1/2)) (/.f64 (/.f64 1/2304 (sqrt.f64 1/2)) 1/2)) (sqrt.f64 2)) (pow.f64 eps 5)) (*.f64 (/.f64 eps (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (*.f64 eps eps) -1/48) (sqrt.f64 1/2)) (sqrt.f64 1/2))))
(+.f64 (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 eps 7) (+.f64 1/40320 (*.f64 -1/48 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 (sqrt.f64 1/2) 2))))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 eps 5)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (/.f64 (*.f64 (sqrt.f64 1/2) eps) (sqrt.f64 2)))))
(fma.f64 -1/48 (/.f64 (pow.f64 eps 3) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 eps 7) (sqrt.f64 2)) (/.f64 (+.f64 1/40320 (/.f64 (*.f64 -1/48 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2))) (pow.f64 (sqrt.f64 1/2) 2))) (sqrt.f64 1/2))) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (sqrt.f64 2)) (/.f64 (pow.f64 eps 5) (sqrt.f64 1/2))) (/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) eps)))))
(fma.f64 -1/48 (/.f64 (/.f64 (pow.f64 eps 3) (sqrt.f64 2)) (sqrt.f64 1/2)) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 eps 7) (sqrt.f64 2)) (/.f64 (fma.f64 -1/48 (-.f64 1/360 (/.f64 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2) 1/2)) 1/40320) (sqrt.f64 1/2))) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (pow.f64 eps 5)) (*.f64 (/.f64 eps (sqrt.f64 2)) (sqrt.f64 1/2)))))
(fma.f64 -1/48 (/.f64 (pow.f64 eps 3) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (pow.f64 eps 5)) (fma.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) eps (*.f64 (/.f64 -1/645120 (sqrt.f64 2)) (/.f64 (pow.f64 eps 7) (sqrt.f64 1/2))))))
(fma.f64 (/.f64 (pow.f64 eps 7) (sqrt.f64 2)) (/.f64 -1/645120 (sqrt.f64 1/2)) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 (/.f64 1/720 (sqrt.f64 1/2)) (/.f64 (/.f64 1/2304 (sqrt.f64 1/2)) 1/2)) (sqrt.f64 2)) (pow.f64 eps 5)) (*.f64 (/.f64 eps (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (*.f64 eps eps) -1/48) (sqrt.f64 1/2)) (sqrt.f64 1/2)))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (/.f64 1 (sqrt.f64 2)))
(/.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (sqrt.f64 2))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (/.f64 1 (sqrt.f64 2)))
(/.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (sqrt.f64 2))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (/.f64 1 (sqrt.f64 2)))
(/.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (sqrt.f64 2))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (/.f64 1 (sqrt.f64 2)))
(/.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (sqrt.f64 2))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (/.f64 1 (sqrt.f64 2)))
(/.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (sqrt.f64 2))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (/.f64 1 (sqrt.f64 2)))
(/.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (sqrt.f64 2))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (/.f64 1 (sqrt.f64 2)))
(/.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (sqrt.f64 2))
(*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps))))
(*.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (/.f64 1 (sqrt.f64 2)))
(/.f64 (sqrt.f64 (-.f64 1 (cos.f64 eps))) (sqrt.f64 2))
(*.f64 (sqrt.f64 1/2) eps)
(*.f64 eps (sqrt.f64 1/2))
(+.f64 (*.f64 (sqrt.f64 1/2) eps) (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2))))
(fma.f64 (sqrt.f64 1/2) eps (/.f64 (*.f64 -1/48 (pow.f64 eps 3)) (sqrt.f64 1/2)))
(fma.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2)) (*.f64 eps (sqrt.f64 1/2)))
(fma.f64 eps (sqrt.f64 1/2) (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 eps 5)) (sqrt.f64 1/2))) (+.f64 (*.f64 (sqrt.f64 1/2) eps) (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2)))))
(fma.f64 1/2 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (/.f64 (sqrt.f64 1/2) (pow.f64 eps 5))) (fma.f64 (sqrt.f64 1/2) eps (/.f64 (*.f64 -1/48 (pow.f64 eps 3)) (sqrt.f64 1/2))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (sqrt.f64 1/2)) (pow.f64 eps 5)) (fma.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2)) (*.f64 eps (sqrt.f64 1/2))))
(fma.f64 1/2 (*.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (/.f64 (pow.f64 eps 5) (sqrt.f64 1/2))) (fma.f64 eps (sqrt.f64 1/2) (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2)))))
(fma.f64 1/2 (*.f64 (pow.f64 eps 5) (-.f64 (/.f64 1/720 (sqrt.f64 1/2)) (/.f64 (/.f64 1/2304 (sqrt.f64 1/2)) 1/2))) (fma.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2)) (*.f64 eps (sqrt.f64 1/2))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 eps 5)) (sqrt.f64 1/2))) (+.f64 (*.f64 (sqrt.f64 1/2) eps) (+.f64 (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 eps 7) (+.f64 1/40320 (*.f64 -1/48 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (pow.f64 (sqrt.f64 1/2) 2))))) (sqrt.f64 1/2))))))
(fma.f64 1/2 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (/.f64 (sqrt.f64 1/2) (pow.f64 eps 5))) (fma.f64 (sqrt.f64 1/2) eps (fma.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2)) (*.f64 -1/2 (/.f64 (pow.f64 eps 7) (/.f64 (sqrt.f64 1/2) (+.f64 1/40320 (/.f64 (*.f64 -1/48 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2))) (pow.f64 (sqrt.f64 1/2) 2)))))))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (sqrt.f64 1/2)) (pow.f64 eps 5)) (fma.f64 eps (sqrt.f64 1/2) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 eps 7) (sqrt.f64 1/2)) (fma.f64 -1/48 (-.f64 1/360 (/.f64 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2) 1/2)) 1/40320)) (*.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2))))))
(fma.f64 1/2 (*.f64 (-.f64 1/720 (pow.f64 (/.f64 -1/48 (sqrt.f64 1/2)) 2)) (/.f64 (pow.f64 eps 5) (sqrt.f64 1/2))) (fma.f64 eps (sqrt.f64 1/2) (fma.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2)) (*.f64 (/.f64 (pow.f64 eps 7) (sqrt.f64 1/2)) -1/645120))))
(fma.f64 1/2 (*.f64 (pow.f64 eps 5) (-.f64 (/.f64 1/720 (sqrt.f64 1/2)) (/.f64 (/.f64 1/2304 (sqrt.f64 1/2)) 1/2))) (fma.f64 eps (sqrt.f64 1/2) (fma.f64 -1/48 (/.f64 (pow.f64 eps 3) (sqrt.f64 1/2)) (*.f64 (/.f64 (pow.f64 eps 7) (sqrt.f64 1/2)) -1/645120))))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))
(sqrt.f64 (-.f64 1 (cos.f64 eps)))

eval567.0ms (2%)

Compiler

Compiled 13601 to 9196 computations (32.4% saved)

prune539.0ms (1.9%)

Pruning

94 alts after pruning (89 fresh and 5 done)

PrunedKeptTotal
New52725552
Fresh96473
Picked101
Done257
Total53994633
Error
0.1b
Counts
633 → 94
Alt Table
Click to see full alt table
StatusErrorProgram
42.2b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (cos.f64 x))))
46.8b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
15.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (log1p.f64 (expm1.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)))) (sin.f64 (*.f64 x 1/2))))) -2)
15.7b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
57.2b
(expm1.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2)))
31.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (pow.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)))
48.1b
(*.f64 (*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps)))) -2)
37.8b
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
37.6b
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
47.6b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
15.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (log1p.f64 (expm1.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)))) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
38.4b
(*.f64 (sin.f64 x) (neg.f64 eps))
22.8b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 3)))
48.1b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
22.4b
(log.f64 (exp.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
24.6b
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
22.2b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
35.5b
(*.f64 (+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4))))) -2)
55.1b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
56.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
49.9b
(expm1.f64 (log.f64 (cos.f64 eps)))
37.8b
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
35.1b
(-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
52.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (cbrt.f64 (pow.f64 eps 3)) 1/2))) -2)
38.2b
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
54.4b
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
34.8b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
16.5b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
22.6b
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (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))))
22.3b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
37.8b
(-.f64 (-.f64 (+.f64 (cos.f64 eps) 1) 1) 1)
37.7b
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
57.2b
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
22.3b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
40.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2) (neg.f64 (cos.f64 x)))))
36.4b
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
37.6b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
38.5b
(*.f64 (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))) -2)
35.0b
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
22.4b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 3) (neg.f64 (cos.f64 x)))))
53.6b
(*.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))))
38.4b
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
15.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (sin.f64 (-.f64 (*.f64 x 1/2) (*.f64 (+.f64 x eps) 1/2))) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 2))) -2)
37.8b
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
22.8b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
38.0b
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
39.9b
(-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 x (*.f64 x -1/2) 1))
36.8b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
22.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (expm1.f64 (log1p.f64 (sin.f64 x))) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
36.8b
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
37.7b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
48.1b
(*.f64 (/.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) (sqrt.f64 2)) -2)
34.9b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
49.2b
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
53.8b
(*.f64 -1/2 (*.f64 eps eps))
15.4b
(*.f64 (+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 x 1/2))) (sin.f64 (*.f64 (+.f64 x eps) 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (sin.f64 (*.f64 eps 1/2))))) -2)
22.5b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
17.1b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
37.9b
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
22.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 3)) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
32.1b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) -2)
22.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))
38.1b
(-.f64 (cos.f64 (+.f64 x eps)) 1)
39.0b
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
32.1b
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
56.0b
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
37.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
43.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
22.3b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
39.0b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
34.3b
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
15.8b
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
47.2b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 eps) 2)) 1)
34.3b
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
56.5b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
52.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
37.8b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
37.9b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
31.5b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (exp.f64 (log.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
56.0b
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))
36.3b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
37.7b
(-.f64 (cos.f64 eps) 1)
22.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (/.f64 1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
37.4b
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
30.7b
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3) (pow.f64 (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))) 3))) -2)
56.8b
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
62.0b
(+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
37.9b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
30.7b
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 3)) -2)
37.4b
(-.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
37.4b
(-.f64 (cos.f64 eps) (cos.f64 x))
57.1b
0
57.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
37.6b
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
Compiler

Compiled 2963 to 2217 computations (25.2% saved)

localize99.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(+.f64 (sin.f64 (-.f64 (*.f64 x 1/2) (*.f64 (+.f64 x eps) 1/2))) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))
2.4b
(-.f64 (*.f64 x 1/2) (*.f64 (+.f64 x eps) 1/2))
3.6b
(sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))
3.7b
(sin.f64 (*.f64 (+.f64 x eps) 1/2))
Compiler

Compiled 260 to 139 computations (46.5% saved)

series9.0ms (0%)

Counts
3 → 72
Calls

18 calls:

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

rewrite113.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
620×fma-neg_binary64
315×expm1-udef_binary64
315×log1p-udef_binary64
181×add-sqr-sqrt_binary64
176×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify79.0ms (0.3%)

Algorithm
egg-herbie
Rules
376×associate-+l+_binary64
374×distribute-neg-in_binary64
346×fma-def_binary64
312×distribute-rgt-neg-in_binary64
298×neg-sub0_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
087996
1242925
2591757
31960743
45800743
Stop Event
node limit
Counts
228 → 195
Calls
Call 1
Inputs
(sin.f64 (*.f64 1/2 eps))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 x)
(+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 eps)))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps))))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))))))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))
(sin.f64 x)
(+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (sin.f64 x))
(+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 (+.f64 1/48 (*.f64 -1/48 (cos.f64 x))) (pow.f64 eps 3)) (sin.f64 x))))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (+.f64 eps x)))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (+.f64 eps x)))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (+.f64 eps x)))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (+.f64 eps x)))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
Outputs
(sin.f64 (*.f64 1/2 eps))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (sin.f64 (*.f64 1/2 eps))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 x (*.f64 x -1/2)))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (fma.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) -1/6))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 x (*.f64 x -1/2)))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(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 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)))
(fma.f64 (fma.f64 -1/8 (*.f64 eps eps) 1) (sin.f64 x) (*.f64 (*.f64 1/2 eps) (cos.f64 x)))
(fma.f64 (fma.f64 -1/8 (*.f64 eps eps) 1) (sin.f64 x) (*.f64 1/2 (*.f64 eps (cos.f64 x))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps))) (*.f64 (+.f64 (*.f64 (*.f64 -1/8 eps) eps) 1) (sin.f64 x)))
(fma.f64 (cos.f64 x) (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/2 eps)) (*.f64 (sin.f64 x) (fma.f64 -1/8 (*.f64 eps eps) 1)))
(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 (*.f64 2 x) (*.f64 -1 eps))))
(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 (*.f64 2 x) (*.f64 -1 eps))))
(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 (*.f64 2 x) (*.f64 -1 eps))))
(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 (*.f64 2 x) (*.f64 -1 eps))))
(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 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 eps)))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 eps -1/2)))
0
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 eps -1/2)))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x 0)
(*.f64 (cos.f64 (*.f64 1/2 eps)) x)
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))))
(+.f64 (+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (sin.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 0 (*.f64 x (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x -1/2)) (cos.f64 (*.f64 1/2 eps)))))
(*.f64 x (+.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x -1/2))))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))))))
(+.f64 (+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (fma.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x))))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (+.f64 (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) -1/6))) (sin.f64 (*.f64 eps -1/2))))
(+.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) -1/2) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 x)))) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x 0))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (*.f64 x -1/2))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (neg.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(sin.f64 x)
(+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (sin.f64 x))
(fma.f64 eps (fma.f64 1/2 (cos.f64 x) -1/2) (sin.f64 x))
(+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (sin.f64 x)))
(fma.f64 eps (fma.f64 1/2 (cos.f64 x) -1/2) (fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (sin.f64 x)))
(fma.f64 eps (fma.f64 1/2 (cos.f64 x) -1/2) (*.f64 (+.f64 (*.f64 (*.f64 -1/8 eps) eps) 1) (sin.f64 x)))
(fma.f64 eps (fma.f64 1/2 (cos.f64 x) -1/2) (*.f64 (sin.f64 x) (fma.f64 -1/8 (*.f64 eps eps) 1)))
(+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 (+.f64 1/48 (*.f64 -1/48 (cos.f64 x))) (pow.f64 eps 3)) (sin.f64 x))))
(fma.f64 eps (fma.f64 1/2 (cos.f64 x) -1/2) (fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 (+.f64 1/48 (*.f64 (cos.f64 x) -1/48)) (pow.f64 eps 3) (sin.f64 x))))
(fma.f64 eps (fma.f64 1/2 (cos.f64 x) -1/2) (fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (fma.f64 (cos.f64 x) -1/48 1/48) (sin.f64 x))))
(fma.f64 eps (fma.f64 1/2 (cos.f64 x) -1/2) (fma.f64 (pow.f64 eps 3) (fma.f64 (cos.f64 x) -1/48 1/48) (*.f64 (sin.f64 x) (fma.f64 -1/8 (*.f64 eps eps) 1))))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (+.f64 eps x)))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (+.f64 eps x)))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (+.f64 eps x)))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (+.f64 eps x)))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (-.f64 (*.f64 1/2 x) (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(+.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps -1/2)))
(+.f64 (sin.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 eps -1/2)))

localize9.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 29 to 17 computations (41.4% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite51.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
816×pow1_binary64
767×add-log-exp_binary64
766×log1p-expm1-u_binary64
766×expm1-log1p-u_binary64
754×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0813
11787
223977
Stop Event
node limit
Counts
1 → 46
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (fma.f64 -1/2 (*.f64 eps eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/2 (*.f64 eps eps)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (fma.f64 -1/2 (*.f64 eps eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -1/2 (*.f64 eps eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 -1/2 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 eps eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (*.f64 -1/2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps eps) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/2 (*.f64 eps eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 eps 4)) (*.f64 (pow.f64 (cbrt.f64 eps) 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 eps eps))) (cbrt.f64 (*.f64 (pow.f64 eps 4) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 eps 4) 1/4)) (cbrt.f64 (*.f64 -1/2 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (sqrt.f64 -1/2)) (*.f64 eps (sqrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 2) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 2) -1) (/.f64 1 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/2 eps) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (hypot.f64 1 (*.f64 eps (sqrt.f64 -1/2))) 1) (-.f64 (hypot.f64 1 (*.f64 eps (sqrt.f64 -1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/2 (cbrt.f64 (pow.f64 eps 4))) (pow.f64 (cbrt.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -1/2 eps) 1) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -1/2 eps) (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -1/2 eps) (sqrt.f64 eps)) (sqrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 2) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 2)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 2) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 2) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 2) (-.f64 1 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 2) -1) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 2) -1) (-.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 3) -1)) (neg.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 2) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 2) -1)) (neg.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) -1) 3)) (+.f64 1 (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) -1) (fma.f64 -1/2 (*.f64 eps eps) -1)) (fma.f64 -1/2 (*.f64 eps eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) -1) (fma.f64 -1/2 (*.f64 eps eps) -1))) (-.f64 1 (fma.f64 -1/2 (*.f64 eps eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 eps eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (sqrt.f64 -1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 eps eps) 3) -1/8) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 eps 4) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 eps) eps) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 eps eps) 3) -1/8))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -1/2 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 -1/2 (*.f64 eps eps) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) 2)) (cbrt.f64 (fma.f64 -1/2 (*.f64 eps eps) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (*.f64 eps (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 eps (sqrt.f64 -1/2))) -1)))))

simplify171.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 eps)
0.1b
(expm1.f64 (+.f64 (cos.f64 eps) -1))
0.3b
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
1.7b
(+.f64 (cos.f64 eps) -1)
Compiler

Compiled 21 to 13 computations (38.1% saved)

series3.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite59.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
625×pow1_binary64
580×expm1-log1p-u_binary64
579×add-log-exp_binary64
579×log1p-expm1-u_binary64
568×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify134.0ms (0.5%)

Algorithm
egg-herbie
Rules
902×distribute-rgt-out_binary64
620×fma-def_binary64
565×associate-*l*_binary64
520×distribute-lft-in_binary64
434×sqr-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041370
1101370
2226370
3719370
43407370
55312370
66312370
76649370
86979370
97348370
107801370
Stop Event
node limit
Counts
117 → 68
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/6 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/6 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -31/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/6 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 379/40320 (pow.f64 eps 8)) (*.f64 -31/720 (pow.f64 eps 6)))))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
Outputs
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/24 (pow.f64 eps 4))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (fma.f64 1/40320 (pow.f64 eps 8) (*.f64 -1/2 (*.f64 eps eps)))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8))))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/24 (pow.f64 eps 4))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (fma.f64 1/40320 (pow.f64 eps 8) (*.f64 -1/2 (*.f64 eps eps)))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8))))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(+.f64 (*.f64 1/6 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/6 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 4) 1/6))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/6) -1/2)))
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/6) -1/2))
(+.f64 (*.f64 1/6 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -31/720 (pow.f64 eps 6))))
(fma.f64 1/6 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 6) -31/720)))
(fma.f64 (pow.f64 eps 4) 1/6 (fma.f64 (pow.f64 eps 6) -31/720 (*.f64 -1/2 (*.f64 eps eps))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 6) -31/720 (*.f64 (pow.f64 eps 4) 1/6)))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) 1/6 (*.f64 (pow.f64 eps 6) -31/720)))
(+.f64 (*.f64 1/6 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 379/40320 (pow.f64 eps 8)) (*.f64 -31/720 (pow.f64 eps 6)))))
(fma.f64 1/6 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 379/40320 (pow.f64 eps 8) (*.f64 (pow.f64 eps 6) -31/720))))
(fma.f64 (pow.f64 eps 4) 1/6 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 6) -31/720 (*.f64 (pow.f64 eps 8) 379/40320))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) 1/6 (fma.f64 (pow.f64 eps 6) -31/720 (*.f64 (pow.f64 eps 8) 379/40320))))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (pow.f64 (cos.f64 x) 2))
0.2b
(pow.f64 (cos.f64 x) 2)
0.9b
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
3.5b
(cos.f64 (+.f64 x eps))
Compiler

Compiled 33 to 15 computations (54.5% saved)

series4.0ms (0%)

Counts
3 → 40
Calls

12 calls:

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

rewrite80.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
468×log-prod_binary64
426×fma-def_binary64
303×pow-prod-down_binary64
281×pow2_binary64
222×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
122920
2295420
Stop Event
node limit
Counts
3 → 172
Calls
Call 1
Inputs
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(pow.f64 (cos.f64 x) 2)
(sqrt.f64 (pow.f64 (cos.f64 x) 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.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 (+.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 -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 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) (neg.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) (neg.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (cos.f64 x)) 3)) (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (-.f64 (pow.f64 (neg.f64 (cos.f64 x)) 2) (*.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (neg.f64 (cos.f64 x)) 2)) (-.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cbrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cbrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (neg.f64 (cbrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (neg.f64 (sqrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (cos.f64 x))) 2) (cbrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (cos.f64 x))) (sqrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)) (sin.f64 (/.f64 (+.f64 (+.f64 x eps) x) 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 (+.f64 x eps) x) 2)) (sin.f64 (/.f64 (+.f64 (+.f64 x eps) 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 -2 (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)) (sin.f64 (/.f64 (+.f64 (+.f64 x eps) x) 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 (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 +.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (cos.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (cos.f64 x) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cos.f64 x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 x) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cos.f64 x) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 x) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cos.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 4) (pow.f64 (cbrt.f64 (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (pow.f64 (cbrt.f64 (cos.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 x)) (pow.f64 (cos.f64 x) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 x) 3/2) (sqrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 5) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (+.f64 x x)) (cos.f64 (-.f64 x x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cos.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cos.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 x) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cos.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cos.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 4 (log.f64 (cos.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 x) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (cos.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cos.f64 x)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (cos.f64 x))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (cos.f64 x))) 1) 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 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 x))) 2)) (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 (pow.f64 (cos.f64 x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 x) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cos.f64 x))))) (#(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 cos.f64 x)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.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))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cos.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 x) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cos.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cos.f64 x)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (cos.f64 x))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (cos.f64 x))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cos.f64 x)) 3) 1/3))))))

simplify51.0ms (0.2%)

Algorithm
egg-herbie
Rules
710×fma-neg_binary64
382×associate-+l+_binary64
382×fma-def_binary64
370×*-commutative_binary64
358×distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
083505
1219490
2572471
32484457
Stop Event
node limit
Counts
212 → 204
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
1
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 1/3 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (*.f64 -2/45 (pow.f64 x 6)) (*.f64 1/3 (pow.f64 x 4)))))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 1/24 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/720 (pow.f64 x 6)))))
(cos.f64 x)
(cos.f64 x)
(cos.f64 x)
(cos.f64 x)
(cos.f64 x)
(cos.f64 x)
(cos.f64 x)
(cos.f64 x)
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (neg.f64 x) (sin.f64 eps)) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (neg.f64 x) -1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x))) 1))
(+.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) (*.f64 (sin.f64 eps) (neg.f64 x))) (+.f64 (cos.f64 eps) -1))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (fma.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2) (neg.f64 (sin.f64 eps))) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x)))) 1))
(+.f64 (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))) (+.f64 (cos.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) -1)))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x) (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) -1)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (neg.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (neg.f64 eps)))
(-.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 eps (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (neg.f64 eps))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3)))))
(fma.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (neg.f64 eps)))))
(fma.f64 (cos.f64 x) (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3))))))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
1
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 1/3 (pow.f64 x 4))))
(+.f64 1 (fma.f64 -1 (*.f64 x x) (*.f64 1/3 (pow.f64 x 4))))
(+.f64 (-.f64 1 (*.f64 x x)) (*.f64 1/3 (pow.f64 x 4)))
(-.f64 (fma.f64 1/3 (pow.f64 x 4) 1) (*.f64 x x))
(-.f64 (*.f64 1/3 (pow.f64 x 4)) (fma.f64 x x -1))
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (*.f64 -2/45 (pow.f64 x 6)) (*.f64 1/3 (pow.f64 x 4)))))
(+.f64 1 (fma.f64 -1 (*.f64 x x) (fma.f64 -2/45 (pow.f64 x 6) (*.f64 1/3 (pow.f64 x 4)))))
(+.f64 (-.f64 1 (*.f64 x x)) (fma.f64 -2/45 (pow.f64 x 6) (*.f64 1/3 (pow.f64 x 4))))
(+.f64 1 (fma.f64 1/3 (pow.f64 x 4) (fma.f64 -2/45 (pow.f64 x 6) (*.f64 x (neg.f64 x)))))
(-.f64 (fma.f64 1/3 (pow.f64 x 4) (*.f64 -2/45 (pow.f64 x 6))) (fma.f64 x x -1))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 x x)))
(fma.f64 -1/2 (*.f64 x x) 1)
(fma.f64 x (*.f64 x -1/2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 1/24 (pow.f64 x 4))))
(+.f64 1 (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))))
(+.f64 (fma.f64 -1/2 (*.f64 x x) 1) (*.f64 1/24 (pow.f64 x 4)))
(fma.f64 x (*.f64 x -1/2) (fma.f64 1/24 (pow.f64 x 4) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/720 (pow.f64 x 6)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 x x) (fma.f64 1/24 (pow.f64 x 4) (*.f64 (pow.f64 x 6) -1/720))))
(+.f64 (fma.f64 -1/2 (*.f64 x x) 1) (fma.f64 1/24 (pow.f64 x 4) (*.f64 (pow.f64 x 6) -1/720)))
(+.f64 (fma.f64 x (*.f64 x -1/2) 1) (fma.f64 1/24 (pow.f64 x 4) (*.f64 (pow.f64 x 6) -1/720)))
(cos.f64 x)
(cos.f64 x)
(cos.f64 x)
(cos.f64 x)
(cos.f64 x)
(cos.f64 x)
(cos.f64 x)
(cos.f64 x)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 x) (cos.f64 eps))
0.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))
0.2b
(*.f64 (sin.f64 x) (sin.f64 eps))
2.4b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
Compiler

Compiled 47 to 10 computations (78.7% saved)

series8.0ms (0%)

Counts
3 → 56
Calls

18 calls:

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

rewrite131.0ms (0.5%)

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

Useful iterations: 1 (0.0ms)

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

simplify81.0ms (0.3%)

Algorithm
egg-herbie
Rules
569×fma-def_binary64
519×fma-neg_binary64
452×unswap-sqr_binary64
448×*-commutative_binary64
417×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0841074
12441013
2713966
32675943
46437943
Stop Event
node limit
Counts
416 → 408
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 1/24 (*.f64 (cos.f64 eps) (pow.f64 x 4)))))
(+.f64 (*.f64 -1/720 (*.f64 (cos.f64 eps) (pow.f64 x 6))) (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 1/24 (*.f64 (cos.f64 eps) (pow.f64 x 4))))))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (neg.f64 (*.f64 x (sin.f64 eps))) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(fma.f64 (sin.f64 eps) (neg.f64 x) (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x))) 1))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (fma.f64 (neg.f64 x) (sin.f64 eps) -1)))
(+.f64 (cos.f64 eps) (+.f64 -1 (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps)) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x)))) 1))
(+.f64 -1 (+.f64 (cos.f64 eps) (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x))))))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x) (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) -1)))
(+.f64 (cos.f64 eps) (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (fma.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x) -1)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3)))))
(fma.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps -1/2)))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 eps (*.f64 eps 1/24)) -1/2))))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (neg.f64 (*.f64 x (sin.f64 eps))))
(-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps)))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (neg.f64 (*.f64 x (sin.f64 eps)))))
(-.f64 (fma.f64 (*.f64 (cos.f64 eps) -1/2) (*.f64 x x) (cos.f64 eps)) (*.f64 x (sin.f64 eps)))
(+.f64 (cos.f64 eps) (*.f64 x (-.f64 (*.f64 (cos.f64 eps) (*.f64 -1/2 x)) (sin.f64 eps))))
(-.f64 (cos.f64 eps) (*.f64 x (-.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (*.f64 x -1/2)))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(+.f64 (cos.f64 eps) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (neg.f64 (*.f64 x (sin.f64 eps))))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x x))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))))
(+.f64 (cos.f64 eps) (fma.f64 (cos.f64 eps) (*.f64 x (*.f64 x -1/2)) (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x))))
(fma.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 eps) (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)))
(-.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)))
(-.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)))
(-.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)))
(-.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)))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (cos.f64 x) (neg.f64 (*.f64 eps (sin.f64 x))))
(fma.f64 (neg.f64 eps) (sin.f64 x) (cos.f64 x))
(fma.f64 eps (neg.f64 (sin.f64 x)) (cos.f64 x))
(+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x)))
(fma.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1) (*.f64 eps (neg.f64 (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (+.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)) (*.f64 eps (sin.f64 x))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3)))))
(fma.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x))))
(fma.f64 (*.f64 (cos.f64 eps) -1/2) (*.f64 x x) (cos.f64 eps))
(*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (cos.f64 eps))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 1/24 (*.f64 (cos.f64 eps) (pow.f64 x 4)))))
(+.f64 (cos.f64 eps) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (*.f64 1/24 (*.f64 (cos.f64 eps) (pow.f64 x 4)))))
(+.f64 (cos.f64 eps) (*.f64 (cos.f64 eps) (+.f64 (*.f64 x (*.f64 x -1/2)) (*.f64 1/24 (pow.f64 x 4)))))
(*.f64 (cos.f64 eps) (+.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (*.f64 1/24 (pow.f64 x 4))))
(+.f64 (*.f64 -1/720 (*.f64 (cos.f64 eps) (pow.f64 x 6))) (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 1/24 (*.f64 (cos.f64 eps) (pow.f64 x 4))))))
(fma.f64 -1/720 (*.f64 (cos.f64 eps) (pow.f64 x 6)) (+.f64 (cos.f64 eps) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (*.f64 1/24 (*.f64 (cos.f64 eps) (pow.f64 x 4))))))
(+.f64 (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (*.f64 1/24 (*.f64 (cos.f64 eps) (pow.f64 x 4)))) (fma.f64 (*.f64 (cos.f64 eps) -1/720) (pow.f64 x 6) (cos.f64 eps)))
(+.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (cos.f64 eps)) (*.f64 (cos.f64 eps) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/720 (pow.f64 x 6)))))
(+.f64 (cos.f64 eps) (*.f64 (cos.f64 eps) (+.f64 (*.f64 x (*.f64 x -1/2)) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/720 (pow.f64 x 6))))))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x))
(*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)))
(*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (+.f64 (cos.f64 x) (fma.f64 -1/720 (*.f64 (cos.f64 x) (pow.f64 eps 6)) (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 -1/720 (pow.f64 eps 6)))) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) 1) (cos.f64 x)))
(fma.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))) (*.f64 (cos.f64 x) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(*.f64 (cos.f64 x) (+.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 eps) (cos.f64 x))

eval723.0ms (2.6%)

Compiler

Compiled 28598 to 12448 computations (56.5% saved)

prune506.0ms (1.8%)

Pruning

101 alts after pruning (93 fresh and 8 done)

PrunedKeptTotal
New1086211107
Fresh127284
Picked011
Done279
Total11001011201
Error
0.1b
Counts
1201 → 101
Alt Table
Click to see full alt table
StatusErrorProgram
42.2b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (cos.f64 x))))
46.8b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
15.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (log1p.f64 (expm1.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)))) (sin.f64 (*.f64 x 1/2))))) -2)
56.2b
(log1p.f64 (sqrt.f64 (pow.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) 2)))
22.4b
(-.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
15.7b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
35.5b
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
57.2b
(expm1.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2)))
31.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (pow.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)))
48.1b
(*.f64 (*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps)))) -2)
37.8b
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
37.6b
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
47.6b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
15.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (log1p.f64 (expm1.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)))) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
38.2b
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) 3))
22.8b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 3)))
48.1b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
22.4b
(log.f64 (exp.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
24.6b
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
35.5b
(*.f64 (+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4))))) -2)
22.4b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 3)) (cos.f64 x))
55.1b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
56.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
49.9b
(expm1.f64 (log.f64 (cos.f64 eps)))
37.8b
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
35.1b
(-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
52.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (cbrt.f64 (pow.f64 eps 3)) 1/2))) -2)
34.8b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
16.5b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
40.7b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2)) (cos.f64 x))
54.4b
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
38.2b
(-.f64 (cos.f64 (+.f64 x eps)) (fabs.f64 (cos.f64 x)))
22.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
22.3b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
37.8b
(-.f64 (-.f64 (+.f64 (cos.f64 eps) 1) 1) 1)
34.9b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
37.7b
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
57.2b
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
22.3b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
36.4b
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
37.6b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
37.7b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
53.6b
(*.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))))
38.5b
(*.f64 (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))) -2)
35.0b
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
38.1b
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) 3/2))
57.0b
(-.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
38.4b
(*.f64 (sin.f64 x) (neg.f64 eps))
38.4b
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
37.8b
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
31.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 0 2))) -2)
22.8b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
38.0b
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
22.3b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))) (cos.f64 x))
39.9b
(-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 x (*.f64 x -1/2) 1))
36.8b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
48.1b
(*.f64 (/.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) (sqrt.f64 2)) -2)
49.2b
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
53.8b
(*.f64 -1/2 (*.f64 eps eps))
15.4b
(*.f64 (+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 x 1/2))) (sin.f64 (*.f64 (+.f64 x eps) 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (sin.f64 (*.f64 eps 1/2))))) -2)
36.8b
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
17.1b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
37.9b
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
38.1b
(-.f64 (cos.f64 (+.f64 x eps)) 1)
56.5b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
32.1b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) -2)
39.0b
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
32.1b
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
56.0b
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
37.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
43.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
22.3b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
39.0b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
34.3b
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
15.8b
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
47.2b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 eps) 2)) 1)
34.3b
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
52.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
37.8b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
37.9b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
22.2b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
37.7b
(-.f64 (cos.f64 eps) 1)
31.5b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (exp.f64 (log.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
56.0b
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))
36.3b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
16.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (sin.f64 x)) 2))) -2)
22.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (/.f64 1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
37.4b
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
22.5b
(-.f64 (-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) 1) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
37.8b
(-.f64 (cos.f64 eps) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
30.7b
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3) (pow.f64 (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))) 3))) -2)
56.8b
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
62.0b
(+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
37.9b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
30.7b
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 3)) -2)
37.4b
(-.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
37.4b
(-.f64 (cos.f64 eps) (cos.f64 x))
57.1b
0
57.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
37.6b
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
22.3b
(-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
Compiler

Compiled 1577 to 1195 computations (24.2% saved)

regimes1.3s (4.8%)

Counts
156 → 3
Calls
Call 1
Inputs
0
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(-.f64 (cos.f64 (+.f64 x eps)) 1)
(*.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))))
(-.f64 (-.f64 (+.f64 (cos.f64 eps) 1) 1) 1)
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 x (*.f64 x -1/2) 1))
(*.f64 (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
(expm1.f64 (log.f64 (cos.f64 eps)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 eps) 2)) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (fabs.f64 (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) -2)
(-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3))) 1/2))) -2)
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 0 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
(*.f64 (+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4))))) -2)
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
(-.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(-.f64 (cos.f64 eps) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
(-.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log.f64 (exp.f64 (cos.f64 x))))
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3)) (cos.f64 x))
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
(*.f64 (*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps)))) -2)
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 3)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (cbrt.f64 (pow.f64 eps 3)) 1/2))) -2)
(fma.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (/.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) (sqrt.f64 2)) -2)
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))) -2)
(-.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 1/6 (pow.f64 eps 3)))))
(expm1.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2)))
(log1p.f64 (sqrt.f64 (pow.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) 2)))
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) 3))
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) 3/2))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3) (pow.f64 (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))) 3))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (sin.f64 x)) 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (sin.f64 (-.f64 (*.f64 x 1/2) (*.f64 (+.f64 x eps) 1/2))) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 2))) -2)
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
(-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 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)))))
(*.f64 (+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 x 1/2))) (sin.f64 (*.f64 (+.f64 x eps) 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (sin.f64 (*.f64 eps 1/2))))) -2)
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
(-.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(log.f64 (exp.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 3)) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2)) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (/.f64 1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
(-.f64 (-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) 1) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (log1p.f64 (expm1.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)))) (sin.f64 (*.f64 x 1/2))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (log1p.f64 (expm1.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)))) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))) (cos.f64 x))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (expm1.f64 (log1p.f64 (sin.f64 x))) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2) (neg.f64 (cos.f64 x)))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 3) (neg.f64 (cos.f64 x)))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 3)) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (exp.f64 (log.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (pow.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 3)))
(-.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 x eps)))))) (cos.f64 x))
(fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (cos.f64 x))))
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (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))))
(-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (cos.f64 x))
Outputs
(-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (/.f64 1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
Calls

4 calls:

392.0ms
x
336.0ms
eps
264.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
259.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
13.5b2x
0.4b3eps
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 2312 to 1120 computations (51.6% saved)

bsearch188.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
104.0ms
5.573415221579436e-13
4099366633883406300.0
82.0ms
-66854077635.15686
-0.0052071745123544975
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes2.0s (7%)

Counts
135 → 3
Calls
Call 1
Inputs
0
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(-.f64 (cos.f64 (+.f64 x eps)) 1)
(*.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))))
(-.f64 (-.f64 (+.f64 (cos.f64 eps) 1) 1) 1)
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 x (*.f64 x -1/2) 1))
(*.f64 (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
(expm1.f64 (log.f64 (cos.f64 eps)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 eps) 2)) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (fabs.f64 (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) -2)
(-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3))) 1/2))) -2)
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 0 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
(*.f64 (+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4))))) -2)
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
(-.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(-.f64 (cos.f64 eps) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
(-.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log.f64 (exp.f64 (cos.f64 x))))
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3)) (cos.f64 x))
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
(*.f64 (*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps)))) -2)
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 3)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (cbrt.f64 (pow.f64 eps 3)) 1/2))) -2)
(fma.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (/.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) (sqrt.f64 2)) -2)
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))) -2)
(-.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 1/6 (pow.f64 eps 3)))))
(expm1.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2)))
(log1p.f64 (sqrt.f64 (pow.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) 2)))
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) 3))
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) 3/2))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3) (pow.f64 (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))) 3))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (sin.f64 x)) 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (sin.f64 (-.f64 (*.f64 x 1/2) (*.f64 (+.f64 x eps) 1/2))) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 2))) -2)
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
(-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 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)))))
(*.f64 (+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 x 1/2))) (sin.f64 (*.f64 (+.f64 x eps) 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (sin.f64 (*.f64 eps 1/2))))) -2)
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
(-.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(log.f64 (exp.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 3)) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2)) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (/.f64 1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
(-.f64 (-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) 1) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
Outputs
(-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (/.f64 1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
Calls

4 calls:

1.1s
eps
266.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
240.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
203.0ms
x
Results
ErrorSegmentsBranch
13.5b2x
0.4b3eps
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1825 to 957 computations (47.6% saved)

bsearch188.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
111.0ms
5.573415221579436e-13
4099366633883406300.0
76.0ms
-66854077635.15686
-0.0052071745123544975
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes956.0ms (3.4%)

Counts
133 → 3
Calls
Call 1
Inputs
0
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(-.f64 (cos.f64 (+.f64 x eps)) 1)
(*.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))))
(-.f64 (-.f64 (+.f64 (cos.f64 eps) 1) 1) 1)
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 x (*.f64 x -1/2) 1))
(*.f64 (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
(expm1.f64 (log.f64 (cos.f64 eps)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 eps) 2)) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (fabs.f64 (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) -2)
(-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3))) 1/2))) -2)
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 0 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
(*.f64 (+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4))))) -2)
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
(-.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(-.f64 (cos.f64 eps) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
(-.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log.f64 (exp.f64 (cos.f64 x))))
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3)) (cos.f64 x))
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
(*.f64 (*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps)))) -2)
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 3)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (cbrt.f64 (pow.f64 eps 3)) 1/2))) -2)
(fma.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (/.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) (sqrt.f64 2)) -2)
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))) -2)
(-.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 1/6 (pow.f64 eps 3)))))
(expm1.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2)))
(log1p.f64 (sqrt.f64 (pow.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) 2)))
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) 3))
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) 3/2))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3) (pow.f64 (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))) 3))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (sin.f64 x)) 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (sin.f64 (-.f64 (*.f64 x 1/2) (*.f64 (+.f64 x eps) 1/2))) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 2))) -2)
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
(-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 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)))))
(*.f64 (+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 x 1/2))) (sin.f64 (*.f64 (+.f64 x eps) 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (sin.f64 (*.f64 eps 1/2))))) -2)
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
(-.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(log.f64 (exp.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 3)) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2)) (cos.f64 x))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
Outputs
(-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
Calls

4 calls:

321.0ms
eps
231.0ms
x
180.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
127.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
13.5b2x
0.4b3eps
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1790 to 945 computations (47.2% saved)

bsearch226.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
113.0ms
5.573415221579436e-13
4099366633883406300.0
112.0ms
-66854077635.15686
-0.0052071745123544975
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes1.4s (5%)

Counts
126 → 3
Calls
Call 1
Inputs
0
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(-.f64 (cos.f64 (+.f64 x eps)) 1)
(*.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))))
(-.f64 (-.f64 (+.f64 (cos.f64 eps) 1) 1) 1)
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 x (*.f64 x -1/2) 1))
(*.f64 (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
(expm1.f64 (log.f64 (cos.f64 eps)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 eps) 2)) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (fabs.f64 (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) -2)
(-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3))) 1/2))) -2)
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 0 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
(*.f64 (+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4))))) -2)
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
(-.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(-.f64 (cos.f64 eps) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
(-.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log.f64 (exp.f64 (cos.f64 x))))
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3)) (cos.f64 x))
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
(*.f64 (*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps)))) -2)
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 3)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (cbrt.f64 (pow.f64 eps 3)) 1/2))) -2)
(fma.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (/.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) (sqrt.f64 2)) -2)
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))) -2)
(-.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 1/6 (pow.f64 eps 3)))))
(expm1.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2)))
(log1p.f64 (sqrt.f64 (pow.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) 2)))
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) 3))
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) 3/2))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3) (pow.f64 (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))) 3))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (sin.f64 x)) 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (sin.f64 (-.f64 (*.f64 x 1/2) (*.f64 (+.f64 x eps) 1/2))) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 2))) -2)
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
(-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 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)))))
(*.f64 (+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 x 1/2))) (sin.f64 (*.f64 (+.f64 x eps) 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (sin.f64 (*.f64 eps 1/2))))) -2)
Outputs
(-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
Calls

4 calls:

551.0ms
eps
406.0ms
x
200.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
149.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
13.5b2x
0.4b3eps
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1681 to 924 computations (45% saved)

bsearch203.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
84.0ms
5.573415221579436e-13
4099366633883406300.0
117.0ms
-66854077635.15686
-0.0052071745123544975
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes1.1s (3.9%)

Counts
120 → 3
Calls
Call 1
Inputs
0
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(-.f64 (cos.f64 (+.f64 x eps)) 1)
(*.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))))
(-.f64 (-.f64 (+.f64 (cos.f64 eps) 1) 1) 1)
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 x (*.f64 x -1/2) 1))
(*.f64 (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
(expm1.f64 (log.f64 (cos.f64 eps)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 eps) 2)) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (fabs.f64 (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) -2)
(-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3))) 1/2))) -2)
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 0 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
(*.f64 (+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4))))) -2)
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
(-.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(-.f64 (cos.f64 eps) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
(-.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log.f64 (exp.f64 (cos.f64 x))))
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3)) (cos.f64 x))
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
(*.f64 (*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps)))) -2)
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 3)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (cbrt.f64 (pow.f64 eps 3)) 1/2))) -2)
(fma.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (/.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) (sqrt.f64 2)) -2)
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))) -2)
(-.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 1/6 (pow.f64 eps 3)))))
(expm1.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2)))
(log1p.f64 (sqrt.f64 (pow.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) 2)))
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) 3))
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) 3/2))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3) (pow.f64 (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))) 3))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (sin.f64 x)) 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (sin.f64 (-.f64 (*.f64 x 1/2) (*.f64 (+.f64 x eps) 1/2))) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 2))) -2)
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
Outputs
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))
Calls

4 calls:

397.0ms
x
304.0ms
eps
170.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
113.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
13.5b2x
0.4b3eps
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1572 to 885 computations (43.7% saved)

bsearch195.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
58.0ms
5.573415221579436e-13
4099366633883406300.0
136.0ms
-66854077635.15686
-0.0052071745123544975
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes782.0ms (2.8%)

Counts
119 → 3
Calls
Call 1
Inputs
0
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(-.f64 (cos.f64 (+.f64 x eps)) 1)
(*.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))))
(-.f64 (-.f64 (+.f64 (cos.f64 eps) 1) 1) 1)
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 x (*.f64 x -1/2) 1))
(*.f64 (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
(expm1.f64 (log.f64 (cos.f64 eps)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 eps) 2)) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (fabs.f64 (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) -2)
(-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3))) 1/2))) -2)
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 0 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
(*.f64 (+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4))))) -2)
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
(-.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(-.f64 (cos.f64 eps) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
(-.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log.f64 (exp.f64 (cos.f64 x))))
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3)) (cos.f64 x))
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
(*.f64 (*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps)))) -2)
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 3)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (cbrt.f64 (pow.f64 eps 3)) 1/2))) -2)
(fma.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (/.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) (sqrt.f64 2)) -2)
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))) -2)
(-.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 1/6 (pow.f64 eps 3)))))
(expm1.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2)))
(log1p.f64 (sqrt.f64 (pow.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) 2)))
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) 3))
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) 3/2))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3) (pow.f64 (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))) 3))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (sin.f64 x)) 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (sin.f64 (-.f64 (*.f64 x 1/2) (*.f64 (+.f64 x eps) 1/2))) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 2))) -2)
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
Outputs
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
Calls

4 calls:

234.0ms
eps
210.0ms
x
104.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
102.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
13.6b2x
0.4b3eps
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1558 to 881 computations (43.5% saved)

bsearch206.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
119.0ms
5.573415221579436e-13
4099366633883406300.0
85.0ms
-66854077635.15686
-0.0052071745123544975
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes1.0s (3.7%)

Counts
118 → 3
Calls
Call 1
Inputs
0
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(-.f64 (cos.f64 (+.f64 x eps)) 1)
(*.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))))
(-.f64 (-.f64 (+.f64 (cos.f64 eps) 1) 1) 1)
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 x (*.f64 x -1/2) 1))
(*.f64 (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
(expm1.f64 (log.f64 (cos.f64 eps)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 eps) 2)) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (fabs.f64 (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) -2)
(-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3))) 1/2))) -2)
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 0 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
(*.f64 (+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4))))) -2)
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
(-.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(-.f64 (cos.f64 eps) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
(-.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log.f64 (exp.f64 (cos.f64 x))))
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3)) (cos.f64 x))
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
(*.f64 (*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps)))) -2)
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 3)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (cbrt.f64 (pow.f64 eps 3)) 1/2))) -2)
(fma.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (/.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) (sqrt.f64 2)) -2)
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))) -2)
(-.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 1/6 (pow.f64 eps 3)))))
(expm1.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2)))
(log1p.f64 (sqrt.f64 (pow.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) 2)))
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) 3))
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) 3/2))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3) (pow.f64 (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))) 3))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (cos.f64 x)) 1/2)) (sin.f64 x)) 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 (+.f64 (sin.f64 (-.f64 (*.f64 x 1/2) (*.f64 (+.f64 x eps) 1/2))) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 2))) -2)
Outputs
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
Calls

4 calls:

305.0ms
eps
253.0ms
x
176.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
129.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
13.6b2x
0.4b3eps
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1545 to 879 computations (43.1% saved)

bsearch188.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
93.0ms
5.573415221579436e-13
4099366633883406300.0
94.0ms
-66854077635.15686
-0.0052071745123544975
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes977.0ms (3.5%)

Counts
113 → 3
Calls
Call 1
Inputs
0
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(-.f64 (cos.f64 (+.f64 x eps)) 1)
(*.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))))
(-.f64 (-.f64 (+.f64 (cos.f64 eps) 1) 1) 1)
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 x (*.f64 x -1/2) 1))
(*.f64 (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
(expm1.f64 (log.f64 (cos.f64 eps)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 eps) 2)) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (fabs.f64 (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) -2)
(-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3))) 1/2))) -2)
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 0 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
(*.f64 (+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4))))) -2)
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
(-.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(-.f64 (cos.f64 eps) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
(-.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log.f64 (exp.f64 (cos.f64 x))))
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3)) (cos.f64 x))
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
(*.f64 (*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps)))) -2)
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 3)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (cbrt.f64 (pow.f64 eps 3)) 1/2))) -2)
(fma.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (/.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) (sqrt.f64 2)) -2)
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))) -2)
(-.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 1/6 (pow.f64 eps 3)))))
(expm1.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2)))
(log1p.f64 (sqrt.f64 (pow.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) 2)))
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) 3))
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) 3/2))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
Outputs
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
Calls

4 calls:

289.0ms
x
217.0ms
eps
201.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
174.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
13.8b2x
0.4b3eps
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1397 to 794 computations (43.2% saved)

bsearch187.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
81.0ms
5.573415221579436e-13
4099366633883406300.0
66.0ms
-66854077635.15686
-0.0052071745123544975
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes669.0ms (2.4%)

Counts
112 → 1
Calls
Call 1
Inputs
0
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(-.f64 (cos.f64 (+.f64 x eps)) 1)
(*.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))))
(-.f64 (-.f64 (+.f64 (cos.f64 eps) 1) 1) 1)
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (cos.f64 (+.f64 x eps)) (fma.f64 x (*.f64 x -1/2) 1))
(*.f64 (*.f64 eps (*.f64 (sin.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
(expm1.f64 (log.f64 (cos.f64 eps)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 eps) 2)) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (fabs.f64 (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (cos.f64 x))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) -2)
(-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps))) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3))) 1/2))) -2)
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (/.f64 0 2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
(*.f64 (+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4))))) -2)
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
(-.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(-.f64 (cos.f64 eps) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
(-.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (cos.f64 x))))
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (cos.f64 (+.f64 x eps)) (log.f64 (exp.f64 (cos.f64 x))))
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (cos.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3)) (cos.f64 x))
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
(-.f64 (cos.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
(*.f64 (*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 eps)))) -2)
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 3)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (cbrt.f64 (pow.f64 eps 3)) 1/2))) -2)
(fma.f64 eps (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) -2)
(*.f64 (/.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps 0) 1/2)) (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) (sqrt.f64 2)) -2)
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))) -2)
(-.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 1/6 (pow.f64 eps 3)))))
(expm1.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2)))
(log1p.f64 (sqrt.f64 (pow.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) 2)))
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) 3))
(-.f64 (cos.f64 (+.f64 x eps)) (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) 3/2))
Outputs
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
Calls

4 calls:

252.0ms
eps
110.0ms
x
102.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
75.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
15.7b1x
15.7b1eps
15.7b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
15.7b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1383 to 791 computations (42.8% saved)

regimes213.0ms (0.8%)

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

4 calls:

62.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
55.0ms
eps
48.0ms
x
33.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
18.2b3x
14.5b3eps
16.3b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
16.3b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 277 to 157 computations (43.3% saved)

bsearch147.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
85.0ms
5.573415221579436e-13
4099366633883406300.0
61.0ms
-0.0052071745123544975
-6.460716559537103e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes247.0ms (0.9%)

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

4 calls:

93.0ms
x
92.0ms
eps
38.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
14.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
19.4b3x
17.1b5eps
19.9b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
19.9b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 161 to 95 computations (41% saved)

bsearch389.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
5.573415221579436e-13
4099366633883406300.0
135.0ms
-3.5205277515653727e-143
-8.551358387531103e-145
140.0ms
-5.367921965559038e-117
-9.655802177081009e-119
55.0ms
-0.0052071745123544975
-6.460716559537103e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes124.0ms (0.4%)

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

2 calls:

40.0ms
eps
23.0ms
x
Results
ErrorSegmentsBranch
22.8b3x
17.4b5eps
Compiler

Compiled 104 to 59 computations (43.3% saved)

bsearch351.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
55.0ms
5.573415221579436e-13
4099366633883406300.0
124.0ms
-3.5205277515653727e-143
-8.551358387531103e-145
114.0ms
-5.367921965559038e-117
-9.655802177081009e-119
58.0ms
-0.0052071745123544975
-6.460716559537103e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes82.0ms (0.3%)

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

2 calls:

56.0ms
eps
22.0ms
x
Results
ErrorSegmentsBranch
22.8b3x
18.0b5eps
Compiler

Compiled 99 to 58 computations (41.4% saved)

bsearch466.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
54.0ms
5.573415221579436e-13
4099366633883406300.0
140.0ms
-3.5205277515653727e-143
-8.551358387531103e-145
212.0ms
-5.367921965559038e-117
-9.655802177081009e-119
60.0ms
-0.0052071745123544975
-6.460716559537103e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes19.0ms (0.1%)

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

2 calls:

11.0ms
eps
5.0ms
x
Results
ErrorSegmentsBranch
37.7b1x
34.3b3eps
Compiler

Compiled 27 to 19 computations (29.6% saved)

bsearch117.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
58.0ms
5.573415221579436e-13
4099366633883406300.0
59.0ms
-9.454167810978805e-13
-1.1112640173573401e-15
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes9.0ms (0%)

Accuracy

Total -3.9b remaining (-7.3%)

Threshold costs -3.9b (-7.3%)

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

2 calls:

4.0ms
eps
4.0ms
x
Results
ErrorSegmentsBranch
53.8b1x
53.8b1eps
Compiler

Compiled 23 to 16 computations (30.4% saved)

simplify49.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01251084
11981082
22391082
32561082
42631082
52641082
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (/.f64 1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (/.f64 1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(if (<=.f64 eps -1500865868383543/288230376151711744) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))))
(if (<=.f64 eps -1500865868383543/288230376151711744) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (if (<=.f64 eps -3810169485903611/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 eps -7733667414838671/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 -1/2 (*.f64 eps eps)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 (sin.f64 x) (neg.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))))))
(if (<=.f64 eps -1500865868383543/288230376151711744) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps -3810169485903611/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 eps -7733667414838671/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 -1/2 (*.f64 eps eps)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) (cos.f64 x))))))
(if (<=.f64 eps -1500865868383543/288230376151711744) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps -3810169485903611/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 eps -7733667414838671/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 -1/2 (*.f64 eps eps)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) 1)))))
(if (<=.f64 eps -146296160891671/154742504910672534362390528) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 -1/2 (*.f64 eps eps)) (-.f64 (cos.f64 eps) 1)))
(*.f64 -1/2 (*.f64 eps eps))
0
Outputs
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (/.f64 1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (pow.f64 eps 2))) (*.f64 (sin.f64 x) (neg.f64 eps))))) (fma.f64 (cos.f64 x) (cos.f64 eps) (/.f64 -1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (pow.f64 eps 2))) (*.f64 eps (sin.f64 x))))) (fma.f64 (cos.f64 x) (cos.f64 eps) (/.f64 -1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (/.f64 1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 1/24 (*.f64 eps eps)))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (/.f64 -1 (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 1/24 (*.f64 eps eps)))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 1/24 (*.f64 eps eps)))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 1/24 (*.f64 eps eps)))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps))) (cos.f64 x)))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 1/24 (*.f64 eps eps)))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (cos.f64 x)))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 1/24 (*.f64 eps eps)))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps))) (cos.f64 x)))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 1/24 (*.f64 eps eps)))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 1/24 (*.f64 eps eps)))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))
(if (<=.f64 eps -547668603987205/8192) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 1/24 (*.f64 eps eps)))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 x -2)))) (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) (sin.f64 (*.f64 eps 1/2))))
(if (<=.f64 eps -1500865868383543/288230376151711744) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))))
(if (<=.f64 eps -1500865868383543/288230376151711744) (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))))
(if (<=.f64 eps -1500865868383543/288230376151711744) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x)) (if (<=.f64 eps -3810169485903611/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 eps -7733667414838671/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 -1/2 (*.f64 eps eps)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 (sin.f64 x) (neg.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (cos.f64 x))))))
(if (<=.f64 eps -1500865868383543/288230376151711744) (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (if (<=.f64 eps -3810169485903611/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 eps -7733667414838671/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 -1/2 (*.f64 eps eps)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 (sin.f64 x) (neg.f64 eps)) (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))))))
(if (<=.f64 eps -1500865868383543/288230376151711744) (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (if (<=.f64 eps -3810169485903611/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 eps (neg.f64 (sin.f64 x))) (if (<=.f64 eps -7733667414838671/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 -1/2 (*.f64 eps eps)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 eps (neg.f64 (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1))))))
(if (<=.f64 eps -1500865868383543/288230376151711744) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps -3810169485903611/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 eps -7733667414838671/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 -1/2 (*.f64 eps eps)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) (cos.f64 x))))))
(if (<=.f64 eps -1500865868383543/288230376151711744) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps -3810169485903611/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 eps (neg.f64 (sin.f64 x))) (if (<=.f64 eps -7733667414838671/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 -1/2 (*.f64 eps eps)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 eps (neg.f64 (sin.f64 x))) (-.f64 (cos.f64 eps) (cos.f64 x))))))
(if (<=.f64 eps -1500865868383543/288230376151711744) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps -3810169485903611/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 eps -7733667414838671/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 -1/2 (*.f64 eps eps)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) 1)))))
(if (<=.f64 eps -1500865868383543/288230376151711744) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps -3810169485903611/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 eps -7733667414838671/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 -1/2 (*.f64 eps eps)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 (sin.f64 x) (neg.f64 eps)) (+.f64 (cos.f64 eps) -1)))))
(if (<=.f64 eps -1500865868383543/288230376151711744) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps -3810169485903611/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 eps (neg.f64 (sin.f64 x))) (if (<=.f64 eps -7733667414838671/219673525124179510879420825570604582952621929604585773100622830693937381868724993667921908501166545759273481964527387457187903615990932602002368905315681828864) (*.f64 -1/2 (*.f64 eps eps)) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 eps (neg.f64 (sin.f64 x))) (+.f64 (cos.f64 eps) -1)))))
(if (<=.f64 eps -146296160891671/154742504910672534362390528) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 -1/2 (*.f64 eps eps)) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -146296160891671/154742504910672534362390528) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps 5519643086684627/9903520314283042199192993792) (*.f64 -1/2 (*.f64 eps eps)) (+.f64 (cos.f64 eps) -1)))
(*.f64 -1/2 (*.f64 eps eps))
0
Compiler

Compiled 728 to 414 computations (43.1% saved)

soundness0.0ms (0%)

end364.0ms (1.3%)

Compiler

Compiled 698 to 285 computations (59.2% saved)

Profiling

Loading profile data...