Average Error: 0.4 → 0.5
Time: 4.0s
Precision: 64
\[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\]
\[\left(3 \cdot y\right) \cdot \sqrt{x} + 3 \cdot \left(\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{x} \cdot \frac{\sqrt[3]{1}}{9} - 1\right) \cdot \sqrt{x}\right)\]
\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)
\left(3 \cdot y\right) \cdot \sqrt{x} + 3 \cdot \left(\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{x} \cdot \frac{\sqrt[3]{1}}{9} - 1\right) \cdot \sqrt{x}\right)
double f(double x, double y) {
        double r398428 = 3.0;
        double r398429 = x;
        double r398430 = sqrt(r398429);
        double r398431 = r398428 * r398430;
        double r398432 = y;
        double r398433 = 1.0;
        double r398434 = 9.0;
        double r398435 = r398429 * r398434;
        double r398436 = r398433 / r398435;
        double r398437 = r398432 + r398436;
        double r398438 = r398437 - r398433;
        double r398439 = r398431 * r398438;
        return r398439;
}

double f(double x, double y) {
        double r398440 = 3.0;
        double r398441 = y;
        double r398442 = r398440 * r398441;
        double r398443 = x;
        double r398444 = sqrt(r398443);
        double r398445 = r398442 * r398444;
        double r398446 = 1.0;
        double r398447 = cbrt(r398446);
        double r398448 = r398447 * r398447;
        double r398449 = r398448 / r398443;
        double r398450 = 9.0;
        double r398451 = r398447 / r398450;
        double r398452 = r398449 * r398451;
        double r398453 = r398452 - r398446;
        double r398454 = r398453 * r398444;
        double r398455 = r398440 * r398454;
        double r398456 = r398445 + r398455;
        return r398456;
}

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-*l*0.4

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

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

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

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

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

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

    \[\leadsto \color{blue}{\left(3 \cdot y\right) \cdot \sqrt{x}} + 3 \cdot \left(\left(\frac{1}{x \cdot 9} - 1\right) \cdot \sqrt{x}\right)\]
  12. Using strategy rm
  13. Applied add-cube-cbrt0.4

    \[\leadsto \left(3 \cdot y\right) \cdot \sqrt{x} + 3 \cdot \left(\left(\frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{x \cdot 9} - 1\right) \cdot \sqrt{x}\right)\]
  14. Applied times-frac0.5

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

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

Reproduce

herbie shell --seed 2019354 
(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)))