\cos \left(x + \varepsilon\right) - \cos x
\left(\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \cos x + \left(\sqrt[3]{\cos \left(\frac{1}{2} \cdot \varepsilon\right)} \cdot \sqrt[3]{\cos \left(\frac{1}{2} \cdot \varepsilon\right)}\right) \cdot \left(\sqrt[3]{\cos \left(\frac{1}{2} \cdot \varepsilon\right)} \cdot \sin x\right)\right) \cdot \left(\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot -2\right)double f(double x, double eps) {
double r59255 = x;
double r59256 = eps;
double r59257 = r59255 + r59256;
double r59258 = cos(r59257);
double r59259 = cos(r59255);
double r59260 = r59258 - r59259;
return r59260;
}
double f(double x, double eps) {
double r59261 = 0.5;
double r59262 = eps;
double r59263 = r59261 * r59262;
double r59264 = sin(r59263);
double r59265 = x;
double r59266 = cos(r59265);
double r59267 = r59264 * r59266;
double r59268 = cos(r59263);
double r59269 = cbrt(r59268);
double r59270 = r59269 * r59269;
double r59271 = sin(r59265);
double r59272 = r59269 * r59271;
double r59273 = r59270 * r59272;
double r59274 = r59267 + r59273;
double r59275 = -2.0;
double r59276 = r59264 * r59275;
double r59277 = r59274 * r59276;
return r59277;
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.1
rmApplied diff-cos33.5
Simplified14.9
Taylor expanded around inf 14.9
Simplified14.9
rmApplied sin-sum0.4
rmApplied add-cube-cbrt0.5
Applied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2019323
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
:precision binary64
(- (cos (+ x eps)) (cos x)))