Average Error: 0.1 → 0.1
Time: 10.5s
Precision: 64
\[\left(1 - x\right) + y \cdot \sqrt{x}\]
\[1 - \left(x - y \cdot \sqrt{x}\right)\]
\left(1 - x\right) + y \cdot \sqrt{x}
1 - \left(x - y \cdot \sqrt{x}\right)
double f(double x, double y) {
        double r85747 = 1.0;
        double r85748 = x;
        double r85749 = r85747 - r85748;
        double r85750 = y;
        double r85751 = sqrt(r85748);
        double r85752 = r85750 * r85751;
        double r85753 = r85749 + r85752;
        return r85753;
}

double f(double x, double y) {
        double r85754 = 1.0;
        double r85755 = x;
        double r85756 = y;
        double r85757 = sqrt(r85755);
        double r85758 = r85756 * r85757;
        double r85759 = r85755 - r85758;
        double r85760 = r85754 - r85759;
        return r85760;
}

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.1

    \[\left(1 - x\right) + y \cdot \sqrt{x}\]
  2. Using strategy rm
  3. Applied associate-+l-0.1

    \[\leadsto \color{blue}{1 - \left(x - y \cdot \sqrt{x}\right)}\]
  4. Final simplification0.1

    \[\leadsto 1 - \left(x - y \cdot \sqrt{x}\right)\]

Reproduce

herbie shell --seed 2019351 +o rules:numerics
(FPCore (x y)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, E"
  :precision binary64
  (+ (- 1 x) (* y (sqrt x))))