double f(double x, double eps) {
double r2299737 = x;
double r2299738 = eps;
double r2299739 = r2299737 + r2299738;
double r2299740 = cos(r2299739);
double r2299741 = cos(r2299737);
double r2299742 = r2299740 - r2299741;
return r2299742;
}
double f(double x, double eps) {
double r2299743 = eps;
double r2299744 = 2.0;
double r2299745 = r2299743 / r2299744;
double r2299746 = sin(r2299745);
double r2299747 = x;
double r2299748 = cos(r2299747);
double r2299749 = 0.5;
double r2299750 = r2299743 * r2299749;
double r2299751 = sin(r2299750);
double r2299752 = r2299748 * r2299751;
double r2299753 = sin(r2299747);
double r2299754 = cos(r2299750);
double r2299755 = r2299753 * r2299754;
double r2299756 = r2299752 + r2299755;
double r2299757 = -2.0;
double r2299758 = r2299756 * r2299757;
double r2299759 = r2299746 * r2299758;
return r2299759;
}
\cos \left(x + \varepsilon\right) - \cos x
\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\left(\cos x \cdot \sin \left(\varepsilon \cdot \frac{1}{2}\right) + \sin x \cdot \cos \left(\varepsilon \cdot \frac{1}{2}\right)\right) \cdot -2\right)


Bits error versus x



Bits error versus eps
Initial program 39.6
rmApplied diff-cos33.8
Simplified15.1
rmApplied associate-*r*15.1
Taylor expanded around inf 15.1
Simplified15.1
rmApplied fma-udef15.1
Applied sin-sum0.4
Final simplification0.4
herbie shell --seed 2019102 +o rules:numerics
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))