\cos \left(x + \varepsilon\right) - \cos x
\begin{array}{l}
\mathbf{if}\;\varepsilon \le -3.156576232300930215672520734448980306297 \cdot 10^{-7}:\\
\;\;\;\;\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right) - \cos x\\
\mathbf{elif}\;\varepsilon \le 8.248660376627990132355344732317803391197 \cdot 10^{-5}:\\
\;\;\;\;-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{\left(x + \varepsilon\right) + x}{2}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right) - \cos x\\
\end{array}double f(double x, double eps) {
double r4254426 = x;
double r4254427 = eps;
double r4254428 = r4254426 + r4254427;
double r4254429 = cos(r4254428);
double r4254430 = cos(r4254426);
double r4254431 = r4254429 - r4254430;
return r4254431;
}
double f(double x, double eps) {
double r4254432 = eps;
double r4254433 = -3.15657623230093e-07;
bool r4254434 = r4254432 <= r4254433;
double r4254435 = x;
double r4254436 = cos(r4254435);
double r4254437 = cos(r4254432);
double r4254438 = r4254436 * r4254437;
double r4254439 = sin(r4254435);
double r4254440 = sin(r4254432);
double r4254441 = r4254439 * r4254440;
double r4254442 = r4254438 - r4254441;
double r4254443 = r4254442 - r4254436;
double r4254444 = 8.24866037662799e-05;
bool r4254445 = r4254432 <= r4254444;
double r4254446 = -2.0;
double r4254447 = 2.0;
double r4254448 = r4254432 / r4254447;
double r4254449 = sin(r4254448);
double r4254450 = r4254435 + r4254432;
double r4254451 = r4254450 + r4254435;
double r4254452 = r4254451 / r4254447;
double r4254453 = sin(r4254452);
double r4254454 = r4254449 * r4254453;
double r4254455 = r4254446 * r4254454;
double r4254456 = r4254445 ? r4254455 : r4254443;
double r4254457 = r4254434 ? r4254443 : r4254456;
return r4254457;
}



Bits error versus x



Bits error versus eps
Results
if eps < -3.15657623230093e-07 or 8.24866037662799e-05 < eps Initial program 30.4
rmApplied cos-sum0.9
if -3.15657623230093e-07 < eps < 8.24866037662799e-05Initial program 48.8
rmApplied diff-cos36.9
Simplified0.5
Final simplification0.7
herbie shell --seed 2019192
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))