x - \frac{y}{1 + \frac{x \cdot y}{2}}\begin{array}{l}
\mathbf{if}\;y \le -1.0316187449465748 \cdot 10^{92} \lor \neg \left(y \le 1.21058365266928917 \cdot 10^{131}\right):\\
\;\;\;\;\left(x - \frac{y}{1 \cdot 1 - \frac{x \cdot y}{2} \cdot \frac{x \cdot y}{2}} \cdot 1\right) - \frac{2}{x}\\
\mathbf{else}:\\
\;\;\;\;\left(x - \frac{y}{1 \cdot 1 - \frac{x \cdot y}{2} \cdot \frac{x \cdot y}{2}} \cdot 1\right) - \frac{\left(-x \cdot y\right) \cdot y}{2 \cdot \left(1 \cdot 1 - \frac{x \cdot y}{2} \cdot \frac{x \cdot y}{2}\right)}\\
\end{array}double f(double x, double y) {
double r233423 = x;
double r233424 = y;
double r233425 = 1.0;
double r233426 = r233423 * r233424;
double r233427 = 2.0;
double r233428 = r233426 / r233427;
double r233429 = r233425 + r233428;
double r233430 = r233424 / r233429;
double r233431 = r233423 - r233430;
return r233431;
}
double f(double x, double y) {
double r233432 = y;
double r233433 = -1.0316187449465748e+92;
bool r233434 = r233432 <= r233433;
double r233435 = 1.2105836526692892e+131;
bool r233436 = r233432 <= r233435;
double r233437 = !r233436;
bool r233438 = r233434 || r233437;
double r233439 = x;
double r233440 = 1.0;
double r233441 = r233440 * r233440;
double r233442 = r233439 * r233432;
double r233443 = 2.0;
double r233444 = r233442 / r233443;
double r233445 = r233444 * r233444;
double r233446 = r233441 - r233445;
double r233447 = r233432 / r233446;
double r233448 = r233447 * r233440;
double r233449 = r233439 - r233448;
double r233450 = r233443 / r233439;
double r233451 = r233449 - r233450;
double r233452 = -r233442;
double r233453 = r233452 * r233432;
double r233454 = r233443 * r233446;
double r233455 = r233453 / r233454;
double r233456 = r233449 - r233455;
double r233457 = r233438 ? r233451 : r233456;
return r233457;
}



Bits error versus x



Bits error versus y
Results
if y < -1.0316187449465748e+92 or 1.2105836526692892e+131 < y Initial program 0.1
rmApplied flip-+27.4
Applied associate-/r/27.5
rmApplied sub-neg27.5
Applied distribute-rgt-in27.4
Applied associate--r+27.4
Simplified27.4
Taylor expanded around inf 10.4
if -1.0316187449465748e+92 < y < 1.2105836526692892e+131Initial program 0.0
rmApplied flip-+1.8
Applied associate-/r/1.8
rmApplied sub-neg1.8
Applied distribute-rgt-in1.8
Applied associate--r+1.8
Simplified1.8
rmApplied distribute-neg-frac1.8
Applied frac-times3.2
Final simplification5.4
herbie shell --seed 2020045
(FPCore (x y)
:name "Data.Number.Erf:$cinvnormcdf from erf-2.0.0.0, B"
:precision binary64
(- x (/ y (+ 1 (/ (* x y) 2)))))