\cos \left(x + \varepsilon\right) - \cos x
\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(\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot -2\right)double f(double x, double eps) {
double r31370 = x;
double r31371 = eps;
double r31372 = r31370 + r31371;
double r31373 = cos(r31372);
double r31374 = cos(r31370);
double r31375 = r31373 - r31374;
return r31375;
}
double f(double x, double eps) {
double r31376 = 0.5;
double r31377 = eps;
double r31378 = r31376 * r31377;
double r31379 = sin(r31378);
double r31380 = x;
double r31381 = cos(r31380);
double r31382 = r31379 * r31381;
double r31383 = cos(r31378);
double r31384 = sin(r31380);
double r31385 = r31383 * r31384;
double r31386 = r31382 + r31385;
double r31387 = -2.0;
double r31388 = r31379 * r31387;
double r31389 = r31386 * r31388;
return r31389;
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.8
rmApplied diff-cos34.2
Simplified15.5
Taylor expanded around inf 15.5
Simplified15.5
rmApplied fma-udef15.5
Applied sin-sum0.4
Final simplification0.4
herbie shell --seed 2019209 +o rules:numerics
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
:precision binary64
(- (cos (+ x eps)) (cos x)))