Details

Time bar (total: 22.1s)

analyze0.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.8s (26.2%)

Results
2.9s4015×body1024valid
2.2s2097×body2048valid
523.0ms1359×body512valid
126.0ms780×body256valid
8.0msbody4096valid
Bogosity

preprocess61.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01122
11722
22522
33822
45322
58122
614122
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)

simplify16.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

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

eval0.0ms (0%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 9 to 6 computations (33.3% saved)

localize10.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 6 computations (70% saved)

series6.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite112.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify72.0ms (0.3%)

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

Useful iterations: 3 (0.0ms)

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

eval116.0ms (0.5%)

Compiler

Compiled 3964 to 1199 computations (69.8% saved)

prune170.0ms (0.8%)

Pruning

42 alts after pruning (42 fresh and 0 done)

PrunedKeptTotal
New17742219
Fresh000
Picked101
Done000
Total17842220
Error
0.2b
Counts
220 → 42
Alt Table
Click to see full alt table
StatusErrorProgram
57.6b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
28.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
40.7b
(/.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))))
40.6b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) 1) (cos.f64 x))
30.2b
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
28.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)))))
40.5b
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
28.1b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
36.2b
(*.f64 (sin.f64 x) (neg.f64 eps))
28.5b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
58.1b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
48.7b
(fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))
12.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
58.1b
(-.f64 (cos.f64 x) (cos.f64 x))
28.1b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
40.6b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
13.8b
(*.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))))
28.1b
(fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
47.5b
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
40.7b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
28.8b
(-.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))
40.6b
(*.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)))))
48.5b
(-.f64 (exp.f64 (log.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
41.4b
(-.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)
40.6b
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
40.9b
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
40.7b
(log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))
40.9b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
41.2b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
35.4b
(-.f64 (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))) (cos.f64 x))
40.7b
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3)) (cos.f64 x))
30.3b
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))))
40.2b
(-.f64 (cos.f64 eps) (cos.f64 x))
40.7b
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
30.3b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
28.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)))))
45.9b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
28.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
28.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))) (cos.f64 x))
30.2b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
40.6b
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
40.3b
(-.f64 (cos.f64 eps) 1)
Compiler

Compiled 1348 to 892 computations (33.8% saved)

localize44.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 88 to 34 computations (61.4% saved)

series25.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

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

rewrite119.0ms (0.5%)

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

Useful iterations: 1 (0.0ms)

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

simplify118.0ms (0.5%)

Algorithm
egg-herbie
Rules
642×fma-neg_binary64
585×fma-def_binary64
505×neg-sub0_binary64
460×neg-mul-1_binary64
360×unswap-sqr_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0911091
12591079
2714952
32756930
45957927
Stop Event
node limit
Counts
332 → 282
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)))
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
x
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
x
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
x
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
eps
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(*.f64 2 x)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(*.f64 2 x)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(*.f64 2 x)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
eps
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
eps
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
Outputs
(sin.f64 (*.f64 1/2 eps))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (*.f64 (*.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))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (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 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 x)
(+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 eps eps)) 1) (sin.f64 x)))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (+.f64 1 (*.f64 eps (*.f64 eps -1/8))) (sin.f64 x)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps)))))
(fma.f64 (sin.f64 x) (*.f64 -1/8 (*.f64 eps eps)) (fma.f64 (cos.f64 x) (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/2 eps)) (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)))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/8)) (fma.f64 (cos.f64 x) (fma.f64 1/2 eps (*.f64 -1/48 (pow.f64 eps 3))) (sin.f64 x)))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(*.f64 1/2 (*.f64 eps (sin.f64 x)))
(*.f64 (*.f64 1/2 eps) (sin.f64 x))
(*.f64 eps (*.f64 1/2 (sin.f64 x)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(fma.f64 1/2 (*.f64 eps (sin.f64 x)) (*.f64 (cos.f64 x) (*.f64 (*.f64 1/4 eps) eps)))
(fma.f64 1/2 (*.f64 eps (sin.f64 x)) (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps 1/4))))
(*.f64 eps (+.f64 (*.f64 1/4 (*.f64 eps (cos.f64 x))) (*.f64 1/2 (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)))))
(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 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12))))
(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 (*.f64 eps eps) -1/12)))))
(fma.f64 (cos.f64 x) (*.f64 eps (*.f64 eps 1/4)) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/12 (*.f64 1/2 eps))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (fma.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/4 (*.f64 eps (*.f64 eps (cos.f64 x))) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (fma.f64 (*.f64 1/2 eps) (sin.f64 x) (*.f64 -1/48 (*.f64 (cos.f64 x) (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 (*.f64 eps eps) -1/12)))) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps 1/4)) (*.f64 -1/48 (pow.f64 eps 4)))))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/12 (*.f64 1/2 eps))) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps 1/4)) (*.f64 -1/48 (pow.f64 eps 4)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)))))
(+.f64 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 -1/2 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (*.f64 x x) -1/2)))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))))))
(+.f64 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (fma.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))) (fma.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (*.f64 x x) -1/2))))
(+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x (*.f64 x -1/2))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 (pow.f64 x 3) (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/6) (sin.f64 (*.f64 1/2 eps))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(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)

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 10 to 6 computations (40% saved)

series2.0ms (0%)

Counts
1 → 4
Calls

3 calls:

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

rewrite57.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

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

simplify105.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

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

Compiled 37 to 8 computations (78.4% saved)

series6.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite93.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)))))))))

simplify92.0ms (0.4%)

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

Useful iterations: 3 (0.0ms)

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

localize40.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(log1p.f64 (cos.f64 (+.f64 x eps)))
0.5b
(-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) 1)
1.0b
(cos.f64 (+.f64 x eps))
13.4b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) 1) (cos.f64 x))
Compiler

Compiled 44 to 13 computations (70.5% saved)

series229.0ms (1%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
113.0ms
eps
@-inf
(-.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) 1) (cos.f64 x))
45.0ms
x
@-inf
(-.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) 1) (cos.f64 x))
27.0ms
x
@inf
(-.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) 1) (cos.f64 x))
25.0ms
eps
@inf
(-.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) 1) (cos.f64 x))
7.0ms
eps
@0
(-.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) 1) (cos.f64 x))

rewrite128.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
518×log-prod_binary64
487×fma-def_binary64
342×pow-prod-down_binary64
333×fma-neg_binary64
308×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify106.0ms (0.5%)

