\cos \left(x + \varepsilon\right) - \cos x
\left(\frac{\left(\cos \left(\frac{\varepsilon}{2}\right) \cdot \sin x\right) \cdot \left(\cos \left(\frac{\varepsilon}{2}\right) \cdot \sin x\right) - \left(\cos x \cdot \sin \left(\frac{\varepsilon}{2}\right)\right) \cdot \left(\cos x \cdot \sin \left(\frac{\varepsilon}{2}\right)\right)}{\cos \left(\frac{\varepsilon}{2}\right) \cdot \sin x - \cos x \cdot \sin \left(\frac{\varepsilon}{2}\right)} \cdot -2\right) \cdot \sin \left(\frac{\varepsilon}{2}\right)double f(double x, double eps) {
double r1946300 = x;
double r1946301 = eps;
double r1946302 = r1946300 + r1946301;
double r1946303 = cos(r1946302);
double r1946304 = cos(r1946300);
double r1946305 = r1946303 - r1946304;
return r1946305;
}
double f(double x, double eps) {
double r1946306 = eps;
double r1946307 = 2.0;
double r1946308 = r1946306 / r1946307;
double r1946309 = cos(r1946308);
double r1946310 = x;
double r1946311 = sin(r1946310);
double r1946312 = r1946309 * r1946311;
double r1946313 = r1946312 * r1946312;
double r1946314 = cos(r1946310);
double r1946315 = sin(r1946308);
double r1946316 = r1946314 * r1946315;
double r1946317 = r1946316 * r1946316;
double r1946318 = r1946313 - r1946317;
double r1946319 = r1946312 - r1946316;
double r1946320 = r1946318 / r1946319;
double r1946321 = -2.0;
double r1946322 = r1946320 * r1946321;
double r1946323 = r1946322 * r1946315;
return r1946323;
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.1
rmApplied diff-cos33.8
Simplified15.0
Taylor expanded around inf 15.0
Simplified14.9
rmApplied sin-sum0.4
rmApplied flip-+0.4
Final simplification0.4
herbie shell --seed 2019168
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))