x - \frac{y}{1 + \frac{x \cdot y}{2}}x - \frac{1}{\frac{1 + \frac{x \cdot y}{2}}{y}}double code(double x, double y) {
return (x - (y / (1.0 + ((x * y) / 2.0))));
}
double code(double x, double y) {
return (x - (1.0 / ((1.0 + ((x * y) / 2.0)) / y)));
}



Bits error versus x



Bits error versus y
Results
Initial program 0.0
rmApplied clear-num0.1
Final simplification0.1
herbie shell --seed 2020105 +o rules:numerics
(FPCore (x y)
:name "Data.Number.Erf:$cinvnormcdf from erf-2.0.0.0, B"
:precision binary64
(- x (/ y (+ 1 (/ (* x y) 2)))))