Algorithm
egg-herbie
Rules
779×distribute-rgt-in_binary64
773×distribute-lft-in_binary64
574×times-frac_binary64
475×associate-/l*_binary64
314×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01912665
16462394
226812103
Stop Event
node limit
Counts
321 → 305
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 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))))) (+.f64 (cos.f64 eps) 1))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 eps) (sin.f64 eps)) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (+.f64 (/.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) 1)) (*.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3)))))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))) (sin.f64 eps)) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3))))) (*.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))))) (+.f64 (cos.f64 eps) 1))) (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 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))))) (+.f64 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))))) (+.f64 (cos.f64 x) 1))) (*.f64 1/6 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (/.f64 (sin.f64 x) (+.f64 (cos.f64 x) 1))))))))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (/.f64 (sin.f64 x) (+.f64 (cos.f64 x) 1)))) (sin.f64 x)) (+.f64 (cos.f64 x) 1))) (+.f64 (*.f64 1/24 (+.f64 (*.f64 4 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1)) (+.f64 (*.f64 -3 (/.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (*.f64 -6 (/.f64 (pow.f64 (sin.f64 x) 4) (pow.f64 (+.f64 (cos.f64 x) 1) 4))) (*.f64 -12 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (pow.f64 (+.f64 (cos.f64 x) 1) 3)))))))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (sin.f64 x) 4) (pow.f64 (+.f64 (cos.f64 x) 1) 4))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))))) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))) 2)))))))) (+.f64 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))))) (+.f64 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))))) (+.f64 (cos.f64 x) 1))) (*.f64 1/6 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (/.f64 (sin.f64 x) (+.f64 (cos.f64 x) 1))))))))) (*.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))
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))))) (*.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 eps) (sin.f64 eps)) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (+.f64 (/.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) 1)) (*.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3)))))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))) (sin.f64 eps)) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3))))) (*.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))))) (*.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 2))))))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.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 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))))) (+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))))) (+.f64 (cos.f64 x) 1))) (*.f64 1/6 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (/.f64 (sin.f64 x) (+.f64 (cos.f64 x) 1))))))))))))
(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)))
(log.f64 (+.f64 (cos.f64 eps) 1))
(+.f64 (log.f64 (+.f64 (cos.f64 eps) 1)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 eps) x) (+.f64 (cos.f64 eps) 1))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))) (pow.f64 x 2))) (+.f64 (log.f64 (+.f64 (cos.f64 eps) 1)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 eps) x) (+.f64 (cos.f64 eps) 1)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))) (pow.f64 x 2))) (+.f64 (log.f64 (+.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 eps) x) (+.f64 (cos.f64 eps) 1))) (*.f64 1/6 (*.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 eps) (sin.f64 eps)) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (+.f64 (/.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) 1)) (*.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3))))) (pow.f64 x 3))))))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))))
(log.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))))
(log.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))))
(log.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))))
(log.f64 (+.f64 (cos.f64 x) 1))
(+.f64 (log.f64 (+.f64 (cos.f64 x) 1)) (*.f64 -1 (/.f64 (*.f64 eps (sin.f64 x)) (+.f64 (cos.f64 x) 1))))
(+.f64 (log.f64 (+.f64 (cos.f64 x) 1)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))) (*.f64 -1 (/.f64 (*.f64 eps (sin.f64 x)) (+.f64 (cos.f64 x) 1)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (/.f64 (sin.f64 x) (+.f64 (cos.f64 x) 1)))))) (+.f64 (log.f64 (+.f64 (cos.f64 x) 1)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))) (*.f64 -1 (/.f64 (*.f64 eps (sin.f64 x)) (+.f64 (cos.f64 x) 1))))))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))))
(log.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))))
(log.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))))
(log.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))))
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (neg.f64 (*.f64 x (sin.f64 eps))) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 x (neg.f64 (sin.f64 eps)) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))))) (+.f64 (cos.f64 eps) 1))) (pow.f64 x 2)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (+.f64 (cos.f64 eps) 1) (*.f64 1/2 (+.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)) (*.f64 -1 (+.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))))))) (*.f64 x x))) 1))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 x (*.f64 x (fma.f64 (+.f64 (cos.f64 eps) 1) (fma.f64 1/2 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))))) 1/2))) (fma.f64 (neg.f64 x) (sin.f64 eps) -1)))
(+.f64 (*.f64 x (-.f64 (*.f64 (fma.f64 (+.f64 (cos.f64 eps) 1) (+.f64 (*.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) -1/2) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) 0)) 1/2) x) (sin.f64 eps))) (+.f64 (cos.f64 eps) -1))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 eps) (sin.f64 eps)) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (+.f64 (/.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) 1)) (*.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3)))))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))) (sin.f64 eps)) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3))))) (*.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))))) (+.f64 (cos.f64 eps) 1))) (pow.f64 x 2))))) 1)
(+.f64 (fma.f64 (fma.f64 1/6 (fma.f64 -3 (/.f64 (*.f64 (cos.f64 eps) (sin.f64 eps)) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)) (+.f64 (/.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) 1)) (*.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3))))) (fma.f64 -1/2 (/.f64 (*.f64 -1 (+.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps))) (/.f64 (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)) (pow.f64 (+.f64 (cos.f64 eps) 1) 3)))) (*.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3)) (+.f64 (cos.f64 eps) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (+.f64 (cos.f64 eps) 1) (*.f64 1/2 (+.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)) (*.f64 -1 (+.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))))))) (*.f64 x x))))) -1)
(+.f64 -1 (+.f64 (-.f64 (*.f64 x (*.f64 x (fma.f64 (+.f64 (cos.f64 eps) 1) (fma.f64 1/2 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))))) 1/2))) (*.f64 x (sin.f64 eps))) (fma.f64 (fma.f64 1/6 (fma.f64 -3 (*.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (tan.f64 (/.f64 eps 2))) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3)) (tan.f64 (/.f64 eps 2)))) (fma.f64 -1/2 (*.f64 (/.f64 (-.f64 (/.f64 (neg.f64 (cos.f64 eps)) (+.f64 (cos.f64 eps) 1)) (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2)))) (+.f64 (cos.f64 eps) 1)) (sin.f64 eps)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3)) -1/6))) (*.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3)) (cos.f64 eps))))
(+.f64 -1 (+.f64 (*.f64 x (-.f64 (*.f64 (fma.f64 (+.f64 (cos.f64 eps) 1) (+.f64 (*.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) -1/2) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) 0)) 1/2) x) (sin.f64 eps))) (fma.f64 (fma.f64 1/6 (fma.f64 -3 (*.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (tan.f64 (/.f64 eps 2))) (fma.f64 -2 (pow.f64 (tan.f64 (/.f64 eps 2)) 3) (tan.f64 (/.f64 eps 2)))) (fma.f64 -1/2 (*.f64 (tan.f64 (/.f64 eps 2)) (-.f64 (/.f64 (neg.f64 (cos.f64 eps)) (+.f64 (cos.f64 eps) 1)) (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))))) (*.f64 (pow.f64 (tan.f64 (/.f64 eps 2)) 3) -1/6))) (*.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3)) (cos.f64 eps))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 eps (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 (+.f64 1 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 1/2 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (fma.f64 -1 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (neg.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2))))))) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (+.f64 1 (cos.f64 x)) (*.f64 eps (*.f64 eps (fma.f64 1/2 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))))))))) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x)))) (*.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) 0)) (*.f64 (+.f64 1 (cos.f64 x)) (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))))) (+.f64 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))))) (+.f64 (cos.f64 x) 1))) (*.f64 1/6 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (/.f64 (sin.f64 x) (+.f64 (cos.f64 x) 1))))))))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 (+.f64 1 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 1/2 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (fma.f64 -1 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (neg.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2))))))) (fma.f64 (+.f64 1 (cos.f64 x)) (*.f64 (pow.f64 eps 3) (fma.f64 -1/6 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (fma.f64 -1/2 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 x)) (fma.f64 -1 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (neg.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)))))) (*.f64 1/6 (fma.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 x))))))))) (*.f64 (neg.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (+.f64 1 (cos.f64 x)) (+.f64 (*.f64 eps (*.f64 eps (fma.f64 1/2 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x)))))))) (*.f64 (pow.f64 eps 3) (fma.f64 -1/6 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (fma.f64 -1/2 (*.f64 (tan.f64 (/.f64 x 2)) (-.f64 (/.f64 (neg.f64 (cos.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))))) (*.f64 1/6 (fma.f64 -3 (*.f64 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (tan.f64 (/.f64 x 2))) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (tan.f64 (/.f64 x 2)))))))))) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (+.f64 1 (cos.f64 x)) (*.f64 (*.f64 eps eps) (+.f64 (+.f64 (*.f64 -1/2 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x)))) (*.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) 0)) (*.f64 (fma.f64 -1/6 (pow.f64 (tan.f64 (/.f64 x 2)) 3) (fma.f64 1/6 (fma.f64 -3 (*.f64 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (tan.f64 (/.f64 x 2))) (fma.f64 -2 (pow.f64 (tan.f64 (/.f64 x 2)) 3) (tan.f64 (/.f64 x 2)))) (*.f64 -1/2 (-.f64 (/.f64 (/.f64 (neg.f64 (cos.f64 x)) (+.f64 1 (cos.f64 x))) (/.f64 (+.f64 1 (cos.f64 x)) (sin.f64 x))) (pow.f64 (tan.f64 (/.f64 x 2)) 3))))) eps)))) (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (/.f64 (sin.f64 x) (+.f64 (cos.f64 x) 1)))) (sin.f64 x)) (+.f64 (cos.f64 x) 1))) (+.f64 (*.f64 1/24 (+.f64 (*.f64 4 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1)) (+.f64 (*.f64 -3 (/.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (*.f64 -6 (/.f64 (pow.f64 (sin.f64 x) 4) (pow.f64 (+.f64 (cos.f64 x) 1) 4))) (*.f64 -12 (/.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (pow.f64 (+.f64 (cos.f64 x) 1) 3)))))))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (sin.f64 x) 4) (pow.f64 (+.f64 (cos.f64 x) 1) 4))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))))) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))) 2)))))))) (+.f64 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))))) (+.f64 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))))) (+.f64 (cos.f64 x) 1))) (*.f64 1/6 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (/.f64 (sin.f64 x) (+.f64 (cos.f64 x) 1))))))))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 (+.f64 1 (cos.f64 x)) (*.f64 (pow.f64 eps 4) (fma.f64 -1/6 (/.f64 (fma.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 x))))) (/.f64 (+.f64 1 (cos.f64 x)) (sin.f64 x))) (fma.f64 1/24 (fma.f64 4 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (+.f64 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (fma.f64 -3 (/.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (fma.f64 -6 (/.f64 (pow.f64 (sin.f64 x) 4) (pow.f64 (+.f64 1 (cos.f64 x)) 4)) (/.f64 (*.f64 -12 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (pow.f64 (+.f64 1 (cos.f64 x)) 3)))))) (fma.f64 1/24 (/.f64 (pow.f64 (sin.f64 x) 4) (pow.f64 (+.f64 1 (cos.f64 x)) 4)) (fma.f64 1/4 (/.f64 (pow.f64 (sin.f64 x) 2) (/.f64 (pow.f64 (+.f64 1 (cos.f64 x)) 2) (fma.f64 -1 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (neg.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)))))) (*.f64 1/8 (pow.f64 (fma.f64 -1 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (neg.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)))) 2))))))) (fma.f64 (+.f64 1 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 1/2 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (fma.f64 -1 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (neg.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2))))))) (fma.f64 (+.f64 1 (cos.f64 x)) (*.f64 (pow.f64 eps 3) (fma.f64 -1/6 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (fma.f64 -1/2 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 x)) (fma.f64 -1 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (neg.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)))))) (*.f64 1/6 (fma.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 x))))))))) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 (+.f64 1 (cos.f64 x)) (*.f64 (pow.f64 eps 4) (fma.f64 -1/6 (*.f64 (/.f64 (fma.f64 -3 (*.f64 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (tan.f64 (/.f64 x 2))) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (tan.f64 (/.f64 x 2)))) (+.f64 1 (cos.f64 x))) (sin.f64 x)) (fma.f64 1/24 (+.f64 (fma.f64 -3 (/.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (fma.f64 -6 (/.f64 (pow.f64 (sin.f64 x) 4) (pow.f64 (+.f64 1 (cos.f64 x)) 4)) (/.f64 -12 (/.f64 (pow.f64 (+.f64 1 (cos.f64 x)) 3) (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)))))) (fma.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) 4 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))))) (fma.f64 1/24 (/.f64 (pow.f64 (sin.f64 x) 4) (pow.f64 (+.f64 1 (cos.f64 x)) 4)) (fma.f64 1/4 (*.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (-.f64 (/.f64 (neg.f64 (cos.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))))) (*.f64 1/8 (pow.f64 (-.f64 (/.f64 (neg.f64 (cos.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2)))) 2))))))) (-.f64 (*.f64 (+.f64 1 (cos.f64 x)) (+.f64 (*.f64 eps (*.f64 eps (fma.f64 1/2 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x)))))))) (*.f64 (pow.f64 eps 3) (fma.f64 -1/6 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (fma.f64 -1/2 (*.f64 (tan.f64 (/.f64 x 2)) (-.f64 (/.f64 (neg.f64 (cos.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))))) (*.f64 1/6 (fma.f64 -3 (*.f64 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (tan.f64 (/.f64 x 2))) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (tan.f64 (/.f64 x 2)))))))))) (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 (+.f64 1 (cos.f64 x)) (+.f64 (*.f64 (pow.f64 eps 4) (fma.f64 -1/6 (*.f64 (tan.f64 (/.f64 x 2)) (fma.f64 -3 (*.f64 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (tan.f64 (/.f64 x 2))) (fma.f64 -2 (pow.f64 (tan.f64 (/.f64 x 2)) 3) (tan.f64 (/.f64 x 2))))) (fma.f64 1/24 (+.f64 (fma.f64 -3 (/.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (fma.f64 -12 (*.f64 (/.f64 (cos.f64 x) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (pow.f64 (sin.f64 x) 2)) (/.f64 -6 (/.f64 (pow.f64 (+.f64 1 (cos.f64 x)) 4) (pow.f64 (sin.f64 x) 4))))) (fma.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) 4 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))))) (fma.f64 1/24 (*.f64 (pow.f64 (tan.f64 (/.f64 x 2)) 3) (tan.f64 (/.f64 x 2))) (fma.f64 1/4 (*.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (-.f64 (/.f64 (neg.f64 (cos.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))))) (*.f64 1/8 (pow.f64 (-.f64 (/.f64 (neg.f64 (cos.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2)))) 2))))))) (*.f64 (*.f64 eps eps) (+.f64 (+.f64 (*.f64 -1/2 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x)))) (*.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) 0)) (*.f64 (fma.f64 -1/6 (pow.f64 (tan.f64 (/.f64 x 2)) 3) (fma.f64 1/6 (fma.f64 -3 (*.f64 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (tan.f64 (/.f64 x 2))) (fma.f64 -2 (pow.f64 (tan.f64 (/.f64 x 2)) 3) (tan.f64 (/.f64 x 2)))) (*.f64 -1/2 (-.f64 (/.f64 (/.f64 (neg.f64 (cos.f64 x)) (+.f64 1 (cos.f64 x))) (/.f64 (+.f64 1 (cos.f64 x)) (sin.f64 x))) (pow.f64 (tan.f64 (/.f64 x 2)) 3))))) eps))))) (*.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 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))
(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 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))))) (*.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 2)))))
(+.f64 (cos.f64 eps) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (*.f64 1/2 (+.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)) (*.f64 -1 (+.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))))) (*.f64 (+.f64 (cos.f64 eps) 1) (*.f64 x x)))))
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (fma.f64 1/2 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))))) (*.f64 x (*.f64 x (+.f64 (cos.f64 eps) 1)))) (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 x (-.f64 (*.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 0 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2)))) (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (+.f64 (cos.f64 eps) 1))) x) (sin.f64 eps))))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 eps) (sin.f64 eps)) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (+.f64 (/.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) 1)) (*.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3)))))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))) (sin.f64 eps)) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3))))) (*.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))))) (*.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 2))))))
(fma.f64 (fma.f64 1/6 (fma.f64 -3 (/.f64 (*.f64 (cos.f64 eps) (sin.f64 eps)) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)) (+.f64 (/.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) 1)) (*.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3))))) (fma.f64 -1/2 (/.f64 (*.f64 -1 (+.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps))) (/.f64 (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)) (pow.f64 (+.f64 (cos.f64 eps) 1) 3)))) (*.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3)) (+.f64 (cos.f64 eps) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (*.f64 1/2 (+.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)) (*.f64 -1 (+.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))))) (*.f64 (+.f64 (cos.f64 eps) 1) (*.f64 x x))))))
(+.f64 (-.f64 (*.f64 (fma.f64 1/2 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))))) (*.f64 x (*.f64 x (+.f64 (cos.f64 eps) 1)))) (*.f64 x (sin.f64 eps))) (fma.f64 (fma.f64 1/6 (fma.f64 -3 (*.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (tan.f64 (/.f64 eps 2))) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3)) (tan.f64 (/.f64 eps 2)))) (fma.f64 -1/2 (*.f64 (/.f64 (-.f64 (/.f64 (neg.f64 (cos.f64 eps)) (+.f64 (cos.f64 eps) 1)) (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2)))) (+.f64 (cos.f64 eps) 1)) (sin.f64 eps)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3)) -1/6))) (*.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3)) (cos.f64 eps)))
(+.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 (cos.f64 eps) 1) (+.f64 (*.f64 (+.f64 (*.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) -1/2) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) 0)) (*.f64 x x)) (*.f64 (fma.f64 1/6 (fma.f64 -3 (*.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (tan.f64 (/.f64 eps 2))) (fma.f64 -2 (pow.f64 (tan.f64 (/.f64 eps 2)) 3) (tan.f64 (/.f64 eps 2)))) (fma.f64 -1/2 (*.f64 (tan.f64 (/.f64 eps 2)) (-.f64 (/.f64 (neg.f64 (cos.f64 eps)) (+.f64 (cos.f64 eps) 1)) (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))))) (*.f64 (pow.f64 (tan.f64 (/.f64 eps 2)) 3) -1/6))) (pow.f64 x 3)))))
(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 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))))) (+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 (+.f64 1 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 1/2 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (fma.f64 -1 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (neg.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2))))))) (+.f64 (cos.f64 x) (*.f64 (neg.f64 eps) (sin.f64 x))))
(fma.f64 (*.f64 (+.f64 1 (cos.f64 x)) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x)))))) (-.f64 (cos.f64 x) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 (*.f64 (+.f64 1 (cos.f64 x)) (*.f64 eps eps)) (+.f64 (*.f64 -1/2 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x)))) (*.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) 0)) (cos.f64 x)) (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (*.f64 1/2 (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (+.f64 (cos.f64 x) 1) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2))))) (+.f64 (cos.f64 x) 1))) (*.f64 1/6 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (/.f64 (sin.f64 x) (+.f64 (cos.f64 x) 1))))))))))))
(fma.f64 (+.f64 1 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 1/2 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (fma.f64 -1 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (neg.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2))))))) (+.f64 (cos.f64 x) (fma.f64 (+.f64 1 (cos.f64 x)) (*.f64 (pow.f64 eps 3) (fma.f64 -1/6 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (fma.f64 -1/2 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 x)) (fma.f64 -1 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (neg.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2)))))) (*.f64 1/6 (fma.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 x))))))))) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(+.f64 (cos.f64 x) (-.f64 (*.f64 (+.f64 1 (cos.f64 x)) (+.f64 (*.f64 eps (*.f64 eps (fma.f64 1/2 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x)))))))) (*.f64 (pow.f64 eps 3) (fma.f64 -1/6 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (fma.f64 -1/2 (*.f64 (tan.f64 (/.f64 x 2)) (-.f64 (/.f64 (neg.f64 (cos.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))))) (*.f64 1/6 (fma.f64 -3 (*.f64 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (tan.f64 (/.f64 x 2))) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (tan.f64 (/.f64 x 2)))))))))) (*.f64 eps (sin.f64 x))))
(+.f64 (cos.f64 x) (-.f64 (*.f64 (+.f64 1 (cos.f64 x)) (*.f64 (*.f64 eps eps) (+.f64 (+.f64 (*.f64 -1/2 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x)))) (*.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) 0)) (*.f64 (fma.f64 -1/6 (pow.f64 (tan.f64 (/.f64 x 2)) 3) (fma.f64 1/6 (fma.f64 -3 (*.f64 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (tan.f64 (/.f64 x 2))) (fma.f64 -2 (pow.f64 (tan.f64 (/.f64 x 2)) 3) (tan.f64 (/.f64 x 2)))) (*.f64 -1/2 (-.f64 (/.f64 (/.f64 (neg.f64 (cos.f64 x)) (+.f64 1 (cos.f64 x))) (/.f64 (+.f64 1 (cos.f64 x)) (sin.f64 x))) (pow.f64 (tan.f64 (/.f64 x 2)) 3))))) eps)))) (*.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 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))
(log.f64 (+.f64 (cos.f64 eps) 1))
(log1p.f64 (cos.f64 eps))
(+.f64 (log.f64 (+.f64 (cos.f64 eps) 1)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 eps) x) (+.f64 (cos.f64 eps) 1))))
(+.f64 (log.f64 (+.f64 (cos.f64 eps) 1)) (/.f64 (neg.f64 (*.f64 x (sin.f64 eps))) (+.f64 (cos.f64 eps) 1)))
(-.f64 (log1p.f64 (cos.f64 eps)) (*.f64 (tan.f64 (/.f64 eps 2)) x))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))) (pow.f64 x 2))) (+.f64 (log.f64 (+.f64 (cos.f64 eps) 1)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 eps) x) (+.f64 (cos.f64 eps) 1)))))
(fma.f64 1/2 (*.f64 (*.f64 -1 (+.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))) (*.f64 x x)) (+.f64 (log.f64 (+.f64 (cos.f64 eps) 1)) (/.f64 (neg.f64 (*.f64 x (sin.f64 eps))) (+.f64 (cos.f64 eps) 1))))
(-.f64 (fma.f64 (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)))) (*.f64 x x) (log1p.f64 (cos.f64 eps))) (*.f64 (tan.f64 (/.f64 eps 2)) x))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))) (pow.f64 x 2))) (+.f64 (log.f64 (+.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 eps) x) (+.f64 (cos.f64 eps) 1))) (*.f64 1/6 (*.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 eps) (sin.f64 eps)) (pow.f64 (+.f64 (cos.f64 eps) 1) 2))) (+.f64 (/.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) 1)) (*.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3))))) (pow.f64 x 3))))))
(fma.f64 1/2 (*.f64 (*.f64 -1 (+.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))) (*.f64 x x)) (+.f64 (log.f64 (+.f64 (cos.f64 eps) 1)) (fma.f64 -1 (/.f64 (*.f64 x (sin.f64 eps)) (+.f64 (cos.f64 eps) 1)) (*.f64 1/6 (*.f64 (fma.f64 -3 (/.f64 (*.f64 (cos.f64 eps) (sin.f64 eps)) (pow.f64 (+.f64 (cos.f64 eps) 1) 2)) (+.f64 (/.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) 1)) (*.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3))))) (pow.f64 x 3))))))
(+.f64 (-.f64 (fma.f64 (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)))) (*.f64 x x) (log1p.f64 (cos.f64 eps))) (*.f64 (tan.f64 (/.f64 eps 2)) x)) (*.f64 1/6 (*.f64 (fma.f64 -3 (*.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (tan.f64 (/.f64 eps 2))) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3)) (tan.f64 (/.f64 eps 2)))) (pow.f64 x 3))))
(+.f64 (-.f64 (log1p.f64 (cos.f64 eps)) (*.f64 (tan.f64 (/.f64 eps 2)) x)) (*.f64 (*.f64 x x) (+.f64 (*.f64 (*.f64 1/6 (fma.f64 -3 (*.f64 (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)) (tan.f64 (/.f64 eps 2))) (fma.f64 -2 (pow.f64 (tan.f64 (/.f64 eps 2)) 3) (tan.f64 (/.f64 eps 2))))) x) (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (tan.f64 (/.f64 eps 2))) (/.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) 1)))))))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 (cos.f64 x) 1))
(log.f64 (+.f64 1 (cos.f64 x)))
(log1p.f64 (cos.f64 x))
(+.f64 (log.f64 (+.f64 (cos.f64 x) 1)) (*.f64 -1 (/.f64 (*.f64 eps (sin.f64 x)) (+.f64 (cos.f64 x) 1))))
(+.f64 (log.f64 (+.f64 1 (cos.f64 x))) (/.f64 (*.f64 (neg.f64 eps) (sin.f64 x)) (+.f64 1 (cos.f64 x))))
(-.f64 (log1p.f64 (cos.f64 x)) (*.f64 (/.f64 eps (+.f64 1 (cos.f64 x))) (sin.f64 x)))
(-.f64 (log1p.f64 (cos.f64 x)) (*.f64 (tan.f64 (/.f64 x 2)) eps))
(+.f64 (log.f64 (+.f64 (cos.f64 x) 1)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))) (*.f64 -1 (/.f64 (*.f64 eps (sin.f64 x)) (+.f64 (cos.f64 x) 1)))))
(+.f64 (log.f64 (+.f64 1 (cos.f64 x))) (fma.f64 1/2 (*.f64 (*.f64 eps eps) (fma.f64 -1 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (neg.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2))))) (/.f64 (*.f64 (neg.f64 eps) (sin.f64 x)) (+.f64 1 (cos.f64 x)))))
(+.f64 (log1p.f64 (cos.f64 x)) (-.f64 (*.f64 eps (*.f64 eps (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))))))) (*.f64 (/.f64 eps (+.f64 1 (cos.f64 x))) (sin.f64 x))))
(+.f64 (log1p.f64 (cos.f64 x)) (fma.f64 eps (*.f64 eps (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x)))))) (neg.f64 (*.f64 (tan.f64 (/.f64 x 2)) eps))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 (cos.f64 x) 1) 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 x) 1) 3))) (/.f64 (sin.f64 x) (+.f64 (cos.f64 x) 1)))))) (+.f64 (log.f64 (+.f64 (cos.f64 x) 1)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (/.f64 (cos.f64 x) (+.f64 (cos.f64 x) 1))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 (cos.f64 x) 1) 2)))))) (*.f64 -1 (/.f64 (*.f64 eps (sin.f64 x)) (+.f64 (cos.f64 x) 1))))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (fma.f64 -3 (/.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (pow.f64 (+.f64 1 (cos.f64 x)) 2)) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 x)))))) (+.f64 (log.f64 (+.f64 1 (cos.f64 x))) (fma.f64 1/2 (*.f64 (*.f64 eps eps) (fma.f64 -1 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (neg.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (cos.f64 x)) 2))))) (/.f64 (*.f64 (neg.f64 eps) (sin.f64 x)) (+.f64 1 (cos.f64 x))))))
(+.f64 (-.f64 (*.f64 eps (*.f64 eps (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))))))) (*.f64 (/.f64 eps (+.f64 1 (cos.f64 x))) (sin.f64 x))) (fma.f64 (*.f64 1/6 (pow.f64 eps 3)) (fma.f64 -3 (*.f64 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (tan.f64 (/.f64 x 2))) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (cos.f64 x)) 3)) (tan.f64 (/.f64 x 2)))) (log1p.f64 (cos.f64 x))))
(+.f64 (fma.f64 eps (*.f64 eps (*.f64 -1/2 (+.f64 (*.f64 (tan.f64 (/.f64 x 2)) (tan.f64 (/.f64 x 2))) (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x)))))) (neg.f64 (*.f64 (tan.f64 (/.f64 x 2)) eps))) (fma.f64 (*.f64 1/6 (pow.f64 eps 3)) (fma.f64 -3 (*.f64 (/.f64 (cos.f64 x) (+.f64 1 (cos.f64 x))) (tan.f64 (/.f64 x 2))) (fma.f64 -2 (pow.f64 (tan.f64 (/.f64 x 2)) 3) (tan.f64 (/.f64 x 2)))) (log1p.f64 (cos.f64 x))))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (+.f64 eps x))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))))
(log1p.f64 (cos.f64 (+.f64 eps x)))
(log.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))))
(log1p.f64 (cos.f64 (+.f64 eps x)))

