\left(1 + \frac{z \cdot z}{x \cdot x}\right) - b \cdot b\left(1 + \frac{z \cdot z}{x \cdot x}\right) - b \cdot bdouble code(double z, double x, double b) {
return ((double) (((double) (1.0 + ((double) (((double) (z * z)) / ((double) (x * x)))))) - ((double) (b * b))));
}
double code(double z, double x, double b) {
return ((double) (((double) (1.0 + ((double) (((double) (z * z)) / ((double) (x * x)))))) - ((double) (b * b))));
}



Bits error versus z



Bits error versus x



Bits error versus b
Results
Initial program 16.1
Final simplification16.1
herbie shell --seed 2020152
(FPCore (z x b)
:name "(- (+ 1 (/ (* z z) (* x x))) (* b b))"
:precision binary64
(- (+ 1.0 (/ (* z z) (* x x))) (* b b)))