\cos \left(x + \varepsilon\right) - \cos x
\left(\sin \left(\varepsilon \cdot \frac{1}{2}\right) \cdot \left(\cos x \cdot \sin \left(\varepsilon \cdot \frac{1}{2}\right) + \left(\sin x \cdot \left(\sqrt[3]{\cos \left(\varepsilon \cdot \frac{1}{2}\right)} \cdot \sqrt[3]{\cos \left(\varepsilon \cdot \frac{1}{2}\right)}\right)\right) \cdot \sqrt[3]{\cos \left(\varepsilon \cdot \frac{1}{2}\right)}\right)\right) \cdot -2double f(double x, double eps) {
double r1831998 = x;
double r1831999 = eps;
double r1832000 = r1831998 + r1831999;
double r1832001 = cos(r1832000);
double r1832002 = cos(r1831998);
double r1832003 = r1832001 - r1832002;
return r1832003;
}
double f(double x, double eps) {
double r1832004 = eps;
double r1832005 = 0.5;
double r1832006 = r1832004 * r1832005;
double r1832007 = sin(r1832006);
double r1832008 = x;
double r1832009 = cos(r1832008);
double r1832010 = r1832009 * r1832007;
double r1832011 = sin(r1832008);
double r1832012 = cos(r1832006);
double r1832013 = cbrt(r1832012);
double r1832014 = r1832013 * r1832013;
double r1832015 = r1832011 * r1832014;
double r1832016 = r1832015 * r1832013;
double r1832017 = r1832010 + r1832016;
double r1832018 = r1832007 * r1832017;
double r1832019 = -2.0;
double r1832020 = r1832018 * r1832019;
return r1832020;
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.0
rmApplied diff-cos33.4
Simplified15.3
Taylor expanded around inf 15.2
Simplified15.2
rmApplied sin-sum0.4
rmApplied add-cube-cbrt0.5
Applied associate-*r*0.5
Final simplification0.5
herbie shell --seed 2019165
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))