localize51.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series18.0ms (0.1%)

Counts
3 → 56
Calls

18 calls:

TimeVariablePointExpression
3.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)))))
2.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))

rewrite111.0ms (0.5%)

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
01248
125938
2371338
Stop Event
node limit
Counts
3 → 183
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)))
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)))))))

simplify87.0ms (0.4%)

Algorithm
egg-herbie
Rules
570×fma-def_binary64
452×*-commutative_binary64
448×associate-+l+_binary64
438×distribute-rgt-neg-in_binary64
386×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0931094
1274993
2781928
32710916
45965916
Stop Event
node limit
Counts
239 → 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 (*.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)))
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 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x)) (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 (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 eps) (-.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) -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 (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))) (*.f64 eps (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.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 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2)) (neg.f64 (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))))
(fma.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (sin.f64 x) (neg.f64 (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)) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.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 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 (sin.f64 eps) x))
(fma.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 x (sin.f64 eps)))
(*.f64 (sin.f64 eps) (+.f64 x (*.f64 (pow.f64 x 3) -1/6)))
(*.f64 (sin.f64 eps) (fma.f64 (pow.f64 x 3) -1/6 x))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 x 5) (sin.f64 eps))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (*.f64 (sin.f64 eps) x)))
(fma.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)) (fma.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 x (sin.f64 eps))))
(fma.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)) (*.f64 (sin.f64 eps) (+.f64 x (*.f64 (pow.f64 x 3) -1/6))))
(*.f64 (sin.f64 eps) (+.f64 (fma.f64 (pow.f64 x 3) -1/6 x) (*.f64 1/120 (pow.f64 x 5))))
(*.f64 (sin.f64 eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (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 (*.f64 -1/5040 (*.f64 (pow.f64 x 7) (sin.f64 eps))) (*.f64 (sin.f64 eps) x))))
(fma.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)) (fma.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1/5040 (*.f64 (sin.f64 eps) (pow.f64 x 7)) (*.f64 x (sin.f64 eps)))))
(+.f64 (*.f64 (sin.f64 eps) (+.f64 x (*.f64 -1/5040 (pow.f64 x 7)))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 (pow.f64 x 3) -1/6))))
(*.f64 (sin.f64 eps) (+.f64 (fma.f64 -1/5040 (pow.f64 x 7) x) (fma.f64 1/120 (pow.f64 x 5) (*.f64 (pow.f64 x 3) -1/6))))
(*.f64 eps (sin.f64 x))
(+.f64 (*.f64 eps (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))))
(fma.f64 eps (sin.f64 x) (*.f64 (*.f64 (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 (*.f64 1/120 (pow.f64 eps 5)) (fma.f64 (pow.f64 eps 3) -1/6 eps)))
(+.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)))
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 x (*.f64 x -1/2))))
(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 x (*.f64 x -1/2))) (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 (*.f64 1/120 (pow.f64 eps 5)) (fma.f64 (pow.f64 eps 3) -1/6 eps))))
(+.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))

