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



Bits error versus x



Bits error versus eps
Results
Initial program 39.5
rmApplied +-commutative39.5
Applied cos-sum24.4
Applied associate--l-24.4
rmApplied +-commutative24.4
Applied associate--r+6.3
rmApplied *-un-lft-identity6.3
Applied distribute-rgt-out--6.3
rmApplied flip--6.6
Applied associate-*r/6.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2020113
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
:precision binary64
(- (cos (+ x eps)) (cos x)))