\cos \left(x + \varepsilon\right) - \cos x
\begin{array}{l}
\mathbf{if}\;\varepsilon \le -1230266.91359658050350844860076904296875:\\
\;\;\;\;\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right) - \cos x\\
\mathbf{elif}\;\varepsilon \le 9.350772251334056302338876287549851440417 \cdot 10^{-5}:\\
\;\;\;\;\left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\sqrt[3]{\sin \left(\frac{\left(x + \varepsilon\right) + x}{2}\right) \cdot \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) \cdot -2\\
\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 r2675173 = x;
double r2675174 = eps;
double r2675175 = r2675173 + r2675174;
double r2675176 = cos(r2675175);
double r2675177 = cos(r2675173);
double r2675178 = r2675176 - r2675177;
return r2675178;
}
double f(double x, double eps) {
double r2675179 = eps;
double r2675180 = -1230266.9135965805;
bool r2675181 = r2675179 <= r2675180;
double r2675182 = x;
double r2675183 = cos(r2675182);
double r2675184 = cos(r2675179);
double r2675185 = r2675183 * r2675184;
double r2675186 = sin(r2675182);
double r2675187 = sin(r2675179);
double r2675188 = r2675186 * r2675187;
double r2675189 = r2675185 - r2675188;
double r2675190 = r2675189 - r2675183;
double r2675191 = 9.350772251334056e-05;
bool r2675192 = r2675179 <= r2675191;
double r2675193 = 2.0;
double r2675194 = r2675179 / r2675193;
double r2675195 = sin(r2675194);
double r2675196 = r2675182 + r2675179;
double r2675197 = r2675196 + r2675182;
double r2675198 = r2675197 / r2675193;
double r2675199 = sin(r2675198);
double r2675200 = r2675199 * r2675199;
double r2675201 = cbrt(r2675200);
double r2675202 = cbrt(r2675199);
double r2675203 = r2675201 * r2675202;
double r2675204 = r2675195 * r2675203;
double r2675205 = -2.0;
double r2675206 = r2675204 * r2675205;
double r2675207 = r2675192 ? r2675206 : r2675190;
double r2675208 = r2675181 ? r2675190 : r2675207;
return r2675208;
}



Bits error versus x



Bits error versus eps
Results
if eps < -1230266.9135965805 or 9.350772251334056e-05 < eps Initial program 30.2
rmApplied cos-sum0.8
if -1230266.9135965805 < eps < 9.350772251334056e-05Initial program 49.0
rmApplied diff-cos37.6
Simplified1.0
rmApplied add-cbrt-cube4.9
rmApplied cbrt-prod1.6
Final simplification1.2
herbie shell --seed 2019171
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))