\cos \left(x + \varepsilon\right) - \cos x
\left(\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot -2\right) \cdot \mathsf{fma}\left(\cos \left(\frac{1}{2} \cdot \varepsilon\right), \sin x, \sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \cos x\right)double f(double x, double eps) {
double r1691042 = x;
double r1691043 = eps;
double r1691044 = r1691042 + r1691043;
double r1691045 = cos(r1691044);
double r1691046 = cos(r1691042);
double r1691047 = r1691045 - r1691046;
return r1691047;
}
double f(double x, double eps) {
double r1691048 = 0.5;
double r1691049 = eps;
double r1691050 = r1691048 * r1691049;
double r1691051 = sin(r1691050);
double r1691052 = -2.0;
double r1691053 = r1691051 * r1691052;
double r1691054 = cos(r1691050);
double r1691055 = x;
double r1691056 = sin(r1691055);
double r1691057 = cos(r1691055);
double r1691058 = r1691051 * r1691057;
double r1691059 = fma(r1691054, r1691056, r1691058);
double r1691060 = r1691053 * r1691059;
return r1691060;
}



Bits error versus x



Bits error versus eps
Initial program 40.4
rmApplied diff-cos34.5
Simplified15.6
Taylor expanded around inf 15.6
Simplified15.6
rmApplied fma-udef15.6
Applied sin-sum0.4
Simplified0.4
Simplified0.4
Taylor expanded around inf 0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019162 +o rules:numerics
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))