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

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 38.0

    \[\sqrt{{\left(x + \varepsilon\right)}^{2} + {\left(y + \varepsilon\right)}^{2}}\]
  2. Final simplification38.0

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

Reproduce

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