\sqrt{x - 1} \cdot \sqrt{x}x - \mathsf{fma}\left(0.125, \frac{1}{x}, 0.5\right)double code(double x) {
return (sqrt((x - 1.0)) * sqrt(x));
}
double code(double x) {
return (x - fma(0.125, (1.0 / x), 0.5));
}



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