eval644.0ms (2.9%)

Compiler

Compiled 29674 to 12473 computations (58% saved)

prune446.0ms (2%)

Pruning

77 alts after pruning (76 fresh and 1 done)

PrunedKeptTotal
New1307711378
Fresh32537
Picked101
Done314
Total1343771420
Error
0.1b
Counts
1420 → 77
Alt Table
Click to see full alt table
StatusErrorProgram
41.2b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
40.3b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
30.2b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
40.5b
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
28.2b
(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)))))
28.1b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
45.4b
(*.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)
40.4b
(-.f64 (-.f64 (exp.f64 (log.f64 (+.f64 (cos.f64 eps) 1))) 1) (cos.f64 x))
30.2b
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
29.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))) -2)
49.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (expm1.f64 (log1p.f64 (*.f64 1/2 eps))))) -2)
40.2b
(-.f64 (cos.f64 eps) (cos.f64 x))
36.2b
(*.f64 (sin.f64 x) (neg.f64 eps))
58.1b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
35.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
39.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
34.4b
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
45.4b
(*.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)
45.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
51.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (sqrt.f64 (*.f64 eps eps)) 1/2))) -2)
28.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))
28.3b
(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)))))
45.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (/.f64 (*.f64 (*.f64 eps eps) 1/2) eps))) -2)
28.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
58.0b
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
13.8b
(*.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))))
58.1b
(log.f64 1)
52.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (/.f64 (*.f64 (pow.f64 eps 3) 1/2) (*.f64 eps eps)))) -2)
37.3b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
28.2b
(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))))))
28.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.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))))))
45.7b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (neg.f64 (cos.f64 x)))))
50.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 eps)) 2))) -2)
40.5b
(*.f64 (log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
34.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 3)) -2)
40.3b
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
47.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) 1/3)) -2)
47.7b
(expm1.f64 (log.f64 (cos.f64 eps)))
52.5b
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
28.4b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))
28.4b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))) 1) (cos.f64 x))
40.0b
(log.f64 (exp.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))
32.4b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))) -2)
53.3b
(*.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)
50.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
41.6b
(log.f64 (exp.f64 (-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)))
12.3b
(*.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)
40.3b
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
40.6b
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
28.8b
(-.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))
50.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (sqrt.f64 eps) 2) 1/2))) -2)
28.2b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))) (neg.f64 (cos.f64 x)))))
40.7b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
55.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3))) -2)
34.9b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
32.4b
(*.f64 (+.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)))))) -2)
52.3b
(*.f64 -1/2 (*.f64 eps eps))
46.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
45.9b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
40.9b
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
32.2b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps))))) -2)
57.4b
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
40.4b
(*.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (/.f64 1 (+.f64 (cos.f64 eps) 1)))
40.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
37.6b
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
30.3b
(-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps)))
40.9b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
40.3b
(-.f64 (cos.f64 eps) 1)
37.9b
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
30.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.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))))) -2)
40.6b
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
40.5b
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
30.3b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
40.3b
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)))
34.4b
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
28.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
28.2b
(log.f64 (exp.f64 (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 2638 to 1967 computations (25.4% saved)

localize84.0ms (0.4%)

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)))))
1.0b
(cos.f64 (*.f64 (+.f64 x eps) 1/2))
1.1b
(sin.f64 (*.f64 (+.f64 x eps) 1/2))
Compiler

Compiled 171 to 97 computations (43.3% saved)

series19.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

TimeVariablePointExpression
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)))))
1.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)))))
1.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)))))
1.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)))))

rewrite98.0ms (0.4%)

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))))))

simplify118.0ms (0.5%)

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))))

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 12 to 6 computations (50% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite45.0ms (0.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))))))))

simplify172.0ms (0.8%)

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))

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
0.4b
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
0.8b
(+.f64 (cos.f64 eps) -1)
Compiler

Compiled 24 to 16 computations (33.3% saved)

series4.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite69.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
713×pow1_binary64
670×add-log-exp_binary64
670×log1p-expm1-u_binary64
670×expm1-log1p-u_binary64
656×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
117121
2179121
Stop Event
node limit
Counts
3 → 100
Calls
Call 1
Inputs
(+.f64 (cos.f64 eps) -1)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
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 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 1/3))))) (#(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 (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 1/3) (cbrt.f64 (+.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 (pow.f64 (+.f64 (cos.f64 eps) -1) 3/2) 1/3) (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3/2) 1/3))))) (#(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 (*.f64 (cos.f64 eps) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) (*.f64 -1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) (*.f64 (cos.f64 eps) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (cos.f64 eps)) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2) (*.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) (*.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3/2) (pow.f64 (+.f64 (cos.f64 eps) -1) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2) 3) (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) 3) (pow.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 1) (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2)) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (sqrt.f64 (+.f64 (cos.f64 eps) -1))) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) 3) (pow.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (+.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 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (+.f64 (pow.f64 (cos.f64 eps) 2) -1)) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 (+.f64 (cos.f64 eps) -1))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (cos.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (cos.f64 eps) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 1/3))))) (#(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 (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 1/3) (cbrt.f64 (+.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 (pow.f64 (+.f64 (cos.f64 eps) -1) 3/2) 1/3) (pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3/2) 1/3))))) (#(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 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)))))

simplify63.0ms (0.3%)

Algorithm
egg-herbie
Rules
878×distribute-rgt-out_binary64
822×distribute-lft-out_binary64
722×associate-*l*_binary64
648×fma-def_binary64
553×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047378
1115378
2264378
3871378
44146378
57177378
Stop Event
node limit
Counts
136 → 85
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/8 (pow.f64 eps 6))
(+.f64 (*.f64 1/32 (pow.f64 eps 8)) (*.f64 -1/8 (pow.f64 eps 6)))
(+.f64 (*.f64 1/32 (pow.f64 eps 8)) (+.f64 (*.f64 -7/1920 (pow.f64 eps 10)) (*.f64 -1/8 (pow.f64 eps 6))))
(+.f64 (*.f64 1/32 (pow.f64 eps 8)) (+.f64 (*.f64 -7/1920 (pow.f64 eps 10)) (+.f64 (*.f64 -1/8 (pow.f64 eps 6)) (*.f64 1/3780 (pow.f64 eps 12)))))
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(*.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/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 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/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6))))
(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/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)))))
(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))))
(-.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/8 (pow.f64 eps 6))
(*.f64 (pow.f64 eps 6) -1/8)
(+.f64 (*.f64 1/32 (pow.f64 eps 8)) (*.f64 -1/8 (pow.f64 eps 6)))
(fma.f64 1/32 (pow.f64 eps 8) (*.f64 (pow.f64 eps 6) -1/8))
(fma.f64 (pow.f64 eps 6) -1/8 (*.f64 (pow.f64 eps 8) 1/32))
(+.f64 (*.f64 1/32 (pow.f64 eps 8)) (+.f64 (*.f64 -7/1920 (pow.f64 eps 10)) (*.f64 -1/8 (pow.f64 eps 6))))
(fma.f64 1/32 (pow.f64 eps 8) (fma.f64 -7/1920 (pow.f64 eps 10) (*.f64 (pow.f64 eps 6) -1/8)))
(fma.f64 (pow.f64 eps 8) 1/32 (fma.f64 (pow.f64 eps 6) -1/8 (*.f64 -7/1920 (pow.f64 eps 10))))
(fma.f64 (pow.f64 eps 6) -1/8 (fma.f64 (pow.f64 eps 8) 1/32 (*.f64 -7/1920 (pow.f64 eps 10))))
(+.f64 (*.f64 1/32 (pow.f64 eps 8)) (+.f64 (*.f64 -7/1920 (pow.f64 eps 10)) (+.f64 (*.f64 -1/8 (pow.f64 eps 6)) (*.f64 1/3780 (pow.f64 eps 12)))))
(fma.f64 1/32 (pow.f64 eps 8) (fma.f64 -7/1920 (pow.f64 eps 10) (fma.f64 -1/8 (pow.f64 eps 6) (*.f64 1/3780 (pow.f64 eps 12)))))
(fma.f64 (pow.f64 eps 8) 1/32 (fma.f64 -7/1920 (pow.f64 eps 10) (fma.f64 (pow.f64 eps 6) -1/8 (*.f64 1/3780 (pow.f64 eps 12)))))
(fma.f64 (pow.f64 eps 6) -1/8 (fma.f64 (pow.f64 eps 8) 1/32 (fma.f64 -7/1920 (pow.f64 eps 10) (*.f64 1/3780 (pow.f64 eps 12)))))
(fma.f64 (pow.f64 eps 6) -1/8 (fma.f64 (pow.f64 eps 8) 1/32 (fma.f64 1/3780 (pow.f64 eps 12) (*.f64 -7/1920 (pow.f64 eps 10)))))
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(*.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 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/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6))))
(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/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)))))
(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))))
(-.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)

