\cos \left(x + \varepsilon\right) - \cos x
\frac{\left(\sin x \cdot \cos \left(\frac{1}{2} \cdot \varepsilon\right)\right) \cdot \left(\sin x \cdot \cos \left(\frac{1}{2} \cdot \varepsilon\right)\right) - \left(\cos x \cdot \sin \left(\frac{1}{2} \cdot \varepsilon\right)\right) \cdot \left(\cos x \cdot \sin \left(\frac{1}{2} \cdot \varepsilon\right)\right)}{\sin x \cdot \cos \left(\frac{1}{2} \cdot \varepsilon\right) - \cos x \cdot \sin \left(\frac{1}{2} \cdot \varepsilon\right)} \cdot \left(\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot -2\right)double f(double x, double eps) {
double r1616409 = x;
double r1616410 = eps;
double r1616411 = r1616409 + r1616410;
double r1616412 = cos(r1616411);
double r1616413 = cos(r1616409);
double r1616414 = r1616412 - r1616413;
return r1616414;
}
double f(double x, double eps) {
double r1616415 = x;
double r1616416 = sin(r1616415);
double r1616417 = 0.5;
double r1616418 = eps;
double r1616419 = r1616417 * r1616418;
double r1616420 = cos(r1616419);
double r1616421 = r1616416 * r1616420;
double r1616422 = r1616421 * r1616421;
double r1616423 = cos(r1616415);
double r1616424 = sin(r1616419);
double r1616425 = r1616423 * r1616424;
double r1616426 = r1616425 * r1616425;
double r1616427 = r1616422 - r1616426;
double r1616428 = r1616421 - r1616425;
double r1616429 = r1616427 / r1616428;
double r1616430 = -2.0;
double r1616431 = r1616424 * r1616430;
double r1616432 = r1616429 * r1616431;
return r1616432;
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.6
rmApplied diff-cos34.2
Simplified15.3
Taylor expanded around -inf 15.3
Simplified15.3
rmApplied sin-sum0.4
rmApplied flip-+0.4
Final simplification0.4
herbie shell --seed 2019141
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))