Average Error: 0.4 → 0.5
Time: 24.5s
Precision: 64
\[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\]
\[3 \cdot \left(\sqrt{x} \cdot \left(y + \sqrt{\frac{\frac{1}{x}}{9}} \cdot \sqrt{\frac{\frac{1}{x}}{9}}\right)\right) + \left(-1\right) \cdot \left(3 \cdot \sqrt{x}\right)\]
\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)
3 \cdot \left(\sqrt{x} \cdot \left(y + \sqrt{\frac{\frac{1}{x}}{9}} \cdot \sqrt{\frac{\frac{1}{x}}{9}}\right)\right) + \left(-1\right) \cdot \left(3 \cdot \sqrt{x}\right)
double f(double x, double y) {
        double r277367 = 3.0;
        double r277368 = x;
        double r277369 = sqrt(r277368);
        double r277370 = r277367 * r277369;
        double r277371 = y;
        double r277372 = 1.0;
        double r277373 = 9.0;
        double r277374 = r277368 * r277373;
        double r277375 = r277372 / r277374;
        double r277376 = r277371 + r277375;
        double r277377 = r277376 - r277372;
        double r277378 = r277370 * r277377;
        return r277378;
}

double f(double x, double y) {
        double r277379 = 3.0;
        double r277380 = x;
        double r277381 = sqrt(r277380);
        double r277382 = y;
        double r277383 = 1.0;
        double r277384 = r277383 / r277380;
        double r277385 = 9.0;
        double r277386 = r277384 / r277385;
        double r277387 = sqrt(r277386);
        double r277388 = r277387 * r277387;
        double r277389 = r277382 + r277388;
        double r277390 = r277381 * r277389;
        double r277391 = r277379 * r277390;
        double r277392 = -r277383;
        double r277393 = r277379 * r277381;
        double r277394 = r277392 * r277393;
        double r277395 = r277391 + r277394;
        return r277395;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.4
Target0.4
Herbie0.5
\[3 \cdot \left(y \cdot \sqrt{x} + \left(\frac{1}{x \cdot 9} - 1\right) \cdot \sqrt{x}\right)\]

Derivation

  1. Initial program 0.4

    \[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\]
  2. Using strategy rm
  3. Applied associate-/r*0.4

    \[\leadsto \left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \color{blue}{\frac{\frac{1}{x}}{9}}\right) - 1\right)\]
  4. Using strategy rm
  5. Applied sub-neg0.4

    \[\leadsto \left(3 \cdot \sqrt{x}\right) \cdot \color{blue}{\left(\left(y + \frac{\frac{1}{x}}{9}\right) + \left(-1\right)\right)}\]
  6. Applied distribute-lft-in0.4

    \[\leadsto \color{blue}{\left(3 \cdot \sqrt{x}\right) \cdot \left(y + \frac{\frac{1}{x}}{9}\right) + \left(3 \cdot \sqrt{x}\right) \cdot \left(-1\right)}\]
  7. Simplified0.4

    \[\leadsto \left(3 \cdot \sqrt{x}\right) \cdot \left(y + \frac{\frac{1}{x}}{9}\right) + \color{blue}{\left(-1\right) \cdot \left(3 \cdot \sqrt{x}\right)}\]
  8. Using strategy rm
  9. Applied associate-*l*0.4

    \[\leadsto \color{blue}{3 \cdot \left(\sqrt{x} \cdot \left(y + \frac{\frac{1}{x}}{9}\right)\right)} + \left(-1\right) \cdot \left(3 \cdot \sqrt{x}\right)\]
  10. Using strategy rm
  11. Applied add-sqr-sqrt0.5

    \[\leadsto 3 \cdot \left(\sqrt{x} \cdot \left(y + \color{blue}{\sqrt{\frac{\frac{1}{x}}{9}} \cdot \sqrt{\frac{\frac{1}{x}}{9}}}\right)\right) + \left(-1\right) \cdot \left(3 \cdot \sqrt{x}\right)\]
  12. Final simplification0.5

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

Reproduce

herbie shell --seed 2019326 
(FPCore (x y)
  :name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, B"
  :precision binary64

  :herbie-target
  (* 3 (+ (* y (sqrt x)) (* (- (/ 1 (* x 9)) 1) (sqrt x))))

  (* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)))