\cos \left(\left(2 \cdot z\right) \cdot \left(\sqrt{\left({x}^{2} + {y}^{2}\right) + {z}^{2}} - z\right)\right)\cos \left(\left(2 \cdot z\right) \cdot \left(\sqrt{\left({x}^{2} + {y}^{2}\right) + {z}^{2}} - z\right)\right)double code(double z, double x, double y) {
return ((double) cos(((double) (((double) (2.0 * z)) * ((double) (((double) sqrt(((double) (((double) (((double) pow(x, 2.0)) + ((double) pow(y, 2.0)))) + ((double) pow(z, 2.0)))))) - z))))));
}
double code(double z, double x, double y) {
return ((double) cos(((double) (((double) (2.0 * z)) * ((double) (((double) sqrt(((double) (((double) (((double) pow(x, 2.0)) + ((double) pow(y, 2.0)))) + ((double) pow(z, 2.0)))))) - z))))));
}



Bits error versus z



Bits error versus x



Bits error versus y
Results
Initial program 45.5
Final simplification45.5
herbie shell --seed 2020152
(FPCore (z x y)
:name "(cos (* (* 2 z) (- (sqrt (+ (+ (pow x 2) (pow y 2)) (pow z 2))) z)))"
:precision binary64
(cos (* (* 2.0 z) (- (sqrt (+ (+ (pow x 2.0) (pow y 2.0)) (pow z 2.0))) z))))