\cos \left(x + \varepsilon\right) - \cos x
\frac{\left(\sin x \cdot \cos \left(\frac{1}{2} \cdot \varepsilon\right)\right) \cdot \left(\sin x \cdot \cos \left(\frac{1}{2} \cdot \varepsilon\right)\right) - \left(\cos x \cdot \sin \left(\frac{1}{2} \cdot \varepsilon\right)\right) \cdot \left(\cos x \cdot \sin \left(\frac{1}{2} \cdot \varepsilon\right)\right)}{\sin x \cdot \cos \left(\frac{1}{2} \cdot \varepsilon\right) - \cos x \cdot \sin \left(\frac{1}{2} \cdot \varepsilon\right)} \cdot \left(\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot -2\right)double f(double x, double eps) {
double r1740679 = x;
double r1740680 = eps;
double r1740681 = r1740679 + r1740680;
double r1740682 = cos(r1740681);
double r1740683 = cos(r1740679);
double r1740684 = r1740682 - r1740683;
return r1740684;
}
double f(double x, double eps) {
double r1740685 = x;
double r1740686 = sin(r1740685);
double r1740687 = 0.5;
double r1740688 = eps;
double r1740689 = r1740687 * r1740688;
double r1740690 = cos(r1740689);
double r1740691 = r1740686 * r1740690;
double r1740692 = r1740691 * r1740691;
double r1740693 = cos(r1740685);
double r1740694 = sin(r1740689);
double r1740695 = r1740693 * r1740694;
double r1740696 = r1740695 * r1740695;
double r1740697 = r1740692 - r1740696;
double r1740698 = r1740691 - r1740695;
double r1740699 = r1740697 / r1740698;
double r1740700 = -2.0;
double r1740701 = r1740694 * r1740700;
double r1740702 = r1740699 * r1740701;
return r1740702;
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.8
rmApplied diff-cos34.2
Simplified15.3
Taylor expanded around inf 15.3
Simplified15.3
rmApplied sin-sum0.4
rmApplied flip-+0.4
Final simplification0.4
herbie shell --seed 2019151
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))