\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 r20305 = x;
double r20306 = eps;
double r20307 = r20305 + r20306;
double r20308 = cos(r20307);
double r20309 = cos(r20305);
double r20310 = r20308 - r20309;
return r20310;
}
double f(double x, double eps) {
double r20311 = 0.5;
double r20312 = eps;
double r20313 = r20311 * r20312;
double r20314 = sin(r20313);
double r20315 = x;
double r20316 = cos(r20315);
double r20317 = r20314 * r20316;
double r20318 = cos(r20313);
double r20319 = cbrt(r20318);
double r20320 = r20319 * r20319;
double r20321 = sin(r20315);
double r20322 = r20319 * r20321;
double r20323 = r20320 * r20322;
double r20324 = r20317 + r20323;
double r20325 = -2.0;
double r20326 = r20314 * r20325;
double r20327 = r20324 * r20326;
return r20327;
}



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)))