\cos \left(x + \varepsilon\right) - \cos x
\begin{array}{l}
\mathbf{if}\;x \le -8.56774410847329512 \cdot 10^{-16}:\\
\;\;\;\;\frac{\frac{{\left({\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right)}^{3}\right)}^{3} - {\left({\left(\cos x\right)}^{3}\right)}^{3}}{\left({\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right)}^{6} + {\left(\cos x\right)}^{6}\right) + {\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right)}^{3} \cdot {\left(\cos x\right)}^{3}}}{\left(\cos \varepsilon \cdot \cos x - \sin x \cdot \sin \varepsilon\right) \cdot \sqrt[3]{{\left(\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right) + \cos x\right)}^{3}} + \cos x \cdot \cos x}\\
\mathbf{elif}\;x \le 1.44278688709749027 \cdot 10^{-22}:\\
\;\;\;\;-2 \cdot \left(\sin \left(\frac{\left(x + \varepsilon\right) - x}{2}\right) \cdot \sin \left(\frac{\left(x + \varepsilon\right) + x}{2}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{{\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right)}^{2} \cdot \left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right) - {\left(\cos x\right)}^{3}}{\left(\cos \varepsilon \cdot \cos x - \sin x \cdot \sin \varepsilon\right) \cdot \left(\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right) + \cos x\right) + \cos x \cdot \cos x}\\
\end{array}double code(double x, double eps) {
return ((double) (((double) cos(((double) (x + eps)))) - ((double) cos(x))));
}
double code(double x, double eps) {
double VAR;
if ((x <= -8.567744108473295e-16)) {
VAR = ((double) (((double) (((double) (((double) pow(((double) pow(((double) (((double) (((double) cos(x)) * ((double) cos(eps)))) - ((double) (((double) sin(x)) * ((double) sin(eps)))))), 3.0)), 3.0)) - ((double) pow(((double) pow(((double) cos(x)), 3.0)), 3.0)))) / ((double) (((double) (((double) pow(((double) (((double) (((double) cos(x)) * ((double) cos(eps)))) - ((double) (((double) sin(x)) * ((double) sin(eps)))))), 6.0)) + ((double) pow(((double) cos(x)), 6.0)))) + ((double) (((double) pow(((double) (((double) (((double) cos(x)) * ((double) cos(eps)))) - ((double) (((double) sin(x)) * ((double) sin(eps)))))), 3.0)) * ((double) pow(((double) cos(x)), 3.0)))))))) / ((double) (((double) (((double) (((double) (((double) cos(eps)) * ((double) cos(x)))) - ((double) (((double) sin(x)) * ((double) sin(eps)))))) * ((double) cbrt(((double) pow(((double) (((double) (((double) (((double) cos(x)) * ((double) cos(eps)))) - ((double) (((double) sin(x)) * ((double) sin(eps)))))) + ((double) cos(x)))), 3.0)))))) + ((double) (((double) cos(x)) * ((double) cos(x))))))));
} else {
double VAR_1;
if ((x <= 1.4427868870974903e-22)) {
VAR_1 = ((double) (-2.0 * ((double) (((double) sin(((double) (((double) (((double) (x + eps)) - x)) / 2.0)))) * ((double) sin(((double) (((double) (((double) (x + eps)) + x)) / 2.0))))))));
} else {
VAR_1 = ((double) (((double) (((double) (((double) pow(((double) (((double) (((double) cos(x)) * ((double) cos(eps)))) - ((double) (((double) sin(x)) * ((double) sin(eps)))))), 2.0)) * ((double) (((double) (((double) cos(x)) * ((double) cos(eps)))) - ((double) (((double) sin(x)) * ((double) sin(eps)))))))) - ((double) pow(((double) cos(x)), 3.0)))) / ((double) (((double) (((double) (((double) (((double) cos(eps)) * ((double) cos(x)))) - ((double) (((double) sin(x)) * ((double) sin(eps)))))) * ((double) (((double) (((double) (((double) cos(x)) * ((double) cos(eps)))) - ((double) (((double) sin(x)) * ((double) sin(eps)))))) + ((double) cos(x)))))) + ((double) (((double) cos(x)) * ((double) cos(x))))))));
}
VAR = VAR_1;
}
return VAR;
}



Bits error versus x



Bits error versus eps
Results
if x < -8.567744108473295e-16Initial program 58.4
rmApplied cos-sum29.2
rmApplied flip3--29.3
Simplified29.3
rmApplied add-cbrt-cube29.3
Simplified29.3
rmApplied flip3--29.4
Simplified29.4
if -8.567744108473295e-16 < x < 1.4427868870974903e-22Initial program 18.6
rmApplied diff-cos6.4
if 1.4427868870974903e-22 < x Initial program 57.6
rmApplied cos-sum28.8
rmApplied flip3--28.9
Simplified28.9
rmApplied add-cube-cbrt29.9
Applied unpow-prod-down30.0
Simplified29.5
Simplified29.0
Final simplification18.4
herbie shell --seed 2020126
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
:precision binary64
(- (cos (+ x eps)) (cos x)))