x - \frac{y}{1 + \frac{x \cdot y}{2}}x - \frac{1}{\mathsf{fma}\left(0.5, x, \frac{1}{y}\right)}double f(double x, double y) {
double r183170 = x;
double r183171 = y;
double r183172 = 1.0;
double r183173 = r183170 * r183171;
double r183174 = 2.0;
double r183175 = r183173 / r183174;
double r183176 = r183172 + r183175;
double r183177 = r183171 / r183176;
double r183178 = r183170 - r183177;
return r183178;
}
double f(double x, double y) {
double r183179 = x;
double r183180 = 1.0;
double r183181 = 0.5;
double r183182 = 1.0;
double r183183 = y;
double r183184 = r183182 / r183183;
double r183185 = fma(r183181, r183179, r183184);
double r183186 = r183180 / r183185;
double r183187 = r183179 - r183186;
return r183187;
}



Bits error versus x



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