\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))))));
}



Bits error versus vect0



Bits error versus vect1



Bits error versus vect2



Bits error versus vec2
Results
Initial program 35.1
Final simplification35.1
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))))