Average Error: 30.2 → 0
Time: 6.2s
Precision: binary64
\[\frac{\left(\frac{\sin \left(\left(\varepsilon + x\right) - \varepsilon\right)}{\cos x \cdot \cos \varepsilon} \cdot \cos x\right) \cdot \cos \varepsilon}{\sin x}\]
\[1\]
\frac{\left(\frac{\sin \left(\left(\varepsilon + x\right) - \varepsilon\right)}{\cos x \cdot \cos \varepsilon} \cdot \cos x\right) \cdot \cos \varepsilon}{\sin x}
1
double code(double eps, double x) {
	return ((double) (((double) (((double) (((double) (((double) sin(((double) (((double) (eps + x)) - eps)))) / ((double) (((double) cos(x)) * ((double) cos(eps)))))) * ((double) cos(x)))) * ((double) cos(eps)))) / ((double) sin(x))));
}
double code(double eps, double x) {
	return 1.0;
}

Error

Bits error versus eps

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 30.2

    \[\frac{\left(\frac{\sin \left(\left(\varepsilon + x\right) - \varepsilon\right)}{\cos x \cdot \cos \varepsilon} \cdot \cos x\right) \cdot \cos \varepsilon}{\sin x}\]
  2. Simplified0

    \[\leadsto \color{blue}{1}\]
  3. Final simplification0

    \[\leadsto 1\]

Reproduce

herbie shell --seed 2020153 
(FPCore (eps x)
  :name "(/ (* (* (/ (sin (- (+ eps x) eps)) (* (cos x) (cos eps))) (cos x)) (cos eps)) (sin x))"
  :precision binary64
  (/ (* (* (/ (sin (- (+ eps x) eps)) (* (cos x) (cos eps))) (cos x)) (cos eps)) (sin x)))