\cos \left(x + \varepsilon\right) - \cos x
\frac{\left(\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \cos x - \cos \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \sin x\right) \cdot \left(\cos \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \sin x + \sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \cos x\right)}{\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \cos x - \cos \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \sin x} \cdot \left(\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot -2\right)double f(double x, double eps) {
double r48406 = x;
double r48407 = eps;
double r48408 = r48406 + r48407;
double r48409 = cos(r48408);
double r48410 = cos(r48406);
double r48411 = r48409 - r48410;
return r48411;
}
double f(double x, double eps) {
double r48412 = 0.5;
double r48413 = eps;
double r48414 = r48412 * r48413;
double r48415 = sin(r48414);
double r48416 = x;
double r48417 = cos(r48416);
double r48418 = r48415 * r48417;
double r48419 = cos(r48414);
double r48420 = sin(r48416);
double r48421 = r48419 * r48420;
double r48422 = r48418 - r48421;
double r48423 = r48421 + r48418;
double r48424 = r48422 * r48423;
double r48425 = r48424 / r48422;
double r48426 = -2.0;
double r48427 = r48415 * r48426;
double r48428 = r48425 * r48427;
return r48428;
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.7
rmApplied diff-cos34.1
Simplified15.0
Taylor expanded around inf 15.0
Simplified15.0
rmApplied sin-sum0.4
rmApplied flip-+0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019347
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
:precision binary64
(- (cos (+ x eps)) (cos x)))