Average Error: 4.8 → 4.8
Time: 1.9s
Precision: binary64
\[\sqrt{\frac{e^{2 \cdot \varepsilon} - 1}{e^{\varepsilon} - 1}}\]
\[\sqrt{\frac{e^{2 \cdot \varepsilon} - 1}{e^{\varepsilon} - 1}}\]
\sqrt{\frac{e^{2 \cdot \varepsilon} - 1}{e^{\varepsilon} - 1}}
\sqrt{\frac{e^{2 \cdot \varepsilon} - 1}{e^{\varepsilon} - 1}}
double code(double eps) {
	return ((double) sqrt(((double) (((double) (((double) exp(((double) (2.0 * eps)))) - 1.0)) / ((double) (((double) exp(eps)) - 1.0))))));
}
double code(double eps) {
	return ((double) sqrt(((double) (((double) (((double) exp(((double) (2.0 * eps)))) - 1.0)) / ((double) (((double) exp(eps)) - 1.0))))));
}

Error

Bits error versus eps

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 4.8

    \[\sqrt{\frac{e^{2 \cdot \varepsilon} - 1}{e^{\varepsilon} - 1}}\]
  2. Final simplification4.8

    \[\leadsto \sqrt{\frac{e^{2 \cdot \varepsilon} - 1}{e^{\varepsilon} - 1}}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (eps)
  :name "(sqrt (/ (- (exp (* 2 eps)) 1) (- (exp eps) 1)))"
  :precision binary64
  (sqrt (/ (- (exp (* 2.0 eps)) 1.0) (- (exp eps) 1.0))))