\cos \left(\frac{n + \sqrt{{n}^{2} - {d}^{2}}}{\sqrt{2 \cdot \left(n + \sqrt{{n}^{2} - {d}^{2}}\right)}}\right)\cos \left(\frac{n + \sqrt{{n}^{2} - {d}^{2}}}{\sqrt{2 \cdot \left(n + \sqrt{{n}^{2} - {d}^{2}}\right)}}\right)double code(double n, double d) {
return ((double) cos(((double) (((double) (n + ((double) sqrt(((double) (((double) pow(n, 2.0)) - ((double) pow(d, 2.0)))))))) / ((double) sqrt(((double) (2.0 * ((double) (n + ((double) sqrt(((double) (((double) pow(n, 2.0)) - ((double) pow(d, 2.0))))))))))))))));
}
double code(double n, double d) {
return ((double) cos(((double) (((double) (n + ((double) sqrt(((double) (((double) pow(n, 2.0)) - ((double) pow(d, 2.0)))))))) / ((double) sqrt(((double) (2.0 * ((double) (n + ((double) sqrt(((double) (((double) pow(n, 2.0)) - ((double) pow(d, 2.0))))))))))))))));
}



Bits error versus n



Bits error versus d
Results
Initial program 44.5
Final simplification44.5
herbie shell --seed 2020152
(FPCore (n d)
:name "(cos (/ (+ n (sqrt (- (pow n 2) (pow d 2)))) (sqrt (* 2 (+ n (sqrt (- (pow n 2) (pow d 2))))))))"
:precision binary64
(cos (/ (+ n (sqrt (- (pow n 2.0) (pow d 2.0)))) (sqrt (* 2.0 (+ n (sqrt (- (pow n 2.0) (pow d 2.0)))))))))