Average Error: 35.5 → 35.5
Time: 1.2s
Precision: binary64
\[\sqrt{\frac{1}{{\left(x + \varepsilon\right)}^{2} + y \cdot y}}\]
\[\sqrt{\frac{1}{{\left(x + \varepsilon\right)}^{2} + y \cdot y}}\]
\sqrt{\frac{1}{{\left(x + \varepsilon\right)}^{2} + y \cdot y}}
\sqrt{\frac{1}{{\left(x + \varepsilon\right)}^{2} + y \cdot y}}
double code(double x, double eps, double y) {
	return ((double) sqrt(((double) (1.0 / ((double) (((double) pow(((double) (x + eps)), 2.0)) + ((double) (y * y))))))));
}
double code(double x, double eps, double y) {
	return ((double) sqrt(((double) (1.0 / ((double) (((double) pow(((double) (x + eps)), 2.0)) + ((double) (y * y))))))));
}

Error

Bits error versus x

Bits error versus eps

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 35.5

    \[\sqrt{\frac{1}{{\left(x + \varepsilon\right)}^{2} + y \cdot y}}\]
  2. Final simplification35.5

    \[\leadsto \sqrt{\frac{1}{{\left(x + \varepsilon\right)}^{2} + y \cdot y}}\]

Reproduce

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