\cos \left(x + \varepsilon\right) - \cos x
\left(\left(\sin x \cdot \cos \left(\frac{1}{2} \cdot \varepsilon\right) + \sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \cos x\right) \cdot \sin \left(\frac{1}{2} \cdot \varepsilon\right)\right) \cdot -2double f(double x, double eps) {
double r78895 = x;
double r78896 = eps;
double r78897 = r78895 + r78896;
double r78898 = cos(r78897);
double r78899 = cos(r78895);
double r78900 = r78898 - r78899;
return r78900;
}
double f(double x, double eps) {
double r78901 = x;
double r78902 = sin(r78901);
double r78903 = 0.5;
double r78904 = eps;
double r78905 = r78903 * r78904;
double r78906 = cos(r78905);
double r78907 = r78902 * r78906;
double r78908 = sin(r78905);
double r78909 = cos(r78901);
double r78910 = r78908 * r78909;
double r78911 = r78907 + r78910;
double r78912 = r78911 * r78908;
double r78913 = -2.0;
double r78914 = r78912 * r78913;
return r78914;
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.5
rmApplied diff-cos34.0
Simplified15.1
rmApplied pow115.1
Applied pow115.1
Applied pow-prod-down15.1
Simplified15.1
rmApplied distribute-lft-in15.1
Applied sin-sum0.4
Simplified0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2020045
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
:precision binary64
(- (cos (+ x eps)) (cos x)))