\sqrt{x \cdot y - z \cdot z} - z\sqrt{x \cdot y - z \cdot z} - zdouble code(double x, double y, double z) {
return ((double) (((double) sqrt(((double) (((double) (x * y)) - ((double) (z * z)))))) - z));
}
double code(double x, double y, double z) {
return ((double) (((double) sqrt(((double) (((double) (x * y)) - ((double) (z * z)))))) - z));
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 15.7
Final simplification15.7
herbie shell --seed 2020152
(FPCore (x y z)
:name "(- (sqrt (- (* x y) (* z z))) z)"
:precision binary64
(- (sqrt (- (* x y) (* z z))) z))