localize28.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
0.3b
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
1.1b
(log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
Compiler

Compiled 44 to 37 computations (15.9% saved)

series4.0ms (0%)

Counts
3 → 20
Calls

9 calls:

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

rewrite60.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
644×pow1_binary64
593×add-log-exp_binary64
593×log1p-expm1-u_binary64
593×expm1-log1p-u_binary64
580×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify88.0ms (0.4%)

Algorithm
egg-herbie
Rules
624×distribute-rgt-out_binary64
614×distribute-lft-out_binary64
518×fma-def_binary64
493×*-commutative_binary64
483×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
039262
192260
2205258
3646258
42858258
55791258
66234258
76816258
87669258
Stop Event
node limit
Counts
84 → 60
Calls
Call 1
Inputs
(*.f64 1/4 (pow.f64 eps 2))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/48 (pow.f64 eps 4)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 1/1440 (pow.f64 eps 6))))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/80640 (pow.f64 eps 8)) (*.f64 1/1440 (pow.f64 eps 6)))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 1/4 (pow.f64 eps 2))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/48 (pow.f64 eps 4)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 1/1440 (pow.f64 eps 6))))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/80640 (pow.f64 eps 8)) (*.f64 1/1440 (pow.f64 eps 6)))))
1
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) 1)
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 1 (*.f64 1/96 (pow.f64 eps 4))))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 1 (+.f64 (*.f64 1/96 (pow.f64 eps 4)) (*.f64 -11/5760 (pow.f64 eps 6)))))
Outputs
(*.f64 1/4 (pow.f64 eps 2))
(*.f64 1/4 (*.f64 eps eps))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/48 (pow.f64 eps 4)))
(fma.f64 1/4 (*.f64 eps eps) (*.f64 -1/48 (pow.f64 eps 4)))
(fma.f64 -1/48 (pow.f64 eps 4) (*.f64 1/4 (*.f64 eps eps)))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps -1/48) 1/4)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 1/1440 (pow.f64 eps 6))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (*.f64 1/1440 (pow.f64 eps 6))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/48 (pow.f64 eps 4))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps -1/48) 1/4) (*.f64 1/1440 (pow.f64 eps 6)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/80640 (pow.f64 eps 8)) (*.f64 1/1440 (pow.f64 eps 6)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 -1/80640 (pow.f64 eps 8) (*.f64 1/1440 (pow.f64 eps 6)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/80640 (pow.f64 eps 8)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/80640 (pow.f64 eps 8) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/48 (pow.f64 eps 4)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 eps 4) -1/80640 -1/48) (*.f64 1/1440 (pow.f64 eps 6))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(*.f64 1/4 (pow.f64 eps 2))
(*.f64 1/4 (*.f64 eps eps))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/48 (pow.f64 eps 4)))
(fma.f64 1/4 (*.f64 eps eps) (*.f64 -1/48 (pow.f64 eps 4)))
(fma.f64 -1/48 (pow.f64 eps 4) (*.f64 1/4 (*.f64 eps eps)))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps -1/48) 1/4)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 1/1440 (pow.f64 eps 6))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (*.f64 1/1440 (pow.f64 eps 6))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/48 (pow.f64 eps 4))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps -1/48) 1/4) (*.f64 1/1440 (pow.f64 eps 6)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/80640 (pow.f64 eps 8)) (*.f64 1/1440 (pow.f64 eps 6)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 -1/80640 (pow.f64 eps 8) (*.f64 1/1440 (pow.f64 eps 6)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/80640 (pow.f64 eps 8)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/80640 (pow.f64 eps 8) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/48 (pow.f64 eps 4)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 eps 4) -1/80640 -1/48) (*.f64 1/1440 (pow.f64 eps 6))))
1
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) 1)
(fma.f64 1/4 (*.f64 eps eps) 1)
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 1 (*.f64 1/96 (pow.f64 eps 4))))
(+.f64 (fma.f64 1/4 (*.f64 eps eps) 1) (*.f64 (pow.f64 eps 4) 1/96))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) 1/96 1))
(fma.f64 (pow.f64 eps 4) 1/96 (fma.f64 1/4 (*.f64 eps eps) 1))
(fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/96 1/4) 1)
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 1 (+.f64 (*.f64 1/96 (pow.f64 eps 4)) (*.f64 -11/5760 (pow.f64 eps 6)))))
(+.f64 (fma.f64 1/4 (*.f64 eps eps) 1) (fma.f64 1/96 (pow.f64 eps 4) (*.f64 (pow.f64 eps 6) -11/5760)))
(+.f64 (fma.f64 1/4 (*.f64 eps eps) 1) (fma.f64 (pow.f64 eps 4) 1/96 (*.f64 (pow.f64 eps 6) -11/5760)))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) 1/96 (fma.f64 (pow.f64 eps 6) -11/5760 1)))
(fma.f64 (pow.f64 eps 4) 1/96 (fma.f64 (pow.f64 eps 6) -11/5760 (fma.f64 1/4 (*.f64 eps eps) 1)))

localize46.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (+.f64 x (+.f64 x eps)) 1/2)
0.3b
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))
1.0b
(sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))
1.9b
(log.f64 (exp.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))
Compiler

Compiled 129 to 55 computations (57.4% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite59.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
700×fma-def_binary64
309×fma-neg_binary64
236×expm1-udef_binary64
236×log1p-udef_binary64
186×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify62.0ms (0.3%)

Algorithm
egg-herbie
Rules
497×neg-sub0_binary64
469×neg-mul-1_binary64
351×associate-*l*_binary64
345×fma-neg_binary64
342×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
072640
1204588
2564512
32435502
46299502
Stop Event
node limit
Counts
56 → 51
Calls
Call 1
Inputs
(*.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
(*.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 (*.f64 eps eps) (cos.f64 x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (*.f64 eps (neg.f64 (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 eps (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 -1/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 (*.f64 eps eps) (cos.f64 x)) (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 (*.f64 eps eps) (cos.f64 x)) (fma.f64 -2 (*.f64 (sin.f64 x) (*.f64 -1/12 (pow.f64 eps 3))) (*.f64 eps (neg.f64 (sin.f64 x)))))
(-.f64 (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (*.f64 (*.f64 (sin.f64 x) (pow.f64 eps 3)) 1/6)) (*.f64 eps (sin.f64 x)))
(fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6) (*.f64 eps (-.f64 (*.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 (*.f64 eps eps) (cos.f64 x)) (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 -2 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12))))))
(+.f64 (fma.f64 -2 (*.f64 (sin.f64 x) (*.f64 -1/12 (pow.f64 eps 3))) (*.f64 eps (neg.f64 (sin.f64 x)))) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))))
(fma.f64 (cos.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 eps (*.f64 eps -1/2))) (-.f64 (*.f64 (*.f64 (sin.f64 x) (pow.f64 eps 3)) 1/6) (*.f64 eps (sin.f64 x))))
(fma.f64 (cos.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.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 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 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 (+.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 x (cos.f64 (*.f64 eps 1/2))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 x (cos.f64 (*.f64 eps 1/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 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(fma.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (fma.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (*.f64 x x) (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 x (cos.f64 (*.f64 eps 1/2)))))))
(+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 eps 1/2))) (*.f64 x -2)) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (+.f64 -2 (*.f64 x x))))
(fma.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x -2)) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (+.f64 -2 (*.f64 x x))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x -2)) (*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 -2 (*.f64 x 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))))))
(fma.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (fma.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (*.f64 x x) (fma.f64 1/3 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (pow.f64 x 3))) (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 x (cos.f64 (*.f64 eps 1/2))))))))
(+.f64 (fma.f64 1/3 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (pow.f64 x 3))) (*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 eps 1/2))) (*.f64 x -2))) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (+.f64 -2 (*.f64 x x))))
(fma.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (+.f64 -2 (*.f64 x x)) (*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 eps 1/2))) (+.f64 (*.f64 x -2) (*.f64 1/3 (pow.f64 x 3)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 eps 1/2)) (+.f64 (*.f64 x -2) (*.f64 1/3 (pow.f64 x 3)))) (*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 -2 (*.f64 x 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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/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 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 -2 (sin.f64 (fma.f64 eps 1/2 x))))

eval273.0ms (1.2%)

Compiler

Compiled 12973 to 9282 computations (28.5% saved)

prune200.0ms (0.9%)

Pruning

86 alts after pruning (84 fresh and 2 done)

PrunedKeptTotal
New49524519
Fresh116071
Picked101
Done325
Total51086596
Error
0.1b
Counts
596 → 86
Alt Table
Click to see full alt table
StatusErrorProgram
28.2b
(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)))))
31.2b
(*.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)
41.2b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
40.3b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
30.2b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
40.5b
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
28.1b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
45.4b
(*.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)
34.7b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)) 3)
12.3b
(*.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 (log.f64 (exp.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)))) (sin.f64 (*.f64 x 1/2))))) -2)
40.4b
(-.f64 (-.f64 (exp.f64 (log.f64 (+.f64 (cos.f64 eps) 1))) 1) (cos.f64 x))
30.2b
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
29.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))) -2)
49.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (expm1.f64 (log1p.f64 (*.f64 1/2 eps))))) -2)
40.2b
(-.f64 (cos.f64 eps) (cos.f64 x))
36.2b
(*.f64 (sin.f64 x) (neg.f64 eps))
58.1b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
35.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
34.4b
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
32.4b
(*.f64 (+.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))))) -2)
45.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
45.4b
(*.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)
39.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
40.5b
(*.f64 (-.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 1) -2)
56.8b
(log.f64 (exp.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)))
51.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (sqrt.f64 (*.f64 eps eps)) 1/2))) -2)
37.3b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)) -2)
28.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
28.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))
32.0b
(*.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 2)) -2)
28.3b
(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)))))
45.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (/.f64 (*.f64 (*.f64 eps eps) 1/2) eps))) -2)
36.3b
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
58.0b
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
24.2b
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
52.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (/.f64 (*.f64 (pow.f64 eps 3) 1/2) (*.f64 eps eps)))) -2)
36.5b
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4)) -2)
58.1b
(log.f64 1)
28.2b
(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))))))
28.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.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))))))
45.7b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (neg.f64 (cos.f64 x)))))
13.1b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
34.4b
(*.f64 1/3 (*.f64 3 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)))
12.3b
(*.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)
50.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 eps)) 2))) -2)
34.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 3)) -2)
40.3b
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
47.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) 1/3)) -2)
47.7b
(expm1.f64 (log.f64 (cos.f64 eps)))
52.5b
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
57.9b
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
28.4b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))
28.4b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))) 1) (cos.f64 x))
53.3b
(*.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)
50.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
34.4b
(*.f64 3 (*.f64 1/3 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)))
40.3b
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
28.8b
(-.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))
50.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (sqrt.f64 eps) 2) 1/2))) -2)
28.2b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))) (neg.f64 (cos.f64 x)))))
40.7b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
55.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3))) -2)
32.4b
(*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 eps 1/2)) (+.f64 (*.f64 x -2) (*.f64 1/3 (pow.f64 x 3)))) (*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 -2 (*.f64 x x)))))
34.9b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
46.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -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 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) 1))) -2)
45.9b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
40.9b
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
57.4b
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
40.4b
(*.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (/.f64 1 (+.f64 (cos.f64 eps) 1)))
40.3b
(-.f64 (cos.f64 eps) 1)
52.3b
(*.f64 eps (*.f64 -1/2 eps))
32.2b
(*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x -2)) (*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 -2 (*.f64 x x)))))
40.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 1))
30.3b
(-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps)))
40.9b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
12.3b
(*.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
40.6b
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
30.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.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))))) -2)
40.5b
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
30.3b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
57.4b
(cbrt.f64 (sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 6)))
40.3b
(log.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)))
28.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
34.4b
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
28.2b
(log.f64 (exp.f64 (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 2965 to 2241 computations (24.4% saved)

localize78.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (sin.f64 (*.f64 x 1/2)) (sin.f64 (*.f64 eps 1/2)))
0.4b
(*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 x 1/2))) (sin.f64 (*.f64 (+.f64 x eps) 1/2)))
1.0b
(cos.f64 (*.f64 (+.f64 x eps) 1/2))
1.1b
(sin.f64 (*.f64 (+.f64 x eps) 1/2))
Compiler

Compiled 162 to 110 computations (32.1% saved)

series9.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite75.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
841×log-prod_binary64
591×fma-def_binary64
298×expm1-udef_binary64
298×log1p-udef_binary64
294×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify64.0ms (0.3%)

