\cos \left(x + \varepsilon\right) - \cos x
\left(\sin \left(\varepsilon \cdot \frac{1}{2}\right) \cdot \cos x\right) \cdot \left(\sin \left(\varepsilon \cdot \frac{1}{2}\right) \cdot -2\right) + \left(\sin x \cdot \cos \left(\varepsilon \cdot \frac{1}{2}\right)\right) \cdot \left(\sin \left(\varepsilon \cdot \frac{1}{2}\right) \cdot -2\right)double f(double x, double eps) {
double r1105849 = x;
double r1105850 = eps;
double r1105851 = r1105849 + r1105850;
double r1105852 = cos(r1105851);
double r1105853 = cos(r1105849);
double r1105854 = r1105852 - r1105853;
return r1105854;
}
double f(double x, double eps) {
double r1105855 = eps;
double r1105856 = 0.5;
double r1105857 = r1105855 * r1105856;
double r1105858 = sin(r1105857);
double r1105859 = x;
double r1105860 = cos(r1105859);
double r1105861 = r1105858 * r1105860;
double r1105862 = -2.0;
double r1105863 = r1105858 * r1105862;
double r1105864 = r1105861 * r1105863;
double r1105865 = sin(r1105859);
double r1105866 = cos(r1105857);
double r1105867 = r1105865 * r1105866;
double r1105868 = r1105867 * r1105863;
double r1105869 = r1105864 + r1105868;
return r1105869;
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.7
rmApplied diff-cos34.3
Simplified15.3
Taylor expanded around -inf 15.3
Simplified15.3
rmApplied sin-sum0.4
rmApplied distribute-rgt-in0.4
Final simplification0.4
herbie shell --seed 2019128
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))