Average Error: 37.7 → 37.7
Time: 7.2s
Precision: binary64
\[\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}\]
\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))));
}

Error

Bits error versus x

Bits error versus eps

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 37.7

    \[\frac{\left(\left(\tan \left(x + \varepsilon\right) - \tan x\right) \cdot \cos x\right) \cdot \cos \varepsilon}{\sin \varepsilon}\]
  2. Final simplification37.7

    \[\leadsto \frac{\left(\left(\tan \left(x + \varepsilon\right) - \tan x\right) \cdot \cos x\right) \cdot \cos \varepsilon}{\sin \varepsilon}\]

Reproduce

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)))