\cos \left(x + \varepsilon\right) - \cos x
-2 \cdot \left(\cos \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \left(\sin x \cdot \sin \left(\frac{1}{2} \cdot \varepsilon\right)\right)\right) + \left(\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot -2\right) \cdot \left(\sin \left(\frac{1}{2} \cdot \varepsilon\right) \cdot \cos x\right)double f(double x, double eps) {
double r34698 = x;
double r34699 = eps;
double r34700 = r34698 + r34699;
double r34701 = cos(r34700);
double r34702 = cos(r34698);
double r34703 = r34701 - r34702;
return r34703;
}
double f(double x, double eps) {
double r34704 = -2.0;
double r34705 = 0.5;
double r34706 = eps;
double r34707 = r34705 * r34706;
double r34708 = cos(r34707);
double r34709 = x;
double r34710 = sin(r34709);
double r34711 = sin(r34707);
double r34712 = r34710 * r34711;
double r34713 = r34708 * r34712;
double r34714 = r34704 * r34713;
double r34715 = r34711 * r34704;
double r34716 = cos(r34709);
double r34717 = r34711 * r34716;
double r34718 = r34715 * r34717;
double r34719 = r34714 + r34718;
return r34719;
}



Bits error versus x



Bits error versus eps
Results
Initial program 39.9
Simplified39.9
rmApplied diff-cos34.3
Simplified15.6
Taylor expanded around inf 15.6
Simplified15.6
rmApplied sin-sum0.4
Applied distribute-lft-in0.4
Applied distribute-lft-in0.4
Simplified0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019179
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
(- (cos (+ x eps)) (cos x)))