Average Error: 0.0 → 0.0
Time: 2.3s
Precision: 64
\[x - \frac{y}{1 + \frac{x \cdot y}{2}}\]
\[x - \frac{y}{1 + \frac{x \cdot y}{2}}\]
x - \frac{y}{1 + \frac{x \cdot y}{2}}
x - \frac{y}{1 + \frac{x \cdot y}{2}}
double f(double x, double y) {
        double r272920 = x;
        double r272921 = y;
        double r272922 = 1.0;
        double r272923 = r272920 * r272921;
        double r272924 = 2.0;
        double r272925 = r272923 / r272924;
        double r272926 = r272922 + r272925;
        double r272927 = r272921 / r272926;
        double r272928 = r272920 - r272927;
        return r272928;
}

double f(double x, double y) {
        double r272929 = x;
        double r272930 = y;
        double r272931 = 1.0;
        double r272932 = r272929 * r272930;
        double r272933 = 2.0;
        double r272934 = r272932 / r272933;
        double r272935 = r272931 + r272934;
        double r272936 = r272930 / r272935;
        double r272937 = r272929 - r272936;
        return r272937;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[x - \frac{y}{1 + \frac{x \cdot y}{2}}\]
  2. Final simplification0.0

    \[\leadsto x - \frac{y}{1 + \frac{x \cdot y}{2}}\]

Reproduce

herbie shell --seed 2020089 
(FPCore (x y)
  :name "Data.Number.Erf:$cinvnormcdf from erf-2.0.0.0, B"
  :precision binary64
  (- x (/ y (+ 1 (/ (* x y) 2)))))