Average Error: 20.2 → 0.2
Time: 12.4s
Precision: 64
\[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}\]
\[\frac{\frac{x \cdot \frac{1}{y + x}}{y + x} \cdot y}{\left(x + y\right) + 1}\]
\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}
\frac{\frac{x \cdot \frac{1}{y + x}}{y + x} \cdot y}{\left(x + y\right) + 1}
double f(double x, double y) {
        double r373315 = x;
        double r373316 = y;
        double r373317 = r373315 * r373316;
        double r373318 = r373315 + r373316;
        double r373319 = r373318 * r373318;
        double r373320 = 1.0;
        double r373321 = r373318 + r373320;
        double r373322 = r373319 * r373321;
        double r373323 = r373317 / r373322;
        return r373323;
}

double f(double x, double y) {
        double r373324 = x;
        double r373325 = 1.0;
        double r373326 = y;
        double r373327 = r373326 + r373324;
        double r373328 = r373325 / r373327;
        double r373329 = r373324 * r373328;
        double r373330 = r373329 / r373327;
        double r373331 = r373330 * r373326;
        double r373332 = r373324 + r373326;
        double r373333 = 1.0;
        double r373334 = r373332 + r373333;
        double r373335 = r373331 / r373334;
        return r373335;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original20.2
Target0.1
Herbie0.2
\[\frac{\frac{\frac{x}{\left(y + 1\right) + x}}{y + x}}{\frac{1}{\frac{y}{y + x}}}\]

Derivation

  1. Initial program 20.2

    \[\frac{x \cdot y}{\left(\left(x + y\right) \cdot \left(x + y\right)\right) \cdot \left(\left(x + y\right) + 1\right)}\]
  2. Using strategy rm
  3. Applied times-frac7.8

    \[\leadsto \color{blue}{\frac{x}{\left(x + y\right) \cdot \left(x + y\right)} \cdot \frac{y}{\left(x + y\right) + 1}}\]
  4. Using strategy rm
  5. Applied *-un-lft-identity7.8

    \[\leadsto \frac{x}{\left(x + y\right) \cdot \left(x + y\right)} \cdot \frac{y}{\color{blue}{1 \cdot \left(\left(x + y\right) + 1\right)}}\]
  6. Applied *-un-lft-identity7.8

    \[\leadsto \frac{x}{\left(x + y\right) \cdot \left(x + y\right)} \cdot \frac{\color{blue}{1 \cdot y}}{1 \cdot \left(\left(x + y\right) + 1\right)}\]
  7. Applied times-frac7.8

    \[\leadsto \frac{x}{\left(x + y\right) \cdot \left(x + y\right)} \cdot \color{blue}{\left(\frac{1}{1} \cdot \frac{y}{\left(x + y\right) + 1}\right)}\]
  8. Applied associate-*r*7.8

    \[\leadsto \color{blue}{\left(\frac{x}{\left(x + y\right) \cdot \left(x + y\right)} \cdot \frac{1}{1}\right) \cdot \frac{y}{\left(x + y\right) + 1}}\]
  9. Simplified0.2

    \[\leadsto \color{blue}{\frac{\frac{x}{y + x}}{y + x}} \cdot \frac{y}{\left(x + y\right) + 1}\]
  10. Using strategy rm
  11. Applied associate-*r/0.2

    \[\leadsto \color{blue}{\frac{\frac{\frac{x}{y + x}}{y + x} \cdot y}{\left(x + y\right) + 1}}\]
  12. Using strategy rm
  13. Applied div-inv0.2

    \[\leadsto \frac{\frac{\color{blue}{x \cdot \frac{1}{y + x}}}{y + x} \cdot y}{\left(x + y\right) + 1}\]
  14. Final simplification0.2

    \[\leadsto \frac{\frac{x \cdot \frac{1}{y + x}}{y + x} \cdot y}{\left(x + y\right) + 1}\]

Reproduce

herbie shell --seed 2019209 +o rules:numerics
(FPCore (x y)
  :name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, A"
  :precision binary64

  :herbie-target
  (/ (/ (/ x (+ (+ y 1) x)) (+ y x)) (/ 1 (/ y (+ y x))))

  (/ (* x y) (* (* (+ x y) (+ x y)) (+ (+ x y) 1))))