Average Error: 0.0 → 0.0
Time: 1.2s
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 r235660 = x;
        double r235661 = y;
        double r235662 = 1.0;
        double r235663 = r235660 * r235661;
        double r235664 = 2.0;
        double r235665 = r235663 / r235664;
        double r235666 = r235662 + r235665;
        double r235667 = r235661 / r235666;
        double r235668 = r235660 - r235667;
        return r235668;
}

double f(double x, double y) {
        double r235669 = x;
        double r235670 = y;
        double r235671 = 1.0;
        double r235672 = r235669 * r235670;
        double r235673 = 2.0;
        double r235674 = r235672 / r235673;
        double r235675 = r235671 + r235674;
        double r235676 = r235670 / r235675;
        double r235677 = r235669 - r235676;
        return r235677;
}

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