\cos \left(x + \varepsilon\right) - \cos x
\left(\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \cos x + \sin x \cdot \cos \left(\frac{1}{2} \cdot \varepsilon\right)\right) \cdot \left(\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot -2\right)double f(double x, double eps) {
double r6403462 = x;
double r6403463 = eps;
double r6403464 = r6403462 + r6403463;
double r6403465 = cos(r6403464);
double r6403466 = cos(r6403462);
double r6403467 = r6403465 - r6403466;
return r6403467;
}
double f(double x, double eps) {
double r6403468 = 0.5;
double r6403469 = eps;
double r6403470 = r6403468 * r6403469;
double r6403471 = sin(r6403470);
double r6403472 = x;
double r6403473 = cos(r6403472);
double r6403474 = r6403471 * r6403473;
double r6403475 = sin(r6403472);
double r6403476 = cos(r6403470);
double r6403477 = r6403475 * r6403476;
double r6403478 = r6403474 + r6403477;
double r6403479 = -2.0;
double r6403480 = r6403471 * r6403479;
double r6403481 = r6403478 * r6403480;
return r6403481;
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.5
rmApplied diff-cos34.1
Simplified15.2
Taylor expanded around -inf 15.2
Simplified15.2
rmApplied sin-sum0.4
Final simplification0.4
herbie shell --seed 2019107
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))