Algorithm
egg-herbie
Rules
658×fma-def_binary64
629×distribute-rgt-neg-out_binary64
605×associate-*l*_binary64
590×associate-*r*_binary64
514×distribute-lft-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01061259
13121231
29091149
342121123
Stop Event
node limit
Counts
91 → 80
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))) (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (pow.f64 eps 2))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (pow.f64 eps 2))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/48 (sin.f64 (*.f64 1/2 x))) (*.f64 -1/16 (sin.f64 (*.f64 1/2 x))))))))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (pow.f64 eps 4))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (pow.f64 eps 2))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/48 (sin.f64 (*.f64 1/2 x))) (*.f64 -1/16 (sin.f64 (*.f64 1/2 x)))))))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/16 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))) (*.f64 -1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))))) (pow.f64 x 3)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))))
(*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x))
(+.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 (*.f64 1/3840 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 5))) (+.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 (*.f64 1/3840 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 5))) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/645120 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 7))) (*.f64 -1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (sin.f64 (*.f64 1/2 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (sin.f64 (*.f64 1/2 x)))) (+.f64 (*.f64 1/3840 (*.f64 (pow.f64 eps 5) (sin.f64 (*.f64 1/2 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))))))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (sin.f64 (*.f64 1/2 x)))) (+.f64 (*.f64 1/3840 (*.f64 (pow.f64 eps 5) (sin.f64 (*.f64 1/2 x)))) (+.f64 (*.f64 -1/645120 (*.f64 (pow.f64 eps 7) (sin.f64 (*.f64 1/2 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
Outputs
(*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(*.f64 (*.f64 1/2 (cos.f64 (*.f64 1/2 x))) (*.f64 eps (sin.f64 (*.f64 1/2 x))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 1/2 eps)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))) (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (pow.f64 eps 2))))
(fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (*.f64 eps eps))))
(fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (*.f64 1/4 (*.f64 eps (*.f64 eps (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)))))
(*.f64 eps (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))) (*.f64 eps (*.f64 1/4 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) eps) (+.f64 (*.f64 1/2 (sin.f64 (*.f64 1/2 x))) (*.f64 1/4 (*.f64 (cos.f64 (*.f64 1/2 x)) eps))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (pow.f64 eps 2))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/48 (sin.f64 (*.f64 1/2 x))) (*.f64 -1/16 (sin.f64 (*.f64 1/2 x))))))))
(fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (fma.f64 1/4 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (*.f64 eps eps)) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 3)) (*.f64 (sin.f64 (*.f64 1/2 x)) -1/12))))
(fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (fma.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 -1/12 (pow.f64 eps 3))) (*.f64 1/4 (*.f64 eps (*.f64 eps (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))))
(fma.f64 1/4 (*.f64 eps (*.f64 eps (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))) (*.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))))))
(fma.f64 1/4 (*.f64 eps (*.f64 eps (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12)))))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (pow.f64 eps 4))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (pow.f64 eps 2))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/48 (sin.f64 (*.f64 1/2 x))) (*.f64 -1/16 (sin.f64 (*.f64 1/2 x)))))))))
(fma.f64 -1/48 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (pow.f64 eps 4)) (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (fma.f64 1/4 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (*.f64 eps eps)) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 3)) (*.f64 (sin.f64 (*.f64 1/2 x)) -1/12)))))
(fma.f64 -1/48 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (pow.f64 eps 4)) (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (fma.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 -1/12 (pow.f64 eps 3))) (*.f64 1/4 (*.f64 eps (*.f64 eps (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)))))))
(fma.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (*.f64 -1/48 (pow.f64 eps 4)) (fma.f64 1/4 (*.f64 eps (*.f64 eps (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))) (*.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))))))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12)))) (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (+.f64 (*.f64 1/4 (*.f64 eps eps)) (*.f64 -1/48 (pow.f64 eps 4)))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 1/2 (*.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/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x (cos.f64 (*.f64 1/2 eps)))))
(fma.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (cos.f64 (*.f64 1/2 eps)))) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 1/2 (*.f64 x (cos.f64 (*.f64 1/2 eps))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(fma.f64 -1/4 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (*.f64 1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x (cos.f64 (*.f64 1/2 eps))))))
(fma.f64 -1/4 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x x)) (fma.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (cos.f64 (*.f64 1/2 eps)))) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(fma.f64 1/2 (*.f64 x (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/4)) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x (sin.f64 (*.f64 1/2 eps)))) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/4)) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/16 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))) (*.f64 -1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))))) (pow.f64 x 3)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))))
(fma.f64 (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) -1/12) (pow.f64 x 3) (fma.f64 -1/4 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (*.f64 1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x (cos.f64 (*.f64 1/2 eps)))))))
(fma.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/12)) (pow.f64 x 3) (fma.f64 -1/4 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x x)) (fma.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (cos.f64 (*.f64 1/2 eps)))) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
(+.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x -1/4)) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) (+.f64 (*.f64 1/2 x) (*.f64 (pow.f64 x 3) -1/12))))
(+.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x -1/4)) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 x (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) (+.f64 1/2 (*.f64 (*.f64 x x) -1/12)))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))))
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 x eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x))
(*.f64 1/2 (*.f64 x (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 1/2 x) (sin.f64 (*.f64 1/2 eps)))
(+.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))))
(fma.f64 1/2 (*.f64 x (sin.f64 (*.f64 1/2 eps))) (*.f64 -1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/2 x) (*.f64 -1/48 (pow.f64 x 3))))
(+.f64 (*.f64 1/3840 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 5))) (+.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)))))
(fma.f64 1/3840 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 5)) (fma.f64 1/2 (*.f64 x (sin.f64 (*.f64 1/2 eps))) (*.f64 -1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))))
(fma.f64 1/2 (*.f64 x (sin.f64 (*.f64 1/2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/48 (pow.f64 x 3)) (*.f64 1/3840 (pow.f64 x 5)))))
(fma.f64 -1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/2 x) (*.f64 1/3840 (pow.f64 x 5)))))
(+.f64 (*.f64 1/3840 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 5))) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/645120 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 7))) (*.f64 -1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(fma.f64 1/3840 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 5)) (fma.f64 1/2 (*.f64 x (sin.f64 (*.f64 1/2 eps))) (fma.f64 -1/645120 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 7)) (*.f64 -1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(fma.f64 1/3840 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 5)) (fma.f64 1/2 (*.f64 x (sin.f64 (*.f64 1/2 eps))) (fma.f64 -1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (*.f64 -1/645120 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 7))))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/48 (pow.f64 x 3)) (*.f64 -1/645120 (pow.f64 x 7)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/2 x) (*.f64 1/3840 (pow.f64 x 5)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/2 x) (*.f64 -1/48 (pow.f64 x 3)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/3840 (pow.f64 x 5)) (*.f64 -1/645120 (pow.f64 x 7)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))))
(*.f64 (*.f64 1/2 eps) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 1/2 eps))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (sin.f64 (*.f64 1/2 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(fma.f64 -1/48 (*.f64 (sin.f64 (*.f64 1/2 x)) (pow.f64 eps 3)) (*.f64 (*.f64 1/2 eps) (sin.f64 (*.f64 1/2 x))))
(*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/48)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (fma.f64 (pow.f64 eps 3) -1/48 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (fma.f64 1/2 eps (*.f64 (pow.f64 eps 3) -1/48)))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (sin.f64 (*.f64 1/2 x)))) (+.f64 (*.f64 1/3840 (*.f64 (pow.f64 eps 5) (sin.f64 (*.f64 1/2 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))))))
(fma.f64 -1/48 (*.f64 (sin.f64 (*.f64 1/2 x)) (pow.f64 eps 3)) (fma.f64 1/3840 (*.f64 (sin.f64 (*.f64 1/2 x)) (pow.f64 eps 5)) (*.f64 (*.f64 1/2 eps) (sin.f64 (*.f64 1/2 x)))))
(fma.f64 -1/48 (*.f64 (sin.f64 (*.f64 1/2 x)) (pow.f64 eps 3)) (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/2 eps) (*.f64 1/3840 (pow.f64 eps 5)))))
(*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 (pow.f64 eps 3) -1/48) (fma.f64 1/3840 (pow.f64 eps 5) (*.f64 1/2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/2 eps) (fma.f64 (pow.f64 eps 3) -1/48 (*.f64 1/3840 (pow.f64 eps 5)))))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (sin.f64 (*.f64 1/2 x)))) (+.f64 (*.f64 1/3840 (*.f64 (pow.f64 eps 5) (sin.f64 (*.f64 1/2 x)))) (+.f64 (*.f64 -1/645120 (*.f64 (pow.f64 eps 7) (sin.f64 (*.f64 1/2 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))))))
(fma.f64 -1/48 (*.f64 (sin.f64 (*.f64 1/2 x)) (pow.f64 eps 3)) (fma.f64 1/3840 (*.f64 (sin.f64 (*.f64 1/2 x)) (pow.f64 eps 5)) (fma.f64 -1/645120 (*.f64 (sin.f64 (*.f64 1/2 x)) (pow.f64 eps 7)) (*.f64 (*.f64 1/2 eps) (sin.f64 (*.f64 1/2 x))))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/3840 (pow.f64 eps 5)) (*.f64 -1/645120 (pow.f64 eps 7)))) (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/48))))
(*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (fma.f64 1/3840 (pow.f64 eps 5) (*.f64 -1/645120 (pow.f64 eps 7))) (fma.f64 (pow.f64 eps 3) -1/48 (*.f64 1/2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (fma.f64 1/2 eps (*.f64 (pow.f64 eps 3) -1/48)) (fma.f64 1/3840 (pow.f64 eps 5) (*.f64 -1/645120 (pow.f64 eps 7)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 eps)))

localize6.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 12 to 5 computations (58.3% saved)

series36.0ms (0.2%)

Counts
2 → 16
Calls

6 calls:

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

rewrite45.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)))))

simplify132.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 40 to 12 computations (70% saved)

series7.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite86.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

simplify68.0ms (0.3%)

