Average Error: 0.0 → 0.0
Time: 2.1s
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 r233874 = x;
        double r233875 = y;
        double r233876 = 1.0;
        double r233877 = r233874 * r233875;
        double r233878 = 2.0;
        double r233879 = r233877 / r233878;
        double r233880 = r233876 + r233879;
        double r233881 = r233875 / r233880;
        double r233882 = r233874 - r233881;
        return r233882;
}

double f(double x, double y) {
        double r233883 = x;
        double r233884 = y;
        double r233885 = 1.0;
        double r233886 = r233883 * r233884;
        double r233887 = 2.0;
        double r233888 = r233886 / r233887;
        double r233889 = r233885 + r233888;
        double r233890 = r233884 / r233889;
        double r233891 = r233883 - r233890;
        return r233891;
}

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 2020024 +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)))))