\cos \left(x + \varepsilon\right) - \cos x
\begin{array}{l}
\mathbf{if}\;\varepsilon \le -7.2509140556996545 \cdot 10^{-06}:\\
\;\;\;\;\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right) - \cos x\\
\mathbf{elif}\;\varepsilon \le 6.905261741219337 \cdot 10^{-05}:\\
\;\;\;\;\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(-2 \cdot \left(\sqrt[3]{\sin \left(\frac{\left(x + \varepsilon\right) + x}{2}\right)} \cdot \left(\sqrt[3]{\sin \left(\frac{\left(x + \varepsilon\right) + x}{2}\right)} \cdot \sqrt[3]{\sin \left(\frac{\left(x + \varepsilon\right) + x}{2}\right)}\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\cos x \cdot \cos \varepsilon - \left(\cos x + \sin x \cdot \sin \varepsilon\right)\\
\end{array}double f(double x, double eps) {
double r2921349 = x;
double r2921350 = eps;
double r2921351 = r2921349 + r2921350;
double r2921352 = cos(r2921351);
double r2921353 = cos(r2921349);
double r2921354 = r2921352 - r2921353;
return r2921354;
}
double f(double x, double eps) {
double r2921355 = eps;
double r2921356 = -7.2509140556996545e-06;
bool r2921357 = r2921355 <= r2921356;
double r2921358 = x;
double r2921359 = cos(r2921358);
double r2921360 = cos(r2921355);
double r2921361 = r2921359 * r2921360;
double r2921362 = sin(r2921358);
double r2921363 = sin(r2921355);
double r2921364 = r2921362 * r2921363;
double r2921365 = r2921361 - r2921364;
double r2921366 = r2921365 - r2921359;
double r2921367 = 6.905261741219337e-05;
bool r2921368 = r2921355 <= r2921367;
double r2921369 = 2.0;
double r2921370 = r2921355 / r2921369;
double r2921371 = sin(r2921370);
double r2921372 = -2.0;
double r2921373 = r2921358 + r2921355;
double r2921374 = r2921373 + r2921358;
double r2921375 = r2921374 / r2921369;
double r2921376 = sin(r2921375);
double r2921377 = cbrt(r2921376);
double r2921378 = r2921377 * r2921377;
double r2921379 = r2921377 * r2921378;
double r2921380 = r2921372 * r2921379;
double r2921381 = r2921371 * r2921380;
double r2921382 = r2921359 + r2921364;
double r2921383 = r2921361 - r2921382;
double r2921384 = r2921368 ? r2921381 : r2921383;
double r2921385 = r2921357 ? r2921366 : r2921384;
return r2921385;
}



Bits error versus x



Bits error versus eps
Results
if eps < -7.2509140556996545e-06Initial program 30.3
rmApplied cos-sum1.0
if -7.2509140556996545e-06 < eps < 6.905261741219337e-05Initial program 49.0
rmApplied diff-cos37.6
Simplified0.5
rmApplied associate-*r*0.5
rmApplied add-cube-cbrt1.4
if 6.905261741219337e-05 < eps Initial program 30.7
rmApplied cos-sum0.9
Applied associate--l-0.9
Final simplification1.2
herbie shell --seed 2019124 +o rules:numerics
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))