Algorithm
egg-herbie
Rules
866×fma-neg_binary64
674×fma-def_binary64
520×associate-*r*_binary64
511×associate-*l*_binary64
437×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0112967
1343934
21095892
35396881
Stop Event
node limit
Counts
213 → 203
Calls
Call 1
Inputs
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (*.f64 -2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x))))
(+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))) (pow.f64 (sin.f64 eps) 2)) (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x)))))
(+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))) (pow.f64 (sin.f64 eps) 2)) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))) (*.f64 -1 (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (sin.f64 eps))))) (pow.f64 x 3)) (*.f64 -2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x))))))
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 2)
(*.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 2))
(+.f64 (*.f64 (cos.f64 x) (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 2)))
(+.f64 (*.f64 (cos.f64 x) (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 2)) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 (sin.f64 x) 2)) (*.f64 1/4 (pow.f64 (cos.f64 x) 2))) (pow.f64 eps 4))))
(+.f64 (*.f64 (cos.f64 x) (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 (pow.f64 eps 5) (+.f64 (*.f64 -1/12 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1/6 (*.f64 (cos.f64 x) (sin.f64 x))))) (+.f64 (*.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 2)) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 (sin.f64 x) 2)) (*.f64 1/4 (pow.f64 (cos.f64 x) 2))) (pow.f64 eps 4)))))
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 2)
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
Outputs
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (*.f64 -2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x))))
(+.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (*.f64 -2 (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) x)))
(fma.f64 (+.f64 (*.f64 (cos.f64 eps) -2) 2) (*.f64 (sin.f64 eps) x) (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(fma.f64 (*.f64 (sin.f64 eps) x) (fma.f64 (cos.f64 eps) -2 2) (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
(+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))) (pow.f64 (sin.f64 eps) 2)) (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x)))))
(+.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (fma.f64 (fma.f64 2 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2))) (pow.f64 (sin.f64 eps) 2)) (*.f64 x x) (*.f64 (*.f64 -2 (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) x))))
(+.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (fma.f64 (fma.f64 (+.f64 (*.f64 (cos.f64 eps) 2) -2) (fma.f64 (cos.f64 eps) -1/2 1/2) (pow.f64 (sin.f64 eps) 2)) (*.f64 x x) (*.f64 (*.f64 (sin.f64 eps) x) (+.f64 (*.f64 (cos.f64 eps) -2) 2))))
(fma.f64 (*.f64 (sin.f64 eps) x) (fma.f64 (cos.f64 eps) -2 2) (fma.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (fma.f64 (cos.f64 eps) 2 -2) (pow.f64 (sin.f64 eps) 2)) (*.f64 x x) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))
(fma.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (fma.f64 (cos.f64 eps) 2 -2) (pow.f64 (sin.f64 eps) 2)) (*.f64 x x) (fma.f64 (*.f64 (sin.f64 eps) x) (fma.f64 (cos.f64 eps) -2 2) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))
(+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))) (pow.f64 (sin.f64 eps) 2)) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))) (*.f64 -1 (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (sin.f64 eps))))) (pow.f64 x 3)) (*.f64 -2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x))))))
(+.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (fma.f64 (fma.f64 2 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2))) (pow.f64 (sin.f64 eps) 2)) (*.f64 x x) (fma.f64 (fma.f64 1/3 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) (*.f64 -1 (+.f64 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2))) (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)))))) (pow.f64 x 3) (*.f64 (*.f64 -2 (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) x)))))
(+.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (fma.f64 (fma.f64 (+.f64 (*.f64 (cos.f64 eps) 2) -2) (fma.f64 (cos.f64 eps) -1/2 1/2) (pow.f64 (sin.f64 eps) 2)) (*.f64 x x) (fma.f64 (fma.f64 1/3 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) (*.f64 (*.f64 (sin.f64 eps) (fma.f64 (cos.f64 eps) -1/2 1/2)) -2)) (pow.f64 x 3) (*.f64 (*.f64 (sin.f64 eps) x) (+.f64 (*.f64 (cos.f64 eps) -2) 2)))))
(+.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (fma.f64 (*.f64 (sin.f64 eps) (+.f64 (fma.f64 (cos.f64 eps) 1/3 -1/3) (*.f64 1 (+.f64 (cos.f64 eps) -1)))) (pow.f64 x 3) (*.f64 x (+.f64 (*.f64 (sin.f64 eps) (fma.f64 (cos.f64 eps) -2 2)) (*.f64 x (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (fma.f64 (cos.f64 eps) 2 -2) (pow.f64 (sin.f64 eps) 2)))))))
(+.f64 (fma.f64 (*.f64 (sin.f64 eps) x) (fma.f64 (cos.f64 eps) -2 2) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) (*.f64 (*.f64 x x) (+.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (fma.f64 (cos.f64 eps) 2 -2) (pow.f64 (sin.f64 eps) 2)) (*.f64 x (*.f64 (sin.f64 eps) (+.f64 (fma.f64 (cos.f64 eps) 1/3 -1/3) (+.f64 (cos.f64 eps) -1)))))))
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(*.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 2))
(*.f64 (*.f64 eps eps) (pow.f64 (sin.f64 x) 2))
(*.f64 eps (*.f64 eps (pow.f64 (sin.f64 x) 2)))
(+.f64 (*.f64 (cos.f64 x) (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 2)))
(fma.f64 (cos.f64 x) (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 eps eps) (pow.f64 (sin.f64 x) 2)))
(fma.f64 (cos.f64 x) (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (*.f64 eps (pow.f64 (sin.f64 x) 2))))
(*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (pow.f64 eps 3))))
(+.f64 (*.f64 (cos.f64 x) (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 2)) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 (sin.f64 x) 2)) (*.f64 1/4 (pow.f64 (cos.f64 x) 2))) (pow.f64 eps 4))))
(fma.f64 (cos.f64 x) (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 (*.f64 eps eps) (pow.f64 (sin.f64 x) 2) (*.f64 (fma.f64 -1/3 (pow.f64 (sin.f64 x) 2) (*.f64 1/4 (pow.f64 (cos.f64 x) 2))) (pow.f64 eps 4))))
(fma.f64 (cos.f64 x) (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 (fma.f64 (pow.f64 (sin.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (cos.f64 x) 2))) (pow.f64 eps 4) (*.f64 eps (*.f64 eps (pow.f64 (sin.f64 x) 2)))))
(fma.f64 (fma.f64 (pow.f64 (sin.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (cos.f64 x) 2))) (pow.f64 eps 4) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (pow.f64 eps 3)))))
(+.f64 (*.f64 (cos.f64 x) (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 (pow.f64 eps 5) (+.f64 (*.f64 -1/12 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1/6 (*.f64 (cos.f64 x) (sin.f64 x))))) (+.f64 (*.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 2)) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 (sin.f64 x) 2)) (*.f64 1/4 (pow.f64 (cos.f64 x) 2))) (pow.f64 eps 4)))))
(fma.f64 (cos.f64 x) (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 (pow.f64 eps 5) (*.f64 (*.f64 (cos.f64 x) (sin.f64 x)) -1/4) (fma.f64 (*.f64 eps eps) (pow.f64 (sin.f64 x) 2) (*.f64 (fma.f64 -1/3 (pow.f64 (sin.f64 x) 2) (*.f64 1/4 (pow.f64 (cos.f64 x) 2))) (pow.f64 eps 4)))))
(fma.f64 (cos.f64 x) (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 (pow.f64 eps 5) (*.f64 (sin.f64 x) (*.f64 (cos.f64 x) -1/4)) (fma.f64 (fma.f64 (pow.f64 (sin.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (cos.f64 x) 2))) (pow.f64 eps 4) (*.f64 eps (*.f64 eps (pow.f64 (sin.f64 x) 2))))))
(+.f64 (fma.f64 (fma.f64 (pow.f64 (sin.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (cos.f64 x) 2))) (pow.f64 eps 4) (*.f64 (*.f64 eps eps) (pow.f64 (sin.f64 x) 2))) (*.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (+.f64 (pow.f64 eps 3) (*.f64 (pow.f64 eps 5) -1/4))))
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x)) 2)
(pow.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) 2)
(-.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 (sin.f64 eps) x 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 (sin.f64 eps) x) (*.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 (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 (sin.f64 eps) x) (*.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 (pow.f64 x 3) 1/6) (neg.f64 x)))) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (-.f64 (*.f64 (pow.f64 x 3) 1/6) 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 (sin.f64 x) (neg.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (cos.f64 x))) (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -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 (sin.f64 x) (pow.f64 eps 3)) 1/6 (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))))) (*.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 (pow.f64 eps 3) 1/6))))
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 (*.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)) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (-.f64 (fma.f64 (*.f64 (sin.f64 x) (pow.f64 eps 3)) 1/6 (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))))) (*.f64 eps (sin.f64 x))))
(fma.f64 (cos.f64 x) (*.f64 (pow.f64 eps 4) 1/24) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 (pow.f64 eps 3) 1/6)))))
(fma.f64 (cos.f64 x) (*.f64 (pow.f64 eps 4) 1/24) (fma.f64 (*.f64 eps eps) (*.f64 -1/2 (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 (*.f64 (pow.f64 eps 3) 1/6) 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))

localize44.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
13.5b
(sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3))
38.8b
(pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)
Compiler

Compiled 90 to 56 computations (37.8% saved)

series14.0ms (0.1%)

Counts
3 → 40
Calls

12 calls:

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

rewrite67.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
454×log-prod_binary64
366×fma-def_binary64
272×pow2_binary64
235×pow-prod-down_binary64
188×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify114.0ms (0.5%)

Algorithm
egg-herbie
Rules
714×sqr-pow_binary64
658×fma-def_binary64
641×distribute-lft-out_binary64
482×unswap-sqr_binary64
289×pow-sqr_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
054572
1141372
2335372
31056372
42328372
53996372
64618372
75019372
85664372
96359372
107151372
Stop Event
node limit
Counts
137 → 115
Calls
Call 1
Inputs
(*.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 (*.f64 eps (cbrt.f64 -1/8)))
(*.f64 -1 (*.f64 eps (cbrt.f64 -1/8)))
(*.f64 -1 (*.f64 eps (cbrt.f64 -1/8)))
(*.f64 -1 (*.f64 eps (cbrt.f64 -1/8)))
(*.f64 1/2 eps)
(+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps))
(+.f64 (*.f64 1/3840 (pow.f64 eps 5)) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps)))
(+.f64 (*.f64 1/3840 (pow.f64 eps 5)) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (+.f64 (*.f64 -1/645120 (pow.f64 eps 7)) (*.f64 1/2 eps))))
(*.f64 1/4 (pow.f64 eps 2))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/48 (pow.f64 eps 4)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 1/1440 (pow.f64 eps 6))))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/80640 (pow.f64 eps 8)) (*.f64 1/1440 (pow.f64 eps 6)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
Outputs
(*.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 (*.f64 eps (cbrt.f64 -1/8)))
(neg.f64 (*.f64 eps (cbrt.f64 -1/8)))
(*.f64 (cbrt.f64 -1/8) (neg.f64 eps))
(*.f64 -1 (*.f64 eps (cbrt.f64 -1/8)))
(neg.f64 (*.f64 eps (cbrt.f64 -1/8)))
(*.f64 (cbrt.f64 -1/8) (neg.f64 eps))
(*.f64 -1 (*.f64 eps (cbrt.f64 -1/8)))
(neg.f64 (*.f64 eps (cbrt.f64 -1/8)))
(*.f64 (cbrt.f64 -1/8) (neg.f64 eps))
(*.f64 -1 (*.f64 eps (cbrt.f64 -1/8)))
(neg.f64 (*.f64 eps (cbrt.f64 -1/8)))
(*.f64 (cbrt.f64 -1/8) (neg.f64 eps))
(*.f64 1/2 eps)
(+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps))
(fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/2 eps))
(fma.f64 1/2 eps (*.f64 -1/48 (pow.f64 eps 3)))
(*.f64 eps (fma.f64 -1/48 (*.f64 eps eps) 1/2))
(+.f64 (*.f64 1/3840 (pow.f64 eps 5)) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps)))
(fma.f64 1/3840 (pow.f64 eps 5) (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/2 eps)))
(fma.f64 -1/48 (pow.f64 eps 3) (fma.f64 1/3840 (pow.f64 eps 5) (*.f64 1/2 eps)))
(fma.f64 1/2 eps (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/3840 (pow.f64 eps 5))))
(fma.f64 eps (fma.f64 -1/48 (*.f64 eps eps) 1/2) (*.f64 1/3840 (pow.f64 eps 5)))
(+.f64 (*.f64 1/3840 (pow.f64 eps 5)) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (+.f64 (*.f64 -1/645120 (pow.f64 eps 7)) (*.f64 1/2 eps))))
(fma.f64 1/3840 (pow.f64 eps 5) (fma.f64 -1/48 (pow.f64 eps 3) (fma.f64 -1/645120 (pow.f64 eps 7) (*.f64 1/2 eps))))
(fma.f64 1/3840 (pow.f64 eps 5) (fma.f64 1/2 eps (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 -1/645120 (pow.f64 eps 7)))))
(fma.f64 eps (fma.f64 eps (*.f64 eps -1/48) 1/2) (fma.f64 -1/645120 (pow.f64 eps 7) (*.f64 1/3840 (pow.f64 eps 5))))
(fma.f64 eps (fma.f64 -1/48 (*.f64 eps eps) 1/2) (fma.f64 1/3840 (pow.f64 eps 5) (*.f64 -1/645120 (pow.f64 eps 7))))
(*.f64 1/4 (pow.f64 eps 2))
(*.f64 1/4 (*.f64 eps eps))
(*.f64 eps (*.f64 eps 1/4))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/48 (pow.f64 eps 4)))
(fma.f64 1/4 (*.f64 eps eps) (*.f64 -1/48 (pow.f64 eps 4)))
(fma.f64 -1/48 (pow.f64 eps 4) (*.f64 eps (*.f64 eps 1/4)))
(fma.f64 eps (*.f64 eps 1/4) (*.f64 -1/48 (pow.f64 eps 4)))
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps -1/48) 1/4))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 1/1440 (pow.f64 eps 6))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (*.f64 1/1440 (pow.f64 eps 6))))
(fma.f64 eps (*.f64 eps 1/4) (fma.f64 -1/48 (pow.f64 eps 4) (*.f64 1/1440 (pow.f64 eps 6))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps -1/48) 1/4) (*.f64 1/1440 (pow.f64 eps 6)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/80640 (pow.f64 eps 8)) (*.f64 1/1440 (pow.f64 eps 6)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 -1/80640 (pow.f64 eps 8) (*.f64 1/1440 (pow.f64 eps 6)))))
(fma.f64 eps (*.f64 eps 1/4) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/80640 (pow.f64 eps 8)))))
(fma.f64 eps (*.f64 eps 1/4) (fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 eps 4) -1/80640 -1/48) (*.f64 1/1440 (pow.f64 eps 6))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3))))

eval365.0ms (1.7%)

Compiler

Compiled 17909 to 9800 computations (45.3% saved)

prune365.0ms (1.7%)

Pruning

85 alts after pruning (81 fresh and 4 done)

