double code(double x) {
return ((double) sqrt(((double) (((double) (2.0 * x)) * x))));
}
double code(double x) {
return ((double) (((double) (((double) sqrt(((double) sqrt(2.0)))) * ((double) sqrt(((double) fabs(((double) (((double) sqrt(2.0)) * x)))))))) * ((double) sqrt(((double) fabs(x))))));
}



Bits error versus x
Results
Initial program 30.4
rmApplied add-sqr-sqrt30.7
Simplified30.7
Simplified30.7
rmApplied sqrt-prod30.7
Applied sqrt-prod30.6
Applied associate-*l*30.6
Simplified0.4
rmApplied associate-*r*0.5
Final simplification0.5
herbie shell --seed 2020191
(FPCore (x)
:name "sqrt B"
:precision binary64
(sqrt (* (* 2.0 x) x)))