Average Error: 31.8 → 31.8
Time: 694.0ms
Precision: binary64
\[\sqrt{x1 \cdot x1 + x2 \cdot x2}\]
\[\sqrt{x1 \cdot x1 + x2 \cdot x2}\]
\sqrt{x1 \cdot x1 + x2 \cdot x2}
\sqrt{x1 \cdot x1 + x2 \cdot x2}
double code(double x1, double x2) {
	return ((double) sqrt(((double) (((double) (x1 * x1)) + ((double) (x2 * x2))))));
}
double code(double x1, double x2) {
	return ((double) sqrt(((double) (((double) (x1 * x1)) + ((double) (x2 * x2))))));
}

Error

Bits error versus x1

Bits error versus x2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 31.8

    \[\sqrt{x1 \cdot x1 + x2 \cdot x2}\]
  2. Final simplification31.8

    \[\leadsto \sqrt{x1 \cdot x1 + x2 \cdot x2}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (x1 x2)
  :name "(sqrt (+ (* x1 x1) (* x2 x2)))"
  :precision binary64
  (sqrt (+ (* x1 x1) (* x2 x2))))