double code(double x) {
return ((double) (((double) sqrt(((double) (x - 1.0)))) * ((double) sqrt(x))));
}
double code(double x) {
return ((double) (x - ((double) (0.5 + ((double) (0.125 / x))))));
}



Bits error versus x
Results
Initial program 0.5
Taylor expanded around inf 0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2020191
(FPCore (x)
:name "sqrt times"
:precision binary64
(* (sqrt (- x 1.0)) (sqrt x)))