PrunedKeptTotal
New74025765
Fresh235679
Picked101
Done246
Total76685851
Error
0.1b
Counts
851 → 85
Alt Table
Click to see full alt table
StatusErrorProgram
58.1b
(expm1.f64 (sqrt.f64 (pow.f64 (log.f64 (cos.f64 eps)) 2)))
28.2b
(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)))))
30.2b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
40.5b
(*.f64 3 (*.f64 1/3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
41.2b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
40.9b
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x 1))
28.1b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
45.4b
(*.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)
34.7b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)) 3)
12.3b
(*.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 (log.f64 (exp.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)))) (sin.f64 (*.f64 x 1/2))))) -2)
40.4b
(-.f64 (-.f64 (exp.f64 (log.f64 (+.f64 (cos.f64 eps) 1))) 1) (cos.f64 x))
58.1b
(fabs.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
29.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))) -2)
21.9b
(*.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 1/2 x)) (*.f64 1/2 eps)))) -2)
45.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
49.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (expm1.f64 (log1p.f64 (*.f64 1/2 eps))))) -2)
40.2b
(-.f64 (cos.f64 eps) (cos.f64 x))
35.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
40.9b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
45.4b
(*.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)
39.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (cos.f64 x)))
32.4b
(*.f64 (+.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))))) -2)
56.8b
(log.f64 (exp.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)))
40.3b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 eps)))) -2)
51.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (sqrt.f64 (*.f64 eps eps)) 1/2))) -2)
28.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))
28.3b
(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)))))
45.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (/.f64 (*.f64 (*.f64 eps eps) 1/2) eps))) -2)
28.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))
36.3b
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
58.0b
(log.f64 (+.f64 1 (*.f64 -1 (*.f64 eps (sin.f64 x)))))
28.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
40.3b
(*.f64 (expm1.f64 (log1p.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 eps))))) -2)
49.1b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (cbrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 eps)))) 3/2)) -2)
37.3b
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)) -2)
30.3b
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 (*.f64 (pow.f64 eps 3) 1/6) eps)))
24.2b
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
58.1b
(log.f64 1)
28.2b
(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))))))
28.3b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.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))))))
45.7b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (neg.f64 (cos.f64 x)))))
13.1b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
49.0b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 eps) 3)))) -2)
34.4b
(*.f64 1/3 (*.f64 3 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)))
40.5b
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
40.3b
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))
30.2b
(-.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (cos.f64 x))) (*.f64 eps (sin.f64 x)))
48.6b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (cbrt.f64 -1/8) (neg.f64 eps)))) -2)
48.4b
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
36.5b
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4)) -2)
52.5b
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
47.7b
(expm1.f64 (log.f64 (cos.f64 eps)))
57.9b
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
55.9b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3))) -2)
34.4b
(*.f64 3 (*.f64 1/3 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)))
28.4b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))
28.4b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))) 1) (cos.f64 x))
53.3b
(*.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)
50.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
40.3b
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
36.2b
(*.f64 (sin.f64 x) (neg.f64 eps))
28.8b
(-.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))
50.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (sqrt.f64 eps) 2) 1/2))) -2)
28.2b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))) (neg.f64 (cos.f64 x)))))
40.7b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
32.4b
(*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 eps 1/2)) (+.f64 (*.f64 x -2) (*.f64 1/3 (pow.f64 x 3)))) (*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 -2 (*.f64 x x)))))
34.9b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
46.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -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 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) 1))) -2)
45.9b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
57.4b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2))
40.3b
(-.f64 (cos.f64 eps) 1)
52.3b
(*.f64 eps (*.f64 -1/2 eps))
32.2b
(*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x -2)) (*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 -2 (*.f64 x x)))))
30.3b
(-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps)))
34.9b
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 6) -2)
53.3b
(sqrt.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2) 2))
40.6b
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
12.3b
(*.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
30.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.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))))) -2)
37.6b
(*.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 6) 1/3) -2)
58.0b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 eps) (cos.f64 x)) 2))
34.4b
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
57.4b
(cbrt.f64 (sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 6)))
28.2b
(log.f64 (exp.f64 (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 1434 to 1083 computations (24.5% saved)

regimes1.2s (5.5%)

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

4 calls:

390.0ms
x
385.0ms
eps
169.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
150.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
10.6b3x
0.5b3eps
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 2448 to 1306 computations (46.7% saved)

bsearch133.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
76.0ms
0.0008569044353900222
5.962625102886873
56.0ms
-0.01587428569448531
-0.0004093905845400458
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes975.0ms (4.4%)

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

4 calls:

368.0ms
x
255.0ms
eps
146.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
138.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
10.6b3x
0.5b3eps
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 2047 to 1173 computations (42.7% saved)

bsearch218.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
157.0ms
0.0008569044353900222
5.962625102886873
60.0ms
-0.01587428569448531
-0.0004093905845400458
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes1.2s (5.6%)

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

4 calls:

359.0ms
eps
296.0ms
x
189.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
189.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
10.6b3x
0.5b3eps
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1910 to 1110 computations (41.9% saved)

bsearch122.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
56.0ms
0.0008569044353900222
5.962625102886873
65.0ms
-0.01587428569448531
-0.0004093905845400458
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes1.4s (6.2%)

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

4 calls:

474.0ms
eps
341.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
259.0ms
x
211.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
10.6b3x
0.5b3eps
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1758 to 1034 computations (41.2% saved)

bsearch122.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
0.0008569044353900222
5.962625102886873
58.0ms
-0.01587428569448531
-0.0004093905845400458
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes1.3s (5.8%)

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

4 calls:

468.0ms
eps
401.0ms
x
200.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
148.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
10.6b3x
0.5b3eps
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1732 to 1032 computations (40.4% saved)

bsearch155.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
94.0ms
0.0008569044353900222
5.962625102886873
59.0ms
-0.01587428569448531
-0.0004093905845400458
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes913.0ms (4.1%)

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

4 calls:

218.0ms
eps
196.0ms
x
188.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
167.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
10.7b3x
0.5b3eps
6.6b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
6.6b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1630 to 971 computations (40.4% saved)

bsearch114.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
56.0ms
0.0008569044353900222
5.962625102886873
57.0ms
-0.01587428569448531
-0.0004093905845400458
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes395.0ms (1.8%)

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

4 calls:

118.0ms
x
93.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
79.0ms
eps
57.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
12.3b1x
12.3b1eps
12.3b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
12.3b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1616 to 967 computations (40.2% saved)

regimes293.0ms (1.3%)

Counts
33 → 3
Calls
Call 1
Inputs
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 eps)))) -2)
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 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 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.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 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 (-.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 1) -2)
(*.f64 1/3 (*.f64 3 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)))
(*.f64 3 (*.f64 1/3 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)))
(-.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (cos.f64 x))) (*.f64 eps (sin.f64 x)))
(*.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 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (/.f64 (*.f64 (*.f64 eps eps) 1/2) eps))) -2)
Outputs
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(-.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (cos.f64 x))) (*.f64 eps (sin.f64 x)))
(-.f64 (cos.f64 eps) (cos.f64 x))
Calls

4 calls:

195.0ms
eps
47.0ms
x
22.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
19.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
15.2b3x
12.2b3eps
12.8b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
12.8b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 324 to 193 computations (40.4% saved)

bsearch129.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
66.0ms
0.0008569044353900222
5.962625102886873
63.0ms
-0.0004093905845400458
-3.029191699827036e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes208.0ms (0.9%)

Counts
29 → 3
Calls
Call 1
Inputs
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 eps)))) -2)
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 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 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.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 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 1/3 (*.f64 3 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 (-.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 1) -2)
(*.f64 1/3 (*.f64 3 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)))
(*.f64 3 (*.f64 1/3 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)))
Outputs
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(-.f64 (cos.f64 eps) (cos.f64 x))
Calls

4 calls:

79.0ms
eps
70.0ms
x
29.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
22.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
16.4b3x
12.2b3eps
12.8b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
12.8b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 266 to 161 computations (39.5% saved)

bsearch137.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
62.0ms
0.0008569044353900222
5.962625102886873
75.0ms
-0.0004093905845400458
-3.029191699827036e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes101.0ms (0.5%)

Counts
20 → 3
Calls
Call 1
Inputs
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 -1/2 (*.f64 eps eps))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))) 1)
(log.f64 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(expm1.f64 (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 eps)))) -2)
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 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 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
Outputs
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 (sin.f64 x) (neg.f64 eps))
Calls

4 calls:

32.0ms
eps
32.0ms
x
17.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
14.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
16.4b3x
17.1b3eps
18.6b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
18.6b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 164 to 100 computations (39% saved)

bsearch182.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
80.0ms
5.765655092283564e-33
3.57476422624369e-26
102.0ms
-9.663103832920895e-41
-1.931165182630883e-44
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes93.0ms (0.4%)

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

4 calls:

40.0ms
x
25.0ms
eps
12.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
11.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
21.1b5x
18.1b3eps
18.9b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
18.9b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 128 to 73 computations (43% saved)

bsearch123.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
64.0ms
1.4478825126045238e-27
3.866108660305141e-27
58.0ms
-0.0004093905845400458
-3.029191699827036e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes58.0ms (0.3%)

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

2 calls:

32.0ms
x
22.0ms
eps
Results
ErrorSegmentsBranch
21.1b5x
18.5b3eps
Compiler

Compiled 88 to 55 computations (37.5% saved)

bsearch122.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
63.0ms
1.4478825126045238e-27
3.866108660305141e-27
58.0ms
-0.0004093905845400458
-3.029191699827036e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes19.0ms (0.1%)

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

2 calls:

13.0ms
eps
5.0ms
x
Results
ErrorSegmentsBranch
40.3b1x
34.6b3eps
Compiler

Compiled 33 to 23 computations (30.3% saved)

bsearch115.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
56.0ms
0.0008569044353900222
5.962625102886873
58.0ms
-0.0004093905845400458
-3.029191699827036e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes11.0ms (0%)

Accuracy

Total -6.5b remaining (-12.4%)

Threshold costs -6.5b (-12.4%)

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

2 calls:

5.0ms
eps
4.0ms
x
Results
ErrorSegmentsBranch
52.3b1x
52.3b1eps
Compiler

Compiled 29 to 20 computations (31% saved)

simplify40.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0115851
1188851
2231851
3251851
4261851
5263851
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 eps -2287725668430619/144115188075855872) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.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))))) -2) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.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 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(if (<=.f64 eps -7551923339196579/18446744073709551616) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (cos.f64 x))) (*.f64 eps (sin.f64 x))) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 x -296173270697507/3064991081731777716716694054300618367237478244367204352) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 x 8426514357657687/1461501637330902918203684832716283019655932542976) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (*.f64 (sin.f64 x) (neg.f64 eps))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 8072214747750447/5575186299632655785383929568162090376495104) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 8072214747750447/5575186299632655785383929568162090376495104) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (*.f64 -1/2 eps)) (-.f64 (cos.f64 eps) 1)))
(*.f64 eps (*.f64 -1/2 eps))
Outputs
(if (<=.f64 eps -2287725668430619/144115188075855872) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.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))))) -2) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 x) (pow.f64 eps 2))) (+.f64 (*.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 3))) (+.f64 (sin.f64 x) (*.f64 1/2 (*.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)))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)))) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps))) (cos.f64 x))) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (neg.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/6 eps))) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(if (<=.f64 eps -2287725668430619/144115188075855872) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24)))) (*.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 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (+.f64 eps x))))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (cos.f64 x))) (*.f64 eps (sin.f64 x))) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2)) (*.f64 eps (sin.f64 x))) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 x -296173270697507/3064991081731777716716694054300618367237478244367204352) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 x 8426514357657687/1461501637330902918203684832716283019655932542976) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (*.f64 (sin.f64 x) (neg.f64 eps))))
(if (<=.f64 x -296173270697507/3064991081731777716716694054300618367237478244367204352) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 x 8426514357657687/1461501637330902918203684832716283019655932542976) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (*.f64 (sin.f64 x) (neg.f64 eps))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 8072214747750447/5575186299632655785383929568162090376495104) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 8072214747750447/5575186299632655785383929568162090376495104) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps 8072214747750447/5575186299632655785383929568162090376495104) (*.f64 (sin.f64 x) (neg.f64 eps)) (+.f64 (cos.f64 eps) -1)))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (*.f64 -1/2 eps)) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (*.f64 eps -1/2)) (+.f64 (cos.f64 eps) -1)))
(*.f64 eps (*.f64 -1/2 eps))
(*.f64 eps (*.f64 eps -1/2))
Compiler

Compiled 577 to 330 computations (42.8% saved)

soundness0.0ms (0%)

end193.0ms (0.9%)

Compiler

Compiled 551 to 236 computations (57.2% saved)

Profiling

Loading profile data...