\left(vect0 \cdot vect0 + vect1 \cdot vect1\right) + vect2 \cdot vec2
\left(vect0 \cdot vect0 + vect1 \cdot vect1\right) + vect2 \cdot vec2
double code(double vect0, double vect1, double vect2, double vec2) {
return ((double) (((double) (((double) (vect0 * vect0)) + ((double) (vect1 * vect1)))) + ((double) (vect2 * vec2))));
}
double code(double vect0, double vect1, double vect2, double vec2) {
return ((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 0.0
Final simplification0.0
herbie shell --seed 2020153
(FPCore (vect0 vect1 vect2 vec2)
:name "(+ (+ (* vect0 vect0) (* vect1 vect1)) (* vect2 vec2))"
:precision binary64
(+ (+ (* vect0 vect0) (* vect1 vect1)) (* vect2 vec2)))