x - \frac{y}{1 + \frac{x \cdot y}{2}}x - \frac{1}{\frac{1}{y} + x \cdot 0.5}(FPCore (x y) :precision binary64 (- x (/ y (+ 1.0 (/ (* x y) 2.0)))))
(FPCore (x y) :precision binary64 (- x (/ 1.0 (+ (/ 1.0 y) (* x 0.5)))))
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 / y) + (x * 0.5)));
}



Bits error versus x



Bits error versus y
Results
Initial program 0.0
rmApplied clear-num_binary640.1
Simplified0.1
Taylor expanded around 0 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020232
(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)))))