Average Error: 0.0 → 0.0
Time: 10.3s
Precision: 64
\[x - \frac{y}{1.0 + \frac{x \cdot y}{2.0}}\]
\[x - \frac{y}{\frac{x \cdot y}{2.0} + 1.0}\]
x - \frac{y}{1.0 + \frac{x \cdot y}{2.0}}
x - \frac{y}{\frac{x \cdot y}{2.0} + 1.0}
double f(double x, double y) {
        double r11015740 = x;
        double r11015741 = y;
        double r11015742 = 1.0;
        double r11015743 = r11015740 * r11015741;
        double r11015744 = 2.0;
        double r11015745 = r11015743 / r11015744;
        double r11015746 = r11015742 + r11015745;
        double r11015747 = r11015741 / r11015746;
        double r11015748 = r11015740 - r11015747;
        return r11015748;
}

double f(double x, double y) {
        double r11015749 = x;
        double r11015750 = y;
        double r11015751 = r11015749 * r11015750;
        double r11015752 = 2.0;
        double r11015753 = r11015751 / r11015752;
        double r11015754 = 1.0;
        double r11015755 = r11015753 + r11015754;
        double r11015756 = r11015750 / r11015755;
        double r11015757 = r11015749 - r11015756;
        return r11015757;
}

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.0 + \frac{x \cdot y}{2.0}}\]
  2. Final simplification0.0

    \[\leadsto x - \frac{y}{\frac{x \cdot y}{2.0} + 1.0}\]

Reproduce

herbie shell --seed 2019168 
(FPCore (x y)
  :name "Data.Number.Erf:$cinvnormcdf from erf-2.0.0.0, B"
  (- x (/ y (+ 1.0 (/ (* x y) 2.0)))))