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 ((double) (x - ((double) (y / ((double) (1.0 + ((double) (((double) (x * y)) / 2.0))))))));
}
double code(double x, double y) {
return ((double) (x - ((double) (1.0 / ((double) (((double) (1.0 + ((double) (((double) (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 2020150
(FPCore (x y)
:name "Data.Number.Erf:$cinvnormcdf from erf-2.0.0.0, B"
:precision binary64
(- x (/ y (+ 1.0 (/ (* x y) 2.0)))))