\cos \left(x + \varepsilon\right) - \cos x
\left(\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \cos x\right) \cdot \left(-2 \cdot \sin \left(\frac{1}{2} \cdot \varepsilon\right)\right) + \left(\cos \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \sin x\right) \cdot \left(-2 \cdot \sin \left(\frac{1}{2} \cdot \varepsilon\right)\right)double f(double x, double eps) {
double r30780 = x;
double r30781 = eps;
double r30782 = r30780 + r30781;
double r30783 = cos(r30782);
double r30784 = cos(r30780);
double r30785 = r30783 - r30784;
return r30785;
}
double f(double x, double eps) {
double r30786 = 0.5;
double r30787 = eps;
double r30788 = r30786 * r30787;
double r30789 = sin(r30788);
double r30790 = x;
double r30791 = cos(r30790);
double r30792 = r30789 * r30791;
double r30793 = -2.0;
double r30794 = r30793 * r30789;
double r30795 = r30792 * r30794;
double r30796 = cos(r30788);
double r30797 = sin(r30790);
double r30798 = r30796 * r30797;
double r30799 = r30798 * r30794;
double r30800 = r30795 + r30799;
return r30800;
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.5
rmApplied diff-cos34.0
Simplified14.5
Taylor expanded around inf 14.5
Simplified14.5
rmApplied sin-sum0.4
Applied distribute-lft-in0.4
Simplified0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019208
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
:precision binary64
(- (cos (+ x eps)) (cos x)))