\sqrt{\left({\left(x1 - x2\right)}^{2} + {\left(y1 - y2\right)}^{2}\right) + {\left(z1 - z2\right)}^{2}}\sqrt{\left({\left(x1 - x2\right)}^{2} + {\left(y1 - y2\right)}^{2}\right) + {\left(z1 - z2\right)}^{2}}double code(double x1, double x2, double y1, double y2, double z1, double z2) {
return ((double) sqrt(((double) (((double) (((double) pow(((double) (x1 - x2)), 2.0)) + ((double) pow(((double) (y1 - y2)), 2.0)))) + ((double) pow(((double) (z1 - z2)), 2.0))))));
}
double code(double x1, double x2, double y1, double y2, double z1, double z2) {
return ((double) sqrt(((double) (((double) (((double) pow(((double) (x1 - x2)), 2.0)) + ((double) pow(((double) (y1 - y2)), 2.0)))) + ((double) pow(((double) (z1 - z2)), 2.0))))));
}



Bits error versus x1



Bits error versus x2



Bits error versus y1



Bits error versus y2



Bits error versus z1



Bits error versus z2
Results
Initial program 52.6
Final simplification52.6
herbie shell --seed 2020152
(FPCore (x1 x2 y1 y2 z1 z2)
:name "(sqrt (+ (+ (pow (- x1 x2) 2) (pow (- y1 y2) 2)) (pow (- z1 z2) 2)))"
:precision binary64
(sqrt (+ (+ (pow (- x1 x2) 2.0) (pow (- y1 y2) 2.0)) (pow (- z1 z2) 2.0))))