\cos \left(x + \varepsilon\right) - \cos x
\left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \cos x + \cos \left(\frac{\varepsilon}{2}\right) \cdot \sin x\right) \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot -2\right)double f(double x, double eps) {
double r790607 = x;
double r790608 = eps;
double r790609 = r790607 + r790608;
double r790610 = cos(r790609);
double r790611 = cos(r790607);
double r790612 = r790610 - r790611;
return r790612;
}
double f(double x, double eps) {
double r790613 = eps;
double r790614 = 2.0;
double r790615 = r790613 / r790614;
double r790616 = sin(r790615);
double r790617 = x;
double r790618 = cos(r790617);
double r790619 = r790616 * r790618;
double r790620 = cos(r790615);
double r790621 = sin(r790617);
double r790622 = r790620 * r790621;
double r790623 = r790619 + r790622;
double r790624 = -2.0;
double r790625 = r790616 * r790624;
double r790626 = r790623 * r790625;
return r790626;
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.9
rmApplied diff-cos34.1
Simplified15.4
Taylor expanded around inf 15.4
Simplified15.4
rmApplied fma-udef15.4
Applied sin-sum0.4
Simplified0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))