Average Error: 0.0 → 0.0
Time: 2.8s
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 r203830 = x;
        double r203831 = y;
        double r203832 = 1.0;
        double r203833 = r203830 * r203831;
        double r203834 = 2.0;
        double r203835 = r203833 / r203834;
        double r203836 = r203832 + r203835;
        double r203837 = r203831 / r203836;
        double r203838 = r203830 - r203837;
        return r203838;
}

double f(double x, double y) {
        double r203839 = x;
        double r203840 = y;
        double r203841 = 1.0;
        double r203842 = r203839 * r203840;
        double r203843 = 2.0;
        double r203844 = r203842 / r203843;
        double r203845 = r203841 + r203844;
        double r203846 = r203840 / r203845;
        double r203847 = r203839 - r203846;
        return r203847;
}

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