\cos \left(x + \varepsilon\right) - \cos x
\left(-2 \cdot \left(\left(\sqrt[3]{\cos \left(\frac{1}{2} \cdot \varepsilon\right)} \cdot \sin x\right) \cdot \left(\sqrt[3]{\cos \left(\frac{1}{2} \cdot \varepsilon\right)} \cdot \sqrt[3]{\cos \left(\frac{1}{2} \cdot \varepsilon\right)}\right) + \sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \cos x\right)\right) \cdot \sin \left(\frac{1}{2} \cdot \varepsilon\right)double f(double x, double eps) {
double r1702867 = x;
double r1702868 = eps;
double r1702869 = r1702867 + r1702868;
double r1702870 = cos(r1702869);
double r1702871 = cos(r1702867);
double r1702872 = r1702870 - r1702871;
return r1702872;
}
double f(double x, double eps) {
double r1702873 = -2.0;
double r1702874 = 0.5;
double r1702875 = eps;
double r1702876 = r1702874 * r1702875;
double r1702877 = cos(r1702876);
double r1702878 = cbrt(r1702877);
double r1702879 = x;
double r1702880 = sin(r1702879);
double r1702881 = r1702878 * r1702880;
double r1702882 = r1702878 * r1702878;
double r1702883 = r1702881 * r1702882;
double r1702884 = sin(r1702876);
double r1702885 = cos(r1702879);
double r1702886 = r1702884 * r1702885;
double r1702887 = r1702883 + r1702886;
double r1702888 = r1702873 * r1702887;
double r1702889 = r1702888 * r1702884;
return r1702889;
}



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
rmApplied add-cube-cbrt0.5
Applied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))