\cos \left(x + \varepsilon\right) - \cos x
\cos x \cdot \frac{\sin \varepsilon \cdot \sin \varepsilon}{-1 - \cos \varepsilon} - \sin \varepsilon \cdot \sin x(FPCore (x eps) :precision binary64 (- (cos (+ x eps)) (cos x)))
(FPCore (x eps) :precision binary64 (- (* (cos x) (/ (* (sin eps) (sin eps)) (- -1.0 (cos eps)))) (* (sin eps) (sin x))))
double code(double x, double eps) {
return cos(x + eps) - cos(x);
}
double code(double x, double eps) {
return (cos(x) * ((sin(eps) * sin(eps)) / (-1.0 - cos(eps)))) - (sin(eps) * sin(x));
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.7
rmApplied cos-sum_binary64_21224.0
Simplified24.0
Simplified24.0
Taylor expanded around inf 24.0
Simplified6.1
rmApplied flip-+_binary64_526.4
Simplified0.6
Final simplification0.6
herbie shell --seed 2021098
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
:precision binary64
(- (cos (+ x eps)) (cos x)))