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) (y / ((double) (1.0 + ((double) (((double) (x * y)) / 2.0))))))));
}



Bits error versus x



Bits error versus y
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020191
(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)))))