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



Bits error versus x



Bits error versus eps
Results
Initial program 37.7
Final simplification37.7
herbie shell --seed 2020152
(FPCore (x eps)
:name "(/ (* (* (- (tan (+ x eps)) (tan x)) (cos x)) (cos eps)) (sin eps))"
:precision binary64
(/ (* (* (- (tan (+ x eps)) (tan x)) (cos x)) (cos eps)) (sin eps)))