Average Error: 35.1 → 35.1
Time: 1.1s
Precision: binary64
\[\sqrt{\left(vect0 \cdot vect0 + vect1 \cdot vect1\right) + vect2 \cdot vec2}\]
\[\sqrt{\left(vect0 \cdot vect0 + vect1 \cdot vect1\right) + vect2 \cdot vec2}\]
\sqrt{\left(vect0 \cdot vect0 + vect1 \cdot vect1\right) + vect2 \cdot vec2}
\sqrt{\left(vect0 \cdot vect0 + vect1 \cdot vect1\right) + vect2 \cdot vec2}
double code(double vect0, double vect1, double vect2, double vec2) {
	return ((double) sqrt(((double) (((double) (((double) (vect0 * vect0)) + ((double) (vect1 * vect1)))) + ((double) (vect2 * vec2))))));
}
double code(double vect0, double vect1, double vect2, double vec2) {
	return ((double) sqrt(((double) (((double) (((double) (vect0 * vect0)) + ((double) (vect1 * vect1)))) + ((double) (vect2 * vec2))))));
}

Error

Bits error versus vect0

Bits error versus vect1

Bits error versus vect2

Bits error versus vec2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 35.1

    \[\sqrt{\left(vect0 \cdot vect0 + vect1 \cdot vect1\right) + vect2 \cdot vec2}\]
  2. Final simplification35.1

    \[\leadsto \sqrt{\left(vect0 \cdot vect0 + vect1 \cdot vect1\right) + vect2 \cdot vec2}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (vect0 vect1 vect2 vec2)
  :name "(sqrt (+ (+ (* vect0 vect0) (* vect1 vect1)) (* vect2 vec2)))"
  :precision binary64
  (sqrt (+ (+ (* vect0 vect0) (* vect1 vect1)) (* vect2 vec2))))