\sqrt{\left(vect0 \cdot vect0 + vect1 \cdot vect1\right) + vect2 \cdot vect2}\sqrt{\left(vect0 \cdot vect0 + vect1 \cdot vect1\right) + vect2 \cdot vect2}double code(double vect0, double vect1, double vect2) {
return ((double) sqrt(((double) (((double) (((double) (vect0 * vect0)) + ((double) (vect1 * vect1)))) + ((double) (vect2 * vect2))))));
}
double code(double vect0, double vect1, double vect2) {
return ((double) sqrt(((double) (((double) (((double) (vect0 * vect0)) + ((double) (vect1 * vect1)))) + ((double) (vect2 * vect2))))));
}



Bits error versus vect0



Bits error versus vect1



Bits error versus vect2
Results
Initial program 37.9
Final simplification37.9
herbie shell --seed 2020152
(FPCore (vect0 vect1 vect2)
:name "(sqrt (+ (+ (* vect0 vect0) (* vect1 vect1)) (* vect2 vect2)))"
:precision binary64
(sqrt (+ (+ (* vect0 vect0) (* vect1 vect1)) (* vect2 vect2))))